commit 59d0cf7f56583a632a6bd8100a1a1758213907aa Author: ulfgebhardt Date: Sat Jul 12 12:14:11 2025 +0000 Auto deploy from Github Actions diff --git a/404.html b/404.html new file mode 100644 index 0000000..2c0cf96 --- /dev/null +++ b/404.html @@ -0,0 +1,41 @@ + + + + + + + + + + IT4C + + + + + +
Zum Hauptinhalt springen
+ + + diff --git a/assets/404.html-CCj6fWw_.js b/assets/404.html-CCj6fWw_.js new file mode 100644 index 0000000..f78211c --- /dev/null +++ b/assets/404.html-CCj6fWw_.js @@ -0,0 +1 @@ +import{_ as e,c as o,a as n,o as a}from"./app-DFzJ4zlk.js";const r={};function l(s,t){return a(),o("div",null,t[0]||(t[0]=[n("p",null,"404 Not Found",-1)]))}const d=e(r,[["render",l]]),i=JSON.parse('{"path":"/404.html","title":"","lang":"de-DE","frontmatter":{"layout":"NotFound"},"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null,"excerpt":"

404 Not Found

\\n"}');export{d as comp,i as data}; diff --git a/assets/SearchResult-CEjH_gxA.js b/assets/SearchResult-CEjH_gxA.js new file mode 100644 index 0000000..8f291b9 --- /dev/null +++ b/assets/SearchResult-CEjH_gxA.js @@ -0,0 +1 @@ +import{g as N,u as X,h as z,i as Z,y as ee,t as se,j as le,k as D,l as x,m as l,n as te,p as ae,s as ie,R as $,q as re,v as ue,x as ne,z as oe,A as ce,B as F,C as T,P as me,D as ve,E as he,F as de,G as ye,H as pe,I as ge,J as fe,K as P,L as ke,M as w}from"./app-DFzJ4zlk.js";const He=["/historie.html","/impressum.html","/","/it4c.html","/kontakt.html","/projekte/democracy.app.html","/projekte/gradido.html","/projekte/ocelot.social.html","/projekte/utopia.map.html","/team/alexander-friedland.html","/team/hannes-heine.html","/team/mathias-lenz.html","/team/maximilian-harz.html","/team/moriz-wahl.html","/team/sebastian-stein.html","/team/ulf-gebhardt.html","/team/wolfgang-huss.html","/404.html","/projekte/","/team/"],Re="SLIMSEARCH_QUERY_HISTORY",p=P(Re,[]),xe=()=>{const{queryHistoryCount:a}=w;return{enabled:a>0,queryHistories:p,addQueryHistory:u=>{p.value=Array.from(new Set([u,...p.value.slice(0,a-1)]))},removeQueryHistory:u=>{p.value=[...p.value.slice(0,u),...p.value.slice(u+1)]}}},I=a=>He[a.id]+("anchor"in a?`#${a.anchor}`:""),we="SLIMSEARCH_RESULT_HISTORY",{resultHistoryCount:M}=w,g=P(we,[]),qe=()=>({enabled:M>0,resultHistories:g,addResultHistory:r=>{{const u={link:I(r),display:r.display};"header"in r&&(u.header=r.header),g.value=[u,...g.value.slice(0,M-1)]}},removeResultHistory:r=>{g.value=[...g.value.slice(0,r),...g.value.slice(r+1)]}}),Qe=a=>{const r=me(),u=z(),q=ve(),n=D(0),f=x(()=>n.value>0),m=he([]);return de(()=>{const{search:Q,terminate:h}=ye(),k=ge(d=>{const{resultsFilter:S=t=>t,querySplitter:y,suggestionsFilter:b,...i}=r.value;d?(n.value+=1,Q(d,u.value,i).then(t=>S(t,d,u.value,q.value)).then(t=>{n.value-=1,m.value=t}).catch(t=>{console.warn(t),n.value-=1,n.value||(m.value=[])})):m.value=[]},w.searchDelay-w.suggestDelay,{maxWait:5e3});pe([a,u],([d])=>k(d.join(" "))),fe(()=>{h()})}),{isSearching:f,results:m}};var Ce=N({name:"SearchResult",props:{queries:{type:Array,required:!0},isFocusing:Boolean},emits:["close","updateQuery"],setup(a,{emit:r}){const u=X(),q=z(),n=Z(ee),{addQueryHistory:f,queryHistories:m,removeQueryHistory:Q}=xe(),{resultHistories:h,addResultHistory:k,removeResultHistory:d}=qe(),S=se(a,"queries"),{results:y,isSearching:b}=Qe(S),i=le({isQuery:!0,index:0}),t=D(0),v=D(0),A=x(()=>m.value.length>0||h.value.length>0),C=x(()=>y.value.length>0),L=x(()=>y.value[t.value]||null),U=()=>{const{isQuery:e,index:s}=i;s===0?(i.isQuery=!e,i.index=e?h.value.length-1:m.value.length-1):i.index=s-1},_=()=>{const{isQuery:e,index:s}=i;s===(e?m.value.length-1:h.value.length-1)?(i.isQuery=!e,i.index=0):i.index=s+1},O=()=>{t.value=t.value>0?t.value-1:y.value.length-1,v.value=L.value.contents.length-1},Y=()=>{t.value=t.value{v.value{v.value>0?v.value-=1:O()},j=e=>e.map(s=>ke(s)?s:l(s[0],s[1])),J=e=>{if(e.type==="customField"){const s=oe[e.index]||"$content",[o,R=""]=ce(s)?s[q.value].split("$content"):s.split("$content");return e.display.map(c=>l("div",j([o,...c,R])))}return e.display.map(s=>l("div",j(s)))},H=()=>{t.value=0,v.value=0,r("updateQuery",""),r("close")},K=()=>l("ul",{class:"slimsearch-result-list"},l("li",{class:"slimsearch-result-list-item"},[l("div",{class:"slimsearch-result-title"},n.value.queryHistory),m.value.map((e,s)=>l("div",{class:["slimsearch-result-item",{active:i.isQuery&&i.index===s}],onClick:()=>{r("updateQuery",e)}},[l(F,{class:"slimsearch-result-type"}),l("div",{class:"slimsearch-result-content"},e),l("button",{class:"slimsearch-remove-icon",innerHTML:T,onClick:o=>{o.preventDefault(),o.stopPropagation(),Q(s)}})]))])),V=()=>l("ul",{class:"slimsearch-result-list"},l("li",{class:"slimsearch-result-list-item"},[l("div",{class:"slimsearch-result-title"},n.value.resultHistory),h.value.map((e,s)=>l($,{to:e.link,class:["slimsearch-result-item",{active:!i.isQuery&&i.index===s}],onClick:()=>{H()}},()=>[l(F,{class:"slimsearch-result-type"}),l("div",{class:"slimsearch-result-content"},[e.header?l("div",{class:"content-header"},e.header):null,l("div",e.display.map(o=>j(o)).flat())]),l("button",{class:"slimsearch-remove-icon",innerHTML:T,onClick:o=>{o.preventDefault(),o.stopPropagation(),d(s)}})]))]));return te("keydown",e=>{if(a.isFocusing){if(C.value){if(e.key==="ArrowUp")G();else if(e.key==="ArrowDown")B();else if(e.key==="Enter"){const s=L.value.contents[v.value];f(a.queries.join(" ")),k(s),u.push(I(s)),H()}}else if(e.key==="ArrowUp")U();else if(e.key==="ArrowDown")_();else if(e.key==="Enter"){const{index:s}=i;i.isQuery?(r("updateQuery",m.value[s]),e.preventDefault()):(u.push(h.value[s].link),H())}}}),ae([t,v],()=>{var e;(e=document.querySelector(".slimsearch-result-list-item.active .slimsearch-result-item.active"))==null||e.scrollIntoView(!1)},{flush:"post"}),()=>l("div",{class:["slimsearch-result-wrapper",{empty:a.queries.length?!C.value:!A.value}],id:"slimsearch-results"},a.queries.length?b.value?l(ie,{hint:n.value.searching}):C.value?l("ul",{class:"slimsearch-result-list"},y.value.map(({title:e,contents:s},o)=>{const R=t.value===o;return l("li",{class:["slimsearch-result-list-item",{active:R}]},[l("div",{class:"slimsearch-result-title"},e||n.value.defaultTitle),s.map((c,W)=>{const E=R&&v.value===W;return l($,{to:I(c),class:["slimsearch-result-item",{active:E,"aria-selected":E}],onClick:()=>{f(a.queries.join(" ")),k(c),H()}},()=>[c.type==="text"?null:l(c.type==="title"?re:c.type==="heading"?ue:ne,{class:"slimsearch-result-type"}),l("div",{class:"slimsearch-result-content"},[c.type==="text"&&c.header?l("div",{class:"content-header"},c.header):null,l("div",J(c))])])})])})):n.value.emptyResult:A.value?[K(),V()]:n.value.emptyHistory)}});export{Ce as default}; diff --git a/assets/alexander-friedland.html-MsQd_CJI.js b/assets/alexander-friedland.html-MsQd_CJI.js new file mode 100644 index 0000000..9cf633d --- /dev/null +++ b/assets/alexander-friedland.html-MsQd_CJI.js @@ -0,0 +1 @@ +import{_ as l,c as i,b as n,a as e,d as a,e as o,w as s,r as h,o as p}from"./app-DFzJ4zlk.js";const d={};function c(u,r){const t=h("RouteLink");return p(),i("div",null,[r[4]||(r[4]=n('

Alexander Friedland

Bild – Alexander Friedland

Seit 1999 bin ich Webentwickler. Ein Studium habe ich nicht, ich bin Quereinsteiger und habe mir alles selber beigebracht. Javascript ist meine Stärke. Ich kann Frontend mäßig alles basteln was gewünscht wird. Ich habe bei sehr vielen Projekten mitgemacht.

Rolle

  • Entwickler von Desktop-Anwendungen
  • Frontend-Entwickler

Fachwissen & Projekte

Ich habe an verschiedenen Projekten mitgewirkt und entwickelt:

',7)),e("ul",null,[r[3]||(r[3]=e("li",null,[a("Programmierer für "),e("a",{href:"https://github.com/Ocelot-Social-Community",target:"_blank",rel:"noopener noreferrer"},"ocelot.social project"),e("ul",null,[e("li",null,"Frontend-Entwicklung"),e("li",null,[a("DevOps "),e("ul",null,[e("li",null,"GitHub")])]),e("li",null,"UI (Benutzeroberfläche)"),e("li",null,[a("Testen "),e("ul",null,[e("li",null,"Manuelles Testen")])])])],-1)),e("li",null,[r[1]||(r[1]=a("Programmierer für ")),o(t,{to:"/projekte/gradido.html"},{default:s(()=>r[0]||(r[0]=[a("Gradido-Softwareprojekt")])),_:1}),r[2]||(r[2]=e("ul",null,[e("li",null,"Frontend-Entwicklung")],-1))])]),r[5]||(r[5]=n('

Frontend-Entwicklung

Backend-Entwicklung

DevOps

Testing

Programmierung, Datenbank & Auszeichnungssprachen

Gesprochene Sprachen

  • German (native speaker)
  • English (read and write)

Profil

',14))])}const g=l(d,[["render",c]]),b=JSON.parse('{"path":"/team/alexander-friedland.html","title":"Alexander Friedland","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.59,"words":177},"filePathRelative":"team/alexander-friedland.md","excerpt":"\\n

Alexander Friedland

\\n

\\"Bild

\\n

Seit 1999 bin ich Webentwickler. Ein Studium habe ich nicht, ich bin Quereinsteiger und habe mir alles selber beigebracht.\\nJavascript ist meine Stärke. Ich kann Frontend mäßig alles basteln was gewünscht wird. Ich habe bei sehr vielen Projekten mitgemacht.

"}');export{g as comp,b as data}; diff --git a/assets/app-DFzJ4zlk.js b/assets/app-DFzJ4zlk.js new file mode 100644 index 0000000..9f1c79c --- /dev/null +++ b/assets/app-DFzJ4zlk.js @@ -0,0 +1,49 @@ +/** +* @vue/shared v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Cs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ve={},On=[],At=()=>{},Vu=()=>!1,wr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ks=e=>e.startsWith("onUpdate:"),De=Object.assign,xs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},zu=Object.prototype.hasOwnProperty,de=(e,t)=>zu.call(e,t),Z=Array.isArray,Rn=e=>uo(e)==="[object Map]",Ua=e=>uo(e)==="[object Set]",ee=e=>typeof e=="function",$e=e=>typeof e=="string",jt=e=>typeof e=="symbol",be=e=>e!==null&&typeof e=="object",qa=e=>(be(e)||ee(e))&&ee(e.then)&&ee(e.catch),Ka=Object.prototype.toString,uo=e=>Ka.call(e),Wu=e=>uo(e).slice(8,-1),Ga=e=>uo(e)==="[object Object]",Ts=e=>$e(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Mn=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),fo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Uu=/-(\w)/g,et=fo(e=>e.replace(Uu,(t,n)=>n?n.toUpperCase():"")),qu=/\B([A-Z])/g,_n=fo(e=>e.replace(qu,"-$1").toLowerCase()),Sr=fo(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ao=fo(e=>e?`on${Sr(e)}`:""),Jt=(e,t)=>!Object.is(e,t),qr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Zo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ku=e=>{const t=$e(e)?Number(e):NaN;return isNaN(t)?e:t};let ml;const po=()=>ml||(ml=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function As(e){if(Z(e)){const t={};for(let n=0;n{if(n){const r=n.split(Yu);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ho(e){let t="";if($e(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Qe=e=>$e(e)?e:e==null?"":Z(e)||be(e)&&(e.toString===Ka||!ee(e.toString))?Qa(e)?Qe(e.value):JSON.stringify(e,Xa,2):String(e),Xa=(e,t)=>Qa(t)?Xa(e,t.value):Rn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[Po(r,s)+" =>"]=o,n),{})}:Ua(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Po(n))}:jt(t)?Po(t):be(t)&&!Z(t)&&!Ga(t)?String(t):t,Po=(e,t="")=>{var n;return jt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ge;class ef{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ge,!t&&Ge&&(this.index=(Ge.scopes||(Ge.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(nr){let t=nr;for(nr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;tr;){let t=tr;for(tr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function ri(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function oi(e){let t,n=e.depsTail,r=n;for(;r;){const o=r.prevDep;r.version===-1?(r===n&&(n=o),Ls(r),nf(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=o}e.deps=t,e.depsTail=n}function es(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(si(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function si(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===cr))return;e.globalVersion=cr;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!es(e)){e.flags&=-3;return}const n=ge,r=gt;ge=e,gt=!0;try{ri(e);const o=e.fn(e._value);(t.version===0||Jt(o,e._value))&&(e._value=o,t.version++)}catch(o){throw t.version++,o}finally{ge=n,gt=r,oi(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:r,nextSub:o}=e;if(r&&(r.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Ls(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function nf(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let gt=!0;const li=[];function en(){li.push(gt),gt=!1}function tn(){const e=li.pop();gt=e===void 0?!0:e}function gl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ge;ge=void 0;try{t()}finally{ge=n}}}let cr=0;class rf{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class vo{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!ge||!gt||ge===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ge)n=this.activeLink=new rf(ge,this),ge.deps?(n.prevDep=ge.depsTail,ge.depsTail.nextDep=n,ge.depsTail=n):ge.deps=ge.depsTail=n,ai(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=ge.depsTail,n.nextDep=void 0,ge.depsTail.nextDep=n,ge.depsTail=n,ge.deps===n&&(ge.deps=r)}return n}trigger(t){this.version++,cr++,this.notify(t)}notify(t){Ps();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{$s()}}}function ai(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)ai(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Xr=new WeakMap,pn=Symbol(""),ts=Symbol(""),ur=Symbol("");function ze(e,t,n){if(gt&&ge){let r=Xr.get(e);r||Xr.set(e,r=new Map);let o=r.get(n);o||(r.set(n,o=new vo),o.map=r,o.key=n),o.track()}}function Nt(e,t,n,r,o,s){const l=Xr.get(e);if(!l){cr++;return}const a=i=>{i&&i.trigger()};if(Ps(),t==="clear")l.forEach(a);else{const i=Z(e),c=i&&Ts(n);if(i&&n==="length"){const f=Number(r);l.forEach((d,p)=>{(p==="length"||p===ur||!jt(p)&&p>=f)&&a(d)})}else switch((n!==void 0||l.has(void 0))&&a(l.get(n)),c&&a(l.get(ur)),t){case"add":i?c&&a(l.get("length")):(a(l.get(pn)),Rn(e)&&a(l.get(ts)));break;case"delete":i||(a(l.get(pn)),Rn(e)&&a(l.get(ts)));break;case"set":Rn(e)&&a(l.get(pn));break}}$s()}function of(e,t){const n=Xr.get(e);return n&&n.get(t)}function xn(e){const t=ce(e);return t===e?t:(ze(t,"iterate",ur),dt(e)?t:t.map(We))}function mo(e){return ze(e=ce(e),"iterate",ur),e}const sf={__proto__:null,[Symbol.iterator](){return Lo(this,Symbol.iterator,We)},concat(...e){return xn(this).concat(...e.map(t=>Z(t)?xn(t):t))},entries(){return Lo(this,"entries",e=>(e[1]=We(e[1]),e))},every(e,t){return Lt(this,"every",e,t,void 0,arguments)},filter(e,t){return Lt(this,"filter",e,t,n=>n.map(We),arguments)},find(e,t){return Lt(this,"find",e,t,We,arguments)},findIndex(e,t){return Lt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Lt(this,"findLast",e,t,We,arguments)},findLastIndex(e,t){return Lt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Lt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Oo(this,"includes",e)},indexOf(...e){return Oo(this,"indexOf",e)},join(e){return xn(this).join(e)},lastIndexOf(...e){return Oo(this,"lastIndexOf",e)},map(e,t){return Lt(this,"map",e,t,void 0,arguments)},pop(){return Yn(this,"pop")},push(...e){return Yn(this,"push",e)},reduce(e,...t){return bl(this,"reduce",e,t)},reduceRight(e,...t){return bl(this,"reduceRight",e,t)},shift(){return Yn(this,"shift")},some(e,t){return Lt(this,"some",e,t,void 0,arguments)},splice(...e){return Yn(this,"splice",e)},toReversed(){return xn(this).toReversed()},toSorted(e){return xn(this).toSorted(e)},toSpliced(...e){return xn(this).toSpliced(...e)},unshift(...e){return Yn(this,"unshift",e)},values(){return Lo(this,"values",We)}};function Lo(e,t,n){const r=mo(e),o=r[t]();return r!==e&&!dt(e)&&(o._next=o.next,o.next=()=>{const s=o._next();return s.value&&(s.value=n(s.value)),s}),o}const lf=Array.prototype;function Lt(e,t,n,r,o,s){const l=mo(e),a=l!==e&&!dt(e),i=l[t];if(i!==lf[t]){const d=i.apply(e,s);return a?We(d):d}let c=n;l!==e&&(a?c=function(d,p){return n.call(this,We(d),p,e)}:n.length>2&&(c=function(d,p){return n.call(this,d,p,e)}));const f=i.call(l,c,r);return a&&o?o(f):f}function bl(e,t,n,r){const o=mo(e);let s=n;return o!==e&&(dt(e)?n.length>3&&(s=function(l,a,i){return n.call(this,l,a,i,e)}):s=function(l,a,i){return n.call(this,l,We(a),i,e)}),o[t](s,...r)}function Oo(e,t,n){const r=ce(e);ze(r,"iterate",ur);const o=r[t](...n);return(o===-1||o===!1)&&Ms(n[0])?(n[0]=ce(n[0]),r[t](...n)):o}function Yn(e,t,n=[]){en(),Ps();const r=ce(e)[t].apply(e,n);return $s(),tn(),r}const af=Cs("__proto__,__v_isRef,__isVue"),ii=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(jt));function cf(e){jt(e)||(e=String(e));const t=ce(this);return ze(t,"has",e),t.hasOwnProperty(e)}class ci{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?yf:pi:s?di:fi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const l=Z(t);if(!o){let i;if(l&&(i=sf[n]))return i;if(n==="hasOwnProperty")return cf}const a=Reflect.get(t,n,Oe(t)?t:r);return(jt(n)?ii.has(n):af(n))||(o||ze(t,"get",n),s)?a:Oe(a)?l&&Ts(n)?a:a.value:be(a)?o?wn(a):Xt(a):a}}class ui extends ci{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const i=bn(s);if(!dt(r)&&!bn(r)&&(s=ce(s),r=ce(r)),!Z(t)&&Oe(s)&&!Oe(r))return i?!1:(s.value=r,!0)}const l=Z(t)&&Ts(n)?Number(n)e,Rr=e=>Reflect.getPrototypeOf(e);function hf(e,t,n){return function(...r){const o=this.__v_raw,s=ce(o),l=Rn(s),a=e==="entries"||e===Symbol.iterator&&l,i=e==="keys"&&l,c=o[e](...r),f=n?ns:t?rs:We;return!t&&ze(s,"iterate",i?ts:pn),{next(){const{value:d,done:p}=c.next();return p?{value:d,done:p}:{value:a?[f(d[0]),f(d[1])]:f(d),done:p}},[Symbol.iterator](){return this}}}}function Mr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function vf(e,t){const n={get(o){const s=this.__v_raw,l=ce(s),a=ce(o);e||(Jt(o,a)&&ze(l,"get",o),ze(l,"get",a));const{has:i}=Rr(l),c=t?ns:e?rs:We;if(i.call(l,o))return c(s.get(o));if(i.call(l,a))return c(s.get(a));s!==l&&s.get(o)},get size(){const o=this.__v_raw;return!e&&ze(ce(o),"iterate",pn),Reflect.get(o,"size",o)},has(o){const s=this.__v_raw,l=ce(s),a=ce(o);return e||(Jt(o,a)&&ze(l,"has",o),ze(l,"has",a)),o===a?s.has(o):s.has(o)||s.has(a)},forEach(o,s){const l=this,a=l.__v_raw,i=ce(a),c=t?ns:e?rs:We;return!e&&ze(i,"iterate",pn),a.forEach((f,d)=>o.call(s,c(f),c(d),l))}};return De(n,e?{add:Mr("add"),set:Mr("set"),delete:Mr("delete"),clear:Mr("clear")}:{add(o){!t&&!dt(o)&&!bn(o)&&(o=ce(o));const s=ce(this);return Rr(s).has.call(s,o)||(s.add(o),Nt(s,"add",o,o)),this},set(o,s){!t&&!dt(s)&&!bn(s)&&(s=ce(s));const l=ce(this),{has:a,get:i}=Rr(l);let c=a.call(l,o);c||(o=ce(o),c=a.call(l,o));const f=i.call(l,o);return l.set(o,s),c?Jt(s,f)&&Nt(l,"set",o,s):Nt(l,"add",o,s),this},delete(o){const s=ce(this),{has:l,get:a}=Rr(s);let i=l.call(s,o);i||(o=ce(o),i=l.call(s,o)),a&&a.call(s,o);const c=s.delete(o);return i&&Nt(s,"delete",o,void 0),c},clear(){const o=ce(this),s=o.size!==0,l=o.clear();return s&&Nt(o,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=hf(o,e,t)}),n}function Os(e,t){const n=vf(e,t);return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(de(n,o)&&o in r?n:r,o,s)}const mf={get:Os(!1,!1)},gf={get:Os(!1,!0)},bf={get:Os(!0,!1)};const fi=new WeakMap,di=new WeakMap,pi=new WeakMap,yf=new WeakMap;function _f(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wf(e){return e.__v_skip||!Object.isExtensible(e)?0:_f(Wu(e))}function Xt(e){return bn(e)?e:Rs(e,!1,ff,mf,fi)}function hi(e){return Rs(e,!1,pf,gf,di)}function wn(e){return Rs(e,!0,df,bf,pi)}function Rs(e,t,n,r,o){if(!be(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const l=wf(e);if(l===0)return e;const a=new Proxy(e,l===2?r:n);return o.set(e,a),a}function hn(e){return bn(e)?hn(e.__v_raw):!!(e&&e.__v_isReactive)}function bn(e){return!!(e&&e.__v_isReadonly)}function dt(e){return!!(e&&e.__v_isShallow)}function Ms(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function Sf(e){return!de(e,"__v_skip")&&Object.isExtensible(e)&&Ya(e,"__v_skip",!0),e}const We=e=>be(e)?Xt(e):e,rs=e=>be(e)?wn(e):e;function Oe(e){return e?e.__v_isRef===!0:!1}function oe(e){return vi(e,!1)}function re(e){return vi(e,!0)}function vi(e,t){return Oe(e)?e:new Ef(e,t)}class Ef{constructor(t,n){this.dep=new vo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:We(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||dt(t)||bn(t);t=r?t:ce(t),Jt(t,n)&&(this._rawValue=t,this._value=r?t:We(t),this.dep.trigger())}}function Qt(e){return Oe(e)?e.value:e}function ae(e){return ee(e)?e():Qt(e)}const Cf={get:(e,t,n)=>t==="__v_raw"?e:Qt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Oe(o)&&!Oe(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function mi(e){return hn(e)?e:new Proxy(e,Cf)}class kf{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new vo,{get:r,set:o}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=o}get value(){return this._value=this._get()}set value(t){this._set(t)}}function gi(e){return new kf(e)}class xf{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return of(ce(this._object),this._key)}}class Tf{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Er(e,t,n){return Oe(e)?e:ee(e)?new Tf(e):be(e)&&arguments.length>1?Af(e,t,n):oe(e)}function Af(e,t,n){const r=e[t];return Oe(r)?r:new xf(e,t,n)}class Pf{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new vo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=cr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&ge!==this)return ni(this,!0),!0}get value(){const t=this.dep.track();return si(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function $f(e,t,n=!1){let r,o;return ee(e)?r=e:(r=e.get,o=e.set),new Pf(r,o,n)}const Ir={},Zr=new WeakMap;let un;function Lf(e,t=!1,n=un){if(n){let r=Zr.get(n);r||Zr.set(n,r=[]),r.push(e)}}function Of(e,t,n=ve){const{immediate:r,deep:o,once:s,scheduler:l,augmentJob:a,call:i}=n,c=E=>o?E:dt(E)||o===!1||o===0?Dt(E,1):Dt(E);let f,d,p,h,b=!1,_=!1;if(Oe(e)?(d=()=>e.value,b=dt(e)):hn(e)?(d=()=>c(e),b=!0):Z(e)?(_=!0,b=e.some(E=>hn(E)||dt(E)),d=()=>e.map(E=>{if(Oe(E))return E.value;if(hn(E))return c(E);if(ee(E))return i?i(E,2):E()})):ee(e)?t?d=i?()=>i(e,2):e:d=()=>{if(p){en();try{p()}finally{tn()}}const E=un;un=f;try{return i?i(e,3,[h]):e(h)}finally{un=E}}:d=At,t&&o){const E=d,R=o===!0?1/0:o;d=()=>Dt(E(),R)}const w=Za(),S=()=>{f.stop(),w&&w.active&&xs(w.effects,f)};if(s&&t){const E=t;t=(...R)=>{E(...R),S()}}let y=_?new Array(e.length).fill(Ir):Ir;const m=E=>{if(!(!(f.flags&1)||!f.dirty&&!E))if(t){const R=f.run();if(o||b||(_?R.some((z,x)=>Jt(z,y[x])):Jt(R,y))){p&&p();const z=un;un=f;try{const x=[R,y===Ir?void 0:_&&y[0]===Ir?[]:y,h];i?i(t,3,x):t(...x),y=R}finally{un=z}}}else f.run()};return a&&a(m),f=new ei(d),f.scheduler=l?()=>l(m,!1):m,h=E=>Lf(E,!1,f),p=f.onStop=()=>{const E=Zr.get(f);if(E){if(i)i(E,4);else for(const R of E)R();Zr.delete(f)}},t?r?m(!0):y=f.run():l?l(m.bind(null,!0),!0):f.run(),S.pause=f.pause.bind(f),S.resume=f.resume.bind(f),S.stop=S,S}function Dt(e,t=1/0,n){if(t<=0||!be(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Oe(e))Dt(e.value,t,n);else if(Z(e))for(let r=0;r{Dt(r,t,n)});else if(Ga(e)){for(const r in e)Dt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Dt(e[r],t,n)}return e}/** +* @vue/runtime-core v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Cr(e,t,n,r){try{return r?e(...r):e()}catch(o){kr(o,t,n)}}function bt(e,t,n,r){if(ee(e)){const o=Cr(e,t,n,r);return o&&qa(o)&&o.catch(s=>{kr(s,t,n)}),o}if(Z(e)){const o=[];for(let s=0;s>>1,o=Ye[r],s=fr(o);s=fr(n)?Ye.push(e):Ye.splice(Mf(t),0,e),e.flags|=1,yi()}}function yi(){eo||(eo=bi.then(_i))}function If(e){Z(e)?In.push(...e):qt&&e.id===-1?qt.splice(An+1,0,e):e.flags&1||(In.push(e),e.flags|=1),yi()}function yl(e,t,n=xt+1){for(;nfr(n)-fr(r));if(In.length=0,qt){qt.push(...t);return}for(qt=t,An=0;Ane.id==null?e.flags&2?-1:1/0:e.id;function _i(e){try{for(xt=0;xt{r._d&&Ll(-1);const s=no(t);let l;try{l=e(...o)}finally{no(s),r._d&&Ll(1)}return l};return r._n=!0,r._c=!0,r._d=!0,r}function Nr(e,t){if(Ie===null)return e;const n=yo(Ie),r=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport,Kt=Symbol("_leaveCb"),Dr=Symbol("_enterCb");function Ei(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ce(()=>{e.isMounted=!0}),Hs(()=>{e.isUnmounting=!0}),e}const it=[Function,Array],Ci={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:it,onEnter:it,onAfterEnter:it,onEnterCancelled:it,onBeforeLeave:it,onLeave:it,onAfterLeave:it,onLeaveCancelled:it,onBeforeAppear:it,onAppear:it,onAfterAppear:it,onAppearCancelled:it},ki=e=>{const t=e.subTree;return t.component?ki(t.component):t},Hf={name:"BaseTransition",props:Ci,setup(e,{slots:t}){const n=zn(),r=Ei();return()=>{const o=t.default&&Ns(t.default(),!0);if(!o||!o.length)return;const s=xi(o),l=ce(e),{mode:a}=l;if(r.isLeaving)return Ro(s);const i=_l(s);if(!i)return Ro(s);let c=dr(i,l,r,n,d=>c=d);i.type!==Ue&&yn(i,c);let f=n.subTree&&_l(n.subTree);if(f&&f.type!==Ue&&!fn(i,f)&&ki(n).type!==Ue){let d=dr(f,l,r,n);if(yn(f,d),a==="out-in"&&i.type!==Ue)return r.isLeaving=!0,d.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,f=void 0},Ro(s);a==="in-out"&&i.type!==Ue?d.delayLeave=(p,h,b)=>{const _=Ti(r,f);_[String(f.key)]=f,p[Kt]=()=>{h(),p[Kt]=void 0,delete c.delayedLeave,f=void 0},c.delayedLeave=()=>{b(),delete c.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return s}}};function xi(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ue){t=n;break}}return t}const jf=Hf;function Ti(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function dr(e,t,n,r,o){const{appear:s,mode:l,persisted:a=!1,onBeforeEnter:i,onEnter:c,onAfterEnter:f,onEnterCancelled:d,onBeforeLeave:p,onLeave:h,onAfterLeave:b,onLeaveCancelled:_,onBeforeAppear:w,onAppear:S,onAfterAppear:y,onAppearCancelled:m}=t,E=String(e.key),R=Ti(n,e),z=($,D)=>{$&&bt($,r,9,D)},x=($,D)=>{const N=D[1];z($,D),Z($)?$.every(P=>P.length<=1)&&N():$.length<=1&&N()},V={mode:l,persisted:a,beforeEnter($){let D=i;if(!n.isMounted)if(s)D=w||i;else return;$[Kt]&&$[Kt](!0);const N=R[E];N&&fn(e,N)&&N.el[Kt]&&N.el[Kt](),z(D,[$])},enter($){let D=c,N=f,P=d;if(!n.isMounted)if(s)D=S||c,N=y||f,P=m||d;else return;let F=!1;const le=$[Dr]=he=>{F||(F=!0,he?z(P,[$]):z(N,[$]),V.delayedLeave&&V.delayedLeave(),$[Dr]=void 0)};D?x(D,[$,le]):le()},leave($,D){const N=String(e.key);if($[Dr]&&$[Dr](!0),n.isUnmounting)return D();z(p,[$]);let P=!1;const F=$[Kt]=le=>{P||(P=!0,D(),le?z(_,[$]):z(b,[$]),$[Kt]=void 0,R[N]===e&&delete R[N])};R[N]=e,h?x(h,[$,F]):F()},clone($){const D=dr($,t,n,r,o);return o&&o(D),D}};return V}function Ro(e){if(xr(e))return e=Zt(e),e.children=null,e}function _l(e){if(!xr(e))return Si(e.type)&&e.children?xi(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ee(n.default))return n.default()}}function yn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,yn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ns(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;spr(b,t&&(Z(t)?t[_]:t),n,r,o));return}if(vn(r)&&!o){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&pr(e,t,n,r.component.subTree);return}const s=r.shapeFlag&4?yo(r.component):r.el,l=o?null:s,{i:a,r:i}=e,c=t&&t.r,f=a.refs===ve?a.refs={}:a.refs,d=a.setupState,p=ce(d),h=d===ve?()=>!1:b=>de(p,b);if(c!=null&&c!==i&&($e(c)?(f[c]=null,h(c)&&(d[c]=null)):Oe(c)&&(c.value=null)),ee(i))Cr(i,a,12,[l,f]);else{const b=$e(i),_=Oe(i);if(b||_){const w=()=>{if(e.f){const S=b?h(i)?d[i]:f[i]:i.value;o?Z(S)&&xs(S,s):Z(S)?S.includes(s)||S.push(s):b?(f[i]=[s],h(i)&&(d[i]=f[i])):(i.value=[s],e.k&&(f[e.k]=i.value))}else b?(f[i]=l,h(i)&&(d[i]=l)):_&&(i.value=l,e.k&&(f[e.k]=l))};l?(w.id=-1,ot(w,n)):w()}}}let wl=!1;const Tn=()=>{wl||(console.error("Hydration completed but contains mismatches."),wl=!0)},Ff=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Bf=e=>e.namespaceURI.includes("MathML"),Hr=e=>{if(e.nodeType===1){if(Ff(e))return"svg";if(Bf(e))return"mathml"}},Ln=e=>e.nodeType===8;function Vf(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:l,remove:a,insert:i,createComment:c}}=e,f=(m,E)=>{if(!E.hasChildNodes()){n(null,m,E),to(),E._vnode=m;return}d(E.firstChild,m,null,null,null),to(),E._vnode=m},d=(m,E,R,z,x,V=!1)=>{V=V||!!E.dynamicChildren;const $=Ln(m)&&m.data==="[",D=()=>_(m,E,R,z,x,$),{type:N,ref:P,shapeFlag:F,patchFlag:le}=E;let he=m.nodeType;E.el=m,le===-2&&(V=!1,E.dynamicChildren=null);let G=null;switch(N){case gn:he!==3?E.children===""?(i(E.el=o(""),l(m),m),G=m):G=D():(m.data!==E.children&&(Tn(),m.data=E.children),G=s(m));break;case Ue:y(m)?(G=s(m),S(E.el=m.content.firstChild,m,R)):he!==8||$?G=D():G=s(m);break;case or:if($&&(m=s(m),he=m.nodeType),he===1||he===3){G=m;const X=!E.children.length;for(let K=0;K{V=V||!!E.dynamicChildren;const{type:$,props:D,patchFlag:N,shapeFlag:P,dirs:F,transition:le}=E,he=$==="input"||$==="option";if(he||N!==-1){F&&Tt(E,null,R,"created");let G=!1;if(y(m)){G=qi(null,le)&&R&&R.vnode.props&&R.vnode.props.appear;const K=m.content.firstChild;G&&le.beforeEnter(K),S(K,m,R),E.el=m=K}if(P&16&&!(D&&(D.innerHTML||D.textContent))){let K=h(m.firstChild,E,m,R,z,x,V);for(;K;){jr(m,1)||Tn();const ke=K;K=K.nextSibling,a(ke)}}else if(P&8){let K=E.children;K[0]===` +`&&(m.tagName==="PRE"||m.tagName==="TEXTAREA")&&(K=K.slice(1)),m.textContent!==K&&(jr(m,0)||Tn(),m.textContent=E.children)}if(D){if(he||!V||N&48){const K=m.tagName.includes("-");for(const ke in D)(he&&(ke.endsWith("value")||ke==="indeterminate")||wr(ke)&&!Mn(ke)||ke[0]==="."||K)&&r(m,ke,null,D[ke],void 0,R)}else if(D.onClick)r(m,"onClick",null,D.onClick,void 0,R);else if(N&4&&hn(D.style))for(const K in D.style)D.style[K]}let X;(X=D&&D.onVnodeBeforeMount)&&ct(X,R,E),F&&Tt(E,null,R,"beforeMount"),((X=D&&D.onVnodeMounted)||F||G)&&Zi(()=>{X&&ct(X,R,E),G&&le.enter(m),F&&Tt(E,null,R,"mounted")},z)}return m.nextSibling},h=(m,E,R,z,x,V,$)=>{$=$||!!E.dynamicChildren;const D=E.children,N=D.length;for(let P=0;P{const{slotScopeIds:$}=E;$&&(x=x?x.concat($):$);const D=l(m),N=h(s(m),E,D,R,z,x,V);return N&&Ln(N)&&N.data==="]"?s(E.anchor=N):(Tn(),i(E.anchor=c("]"),D,N),N)},_=(m,E,R,z,x,V)=>{if(jr(m.parentElement,1)||Tn(),E.el=null,V){const N=w(m);for(;;){const P=s(m);if(P&&P!==N)a(P);else break}}const $=s(m),D=l(m);return a(m),n(null,E,D,$,R,z,Hr(D),x),R&&(R.vnode.el=E.el,Qi(R,E.el)),$},w=(m,E="[",R="]")=>{let z=0;for(;m;)if(m=s(m),m&&Ln(m)&&(m.data===E&&z++,m.data===R)){if(z===0)return s(m);z--}return m},S=(m,E,R)=>{const z=E.parentNode;z&&z.replaceChild(m,E);let x=R;for(;x;)x.vnode.el===E&&(x.vnode.el=x.subTree.el=m),x=x.parent},y=m=>m.nodeType===1&&m.tagName==="TEMPLATE";return[f,d]}const Sl="data-allow-mismatch",zf={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function jr(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Sl);)e=e.parentElement;const n=e&&e.getAttribute(Sl);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:n.split(",").includes(zf[t])}}po().requestIdleCallback;po().cancelIdleCallback;function Wf(e,t){if(Ln(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Ln(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const vn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function Ai(e){ee(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,hydrate:s,timeout:l,suspensible:a=!0,onError:i}=e;let c=null,f,d=0;const p=()=>(d++,c=null,h()),h=()=>{let b;return c||(b=c=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),i)return new Promise((w,S)=>{i(_,()=>w(p()),()=>S(_),d+1)});throw _}).then(_=>b!==c&&c?c:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),f=_,_)))};return U({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(b,_,w){const S=s?()=>{const y=s(w,m=>Wf(b,m));y&&(_.bum||(_.bum=[])).push(y)}:w;f?S():h().then(()=>!_.isUnmounted&&S())},get __asyncResolved(){return f},setup(){const b=Me;if(Ds(b),f)return()=>Mo(f,b);const _=m=>{c=null,kr(m,b,13,!r)};if(a&&b.suspense||Hn)return h().then(m=>()=>Mo(m,b)).catch(m=>(_(m),()=>r?Se(r,{error:m}):null));const w=oe(!1),S=oe(),y=oe(!!o);return o&&setTimeout(()=>{y.value=!1},o),l!=null&&setTimeout(()=>{if(!w.value&&!S.value){const m=new Error(`Async component timed out after ${l}ms.`);_(m),S.value=m}},l),h().then(()=>{w.value=!0,b.parent&&xr(b.parent.vnode)&&b.parent.update()}).catch(m=>{_(m),S.value=m}),()=>{if(w.value&&f)return Mo(f,b);if(S.value&&r)return Se(r,{error:S.value});if(n&&!y.value)return Se(n)}}})}function Mo(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,l=Se(e,r,o);return l.ref=n,l.ce=s,delete t.vnode.ce,l}const xr=e=>e.type.__isKeepAlive;function Uf(e,t){Pi(e,"a",t)}function qf(e,t){Pi(e,"da",t)}function Pi(e,t,n=Me){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(go(t,r,n),n){let o=n.parent;for(;o&&o.parent;)xr(o.parent.vnode)&&Kf(r,t,n,o),o=o.parent}}function Kf(e,t,n,r){const o=go(t,e,r,!0);Bt(()=>{xs(r[t],o)},n)}function go(e,t,n=Me,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...l)=>{en();const a=Tr(n),i=bt(t,n,e,l);return a(),tn(),i});return r?o.unshift(s):o.push(s),s}}const Ft=e=>(t,n=Me)=>{(!Hn||e==="sp")&&go(e,(...r)=>t(...r),n)},Gf=Ft("bm"),Ce=Ft("m"),Yf=Ft("bu"),$i=Ft("u"),Hs=Ft("bum"),Bt=Ft("um"),Jf=Ft("sp"),Qf=Ft("rtg"),Xf=Ft("rtc");function Zf(e,t=Me){go("ec",e,t)}const ed="components";function Ee(e,t){return nd(ed,e,!0,t)||e}const td=Symbol.for("v-ndc");function nd(e,t,n=!0,r=!1){const o=Ie||Me;if(o){const s=o.type;{const a=Fd(s,!1);if(a&&(a===t||a===et(t)||a===Sr(et(t))))return s}const l=El(o[e]||s[e],t)||El(o.appContext[e],t);return!l&&r?s:l}}function El(e,t){return e&&(e[t]||e[et(t)]||e[Sr(et(t))])}function Li(e,t,n,r){let o;const s=n,l=Z(e);if(l||$e(e)){const a=l&&hn(e);let i=!1;a&&(i=!dt(e),e=mo(e)),o=new Array(e.length);for(let c=0,f=e.length;ct(a,i,void 0,s));else{const a=Object.keys(e);o=new Array(a.length);for(let i=0,c=a.length;ivr(t)?!(t.type===Ue||t.type===Re&&!Oi(t.children)):!0)?e:null}const os=e=>e?rc(e)?yo(e):os(e.parent):null,rr=De(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>os(e.parent),$root:e=>os(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Mi(e),$forceUpdate:e=>e.f||(e.f=()=>{Is(e.update)}),$nextTick:e=>e.n||(e.n=Sn.bind(e.proxy)),$watch:e=>Ed.bind(e)}),Io=(e,t)=>e!==ve&&!e.__isScriptSetup&&de(e,t),od={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:l,type:a,appContext:i}=e;let c;if(t[0]!=="$"){const h=l[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(Io(r,t))return l[t]=1,r[t];if(o!==ve&&de(o,t))return l[t]=2,o[t];if((c=e.propsOptions[0])&&de(c,t))return l[t]=3,s[t];if(n!==ve&&de(n,t))return l[t]=4,n[t];ss&&(l[t]=0)}}const f=rr[t];let d,p;if(f)return t==="$attrs"&&ze(e.attrs,"get",""),f(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==ve&&de(n,t))return l[t]=4,n[t];if(p=i.config.globalProperties,de(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return Io(o,t)?(o[t]=n,!0):r!==ve&&de(r,t)?(r[t]=n,!0):de(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},l){let a;return!!n[l]||e!==ve&&de(e,l)||Io(t,l)||(a=s[0])&&de(a,l)||de(r,l)||de(rr,l)||de(o.config.globalProperties,l)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:de(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Cl(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ss=!0;function sd(e){const t=Mi(e),n=e.proxy,r=e.ctx;ss=!1,t.beforeCreate&&kl(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:l,watch:a,provide:i,inject:c,created:f,beforeMount:d,mounted:p,beforeUpdate:h,updated:b,activated:_,deactivated:w,beforeDestroy:S,beforeUnmount:y,destroyed:m,unmounted:E,render:R,renderTracked:z,renderTriggered:x,errorCaptured:V,serverPrefetch:$,expose:D,inheritAttrs:N,components:P,directives:F,filters:le}=t;if(c&&ld(c,r,null),l)for(const X in l){const K=l[X];ee(K)&&(r[X]=K.bind(n))}if(o){const X=o.call(n,n);be(X)&&(e.data=Xt(X))}if(ss=!0,s)for(const X in s){const K=s[X],ke=ee(K)?K.bind(n,n):ee(K.get)?K.get.bind(n,n):At,zt=!ee(K)&&ee(K.set)?K.set.bind(n):At,Et=k({get:ke,set:zt});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>Et.value,set:Xe=>Et.value=Xe})}if(a)for(const X in a)Ri(a[X],r,n,X);if(i){const X=ee(i)?i.call(n):i;Reflect.ownKeys(X).forEach(K=>{Nn(K,X[K])})}f&&kl(f,e,"c");function G(X,K){Z(K)?K.forEach(ke=>X(ke.bind(n))):K&&X(K.bind(n))}if(G(Gf,d),G(Ce,p),G(Yf,h),G($i,b),G(Uf,_),G(qf,w),G(Zf,V),G(Xf,z),G(Qf,x),G(Hs,y),G(Bt,E),G(Jf,$),Z(D))if(D.length){const X=e.exposed||(e.exposed={});D.forEach(K=>{Object.defineProperty(X,K,{get:()=>n[K],set:ke=>n[K]=ke})})}else e.exposed||(e.exposed={});R&&e.render===At&&(e.render=R),N!=null&&(e.inheritAttrs=N),P&&(e.components=P),F&&(e.directives=F),$&&Ds(e)}function ld(e,t,n=At){Z(e)&&(e=ls(e));for(const r in e){const o=e[r];let s;be(o)?"default"in o?s=Ne(o.from||r,o.default,!0):s=Ne(o.from||r):s=Ne(o),Oe(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:l=>s.value=l}):t[r]=s}}function kl(e,t,n){bt(Z(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ri(e,t,n,r){let o=r.includes(".")?Yi(n,r):()=>n[r];if($e(e)){const s=t[e];ee(s)&&Ae(o,s)}else if(ee(e))Ae(o,e.bind(n));else if(be(e))if(Z(e))e.forEach(s=>Ri(s,t,n,r));else{const s=ee(e.handler)?e.handler.bind(n):t[e.handler];ee(s)&&Ae(o,s,e)}}function Mi(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:l}}=e.appContext,a=s.get(t);let i;return a?i=a:!o.length&&!n&&!r?i=t:(i={},o.length&&o.forEach(c=>ro(i,c,l,!0)),ro(i,t,l)),be(t)&&s.set(t,i),i}function ro(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&ro(e,s,n,!0),o&&o.forEach(l=>ro(e,l,n,!0));for(const l in t)if(!(r&&l==="expose")){const a=ad[l]||n&&n[l];e[l]=a?a(e[l],t[l]):t[l]}return e}const ad={data:xl,props:Tl,emits:Tl,methods:Zn,computed:Zn,beforeCreate:Ke,created:Ke,beforeMount:Ke,mounted:Ke,beforeUpdate:Ke,updated:Ke,beforeDestroy:Ke,beforeUnmount:Ke,destroyed:Ke,unmounted:Ke,activated:Ke,deactivated:Ke,errorCaptured:Ke,serverPrefetch:Ke,components:Zn,directives:Zn,watch:cd,provide:xl,inject:id};function xl(e,t){return t?e?function(){return De(ee(e)?e.call(this,this):e,ee(t)?t.call(this,this):t)}:t:e}function id(e,t){return Zn(ls(e),ls(t))}function ls(e){if(Z(e)){const t={};for(let n=0;n1)return n&&ee(t)?t.call(r&&r.proxy):t}}function Ni(){return!!(Me||Ie||mn)}const Di={},Hi=()=>Object.create(Di),ji=e=>Object.getPrototypeOf(e)===Di;function dd(e,t,n,r=!1){const o={},s=Hi();e.propsDefaults=Object.create(null),Fi(e,t,o,s);for(const l in e.propsOptions[0])l in o||(o[l]=void 0);n?e.props=r?o:hi(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function pd(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:l}}=e,a=ce(o),[i]=e.propsOptions;let c=!1;if((r||l>0)&&!(l&16)){if(l&8){const f=e.vnode.dynamicProps;for(let d=0;d{i=!0;const[p,h]=Bi(d,t,!0);De(l,p),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!i)return be(e)&&r.set(e,On),On;if(Z(s))for(let f=0;fe[0]==="_"||e==="$stable",js=e=>Z(e)?e.map(ut):[ut(e)],vd=(e,t,n)=>{if(t._n)return t;const r=Nf((...o)=>js(t(...o)),n);return r._c=!1,r},zi=(e,t,n)=>{const r=e._ctx;for(const o in e){if(Vi(o))continue;const s=e[o];if(ee(s))t[o]=vd(o,s,r);else if(s!=null){const l=js(s);t[o]=()=>l}}},Wi=(e,t)=>{const n=js(t);e.slots.default=()=>n},Ui=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},md=(e,t,n)=>{const r=e.slots=Hi();if(e.vnode.shapeFlag&32){const o=t._;o?(Ui(r,t,n),n&&Ya(r,"_",o,!0)):zi(t,r)}else t&&Wi(e,t)},gd=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,l=ve;if(r.shapeFlag&32){const a=t._;a?n&&a===1?s=!1:Ui(o,t,n):(s=!t.$stable,zi(t,o)),l=t}else t&&(Wi(e,t),l={default:1});if(s)for(const a in o)!Vi(a)&&l[a]==null&&delete o[a]},ot=Zi;function bd(e){return yd(e,Vf)}function yd(e,t){const n=po();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:l,createText:a,createComment:i,setText:c,setElementText:f,parentNode:d,nextSibling:p,setScopeId:h=At,insertStaticContent:b}=e,_=(v,g,C,L=null,T=null,O=null,j=void 0,H=null,I=!!g.dynamicChildren)=>{if(v===g)return;v&&!fn(v,g)&&(L=A(v),Xe(v,T,O,!0),v=null),g.patchFlag===-2&&(I=!1,g.dynamicChildren=null);const{type:M,ref:Q,shapeFlag:W}=g;switch(M){case gn:w(v,g,C,L);break;case Ue:S(v,g,C,L);break;case or:v==null&&y(g,C,L,j);break;case Re:P(v,g,C,L,T,O,j,H,I);break;default:W&1?R(v,g,C,L,T,O,j,H,I):W&6?F(v,g,C,L,T,O,j,H,I):(W&64||W&128)&&M.process(v,g,C,L,T,O,j,H,I,Y)}Q!=null&&T&&pr(Q,v&&v.ref,O,g||v,!g)},w=(v,g,C,L)=>{if(v==null)r(g.el=a(g.children),C,L);else{const T=g.el=v.el;g.children!==v.children&&c(T,g.children)}},S=(v,g,C,L)=>{v==null?r(g.el=i(g.children||""),C,L):g.el=v.el},y=(v,g,C,L)=>{[v.el,v.anchor]=b(v.children,g,C,L,v.el,v.anchor)},m=({el:v,anchor:g},C,L)=>{let T;for(;v&&v!==g;)T=p(v),r(v,C,L),v=T;r(g,C,L)},E=({el:v,anchor:g})=>{let C;for(;v&&v!==g;)C=p(v),o(v),v=C;o(g)},R=(v,g,C,L,T,O,j,H,I)=>{g.type==="svg"?j="svg":g.type==="math"&&(j="mathml"),v==null?z(g,C,L,T,O,j,H,I):$(v,g,T,O,j,H,I)},z=(v,g,C,L,T,O,j,H)=>{let I,M;const{props:Q,shapeFlag:W,transition:J,dirs:te}=v;if(I=v.el=l(v.type,O,Q&&Q.is,Q),W&8?f(I,v.children):W&16&&V(v.children,I,null,L,T,No(v,O),j,H),te&&Tt(v,null,L,"created"),x(I,v,v.scopeId,j,L),Q){for(const me in Q)me!=="value"&&!Mn(me)&&s(I,me,null,Q[me],O,L);"value"in Q&&s(I,"value",null,Q.value,O),(M=Q.onVnodeBeforeMount)&&ct(M,L,v)}te&&Tt(v,null,L,"beforeMount");const ie=qi(T,J);ie&&J.beforeEnter(I),r(I,g,C),((M=Q&&Q.onVnodeMounted)||ie||te)&&ot(()=>{M&&ct(M,L,v),ie&&J.enter(I),te&&Tt(v,null,L,"mounted")},T)},x=(v,g,C,L,T)=>{if(C&&h(v,C),L)for(let O=0;O{for(let M=I;M{const H=g.el=v.el;let{patchFlag:I,dynamicChildren:M,dirs:Q}=g;I|=v.patchFlag&16;const W=v.props||ve,J=g.props||ve;let te;if(C&&ln(C,!1),(te=J.onVnodeBeforeUpdate)&&ct(te,C,g,v),Q&&Tt(g,v,C,"beforeUpdate"),C&&ln(C,!0),(W.innerHTML&&J.innerHTML==null||W.textContent&&J.textContent==null)&&f(H,""),M?D(v.dynamicChildren,M,H,C,L,No(g,T),O):j||K(v,g,H,null,C,L,No(g,T),O,!1),I>0){if(I&16)N(H,W,J,C,T);else if(I&2&&W.class!==J.class&&s(H,"class",null,J.class,T),I&4&&s(H,"style",W.style,J.style,T),I&8){const ie=g.dynamicProps;for(let me=0;me{te&&ct(te,C,g,v),Q&&Tt(g,v,C,"updated")},L)},D=(v,g,C,L,T,O,j)=>{for(let H=0;H{if(g!==C){if(g!==ve)for(const O in g)!Mn(O)&&!(O in C)&&s(v,O,g[O],null,T,L);for(const O in C){if(Mn(O))continue;const j=C[O],H=g[O];j!==H&&O!=="value"&&s(v,O,H,j,T,L)}"value"in C&&s(v,"value",g.value,C.value,T)}},P=(v,g,C,L,T,O,j,H,I)=>{const M=g.el=v?v.el:a(""),Q=g.anchor=v?v.anchor:a("");let{patchFlag:W,dynamicChildren:J,slotScopeIds:te}=g;te&&(H=H?H.concat(te):te),v==null?(r(M,C,L),r(Q,C,L),V(g.children||[],C,Q,T,O,j,H,I)):W>0&&W&64&&J&&v.dynamicChildren?(D(v.dynamicChildren,J,C,T,O,j,H),(g.key!=null||T&&g===T.subTree)&&Ki(v,g,!0)):K(v,g,C,Q,T,O,j,H,I)},F=(v,g,C,L,T,O,j,H,I)=>{g.slotScopeIds=H,v==null?g.shapeFlag&512?T.ctx.activate(g,C,L,j,I):le(g,C,L,T,O,j,I):he(v,g,I)},le=(v,g,C,L,T,O,j)=>{const H=v.component=Id(v,L,T);if(xr(v)&&(H.ctx.renderer=Y),Nd(H,!1,j),H.asyncDep){if(T&&T.registerDep(H,G,j),!v.el){const I=H.subTree=Se(Ue);S(null,I,g,C)}}else G(H,v,g,C,T,O,j)},he=(v,g,C)=>{const L=g.component=v.component;if(Ad(v,g,C))if(L.asyncDep&&!L.asyncResolved){X(L,g,C);return}else L.next=g,L.update();else g.el=v.el,L.vnode=g},G=(v,g,C,L,T,O,j)=>{const H=()=>{if(v.isMounted){let{next:W,bu:J,u:te,parent:ie,vnode:me}=v;{const nt=Gi(v);if(nt){W&&(W.el=me.el,X(v,W,j)),nt.asyncDep.then(()=>{v.isUnmounted||H()});return}}let pe=W,tt;ln(v,!1),W?(W.el=me.el,X(v,W,j)):W=me,J&&qr(J),(tt=W.props&&W.props.onVnodeBeforeUpdate)&&ct(tt,ie,W,me),ln(v,!0);const Ve=Do(v),vt=v.subTree;v.subTree=Ve,_(vt,Ve,d(vt.el),A(vt),v,T,O),W.el=Ve.el,pe===null&&Qi(v,Ve.el),te&&ot(te,T),(tt=W.props&&W.props.onVnodeUpdated)&&ot(()=>ct(tt,ie,W,me),T)}else{let W;const{el:J,props:te}=g,{bm:ie,m:me,parent:pe,root:tt,type:Ve}=v,vt=vn(g);if(ln(v,!1),ie&&qr(ie),!vt&&(W=te&&te.onVnodeBeforeMount)&&ct(W,pe,g),ln(v,!0),J&&we){const nt=()=>{v.subTree=Do(v),we(J,v.subTree,v,T,null)};vt&&Ve.__asyncHydrate?Ve.__asyncHydrate(J,v,nt):nt()}else{tt.ce&&tt.ce._injectChildStyle(Ve);const nt=v.subTree=Do(v);_(null,nt,C,L,v,T,O),g.el=nt.el}if(me&&ot(me,T),!vt&&(W=te&&te.onVnodeMounted)){const nt=g;ot(()=>ct(W,pe,nt),T)}(g.shapeFlag&256||pe&&vn(pe.vnode)&&pe.vnode.shapeFlag&256)&&v.a&&ot(v.a,T),v.isMounted=!0,g=C=L=null}};v.scope.on();const I=v.effect=new ei(H);v.scope.off();const M=v.update=I.run.bind(I),Q=v.job=I.runIfDirty.bind(I);Q.i=v,Q.id=v.uid,I.scheduler=()=>Is(Q),ln(v,!0),M()},X=(v,g,C)=>{g.component=v;const L=v.vnode.props;v.vnode=g,v.next=null,pd(v,g.props,L,C),gd(v,g.children,C),en(),yl(v),tn()},K=(v,g,C,L,T,O,j,H,I=!1)=>{const M=v&&v.children,Q=v?v.shapeFlag:0,W=g.children,{patchFlag:J,shapeFlag:te}=g;if(J>0){if(J&128){zt(M,W,C,L,T,O,j,H,I);return}else if(J&256){ke(M,W,C,L,T,O,j,H,I);return}}te&8?(Q&16&&at(M,T,O),W!==M&&f(C,W)):Q&16?te&16?zt(M,W,C,L,T,O,j,H,I):at(M,T,O,!0):(Q&8&&f(C,""),te&16&&V(W,C,L,T,O,j,H,I))},ke=(v,g,C,L,T,O,j,H,I)=>{v=v||On,g=g||On;const M=v.length,Q=g.length,W=Math.min(M,Q);let J;for(J=0;JQ?at(v,T,O,!0,!1,W):V(g,C,L,T,O,j,H,I,W)},zt=(v,g,C,L,T,O,j,H,I)=>{let M=0;const Q=g.length;let W=v.length-1,J=Q-1;for(;M<=W&&M<=J;){const te=v[M],ie=g[M]=I?Gt(g[M]):ut(g[M]);if(fn(te,ie))_(te,ie,C,null,T,O,j,H,I);else break;M++}for(;M<=W&&M<=J;){const te=v[W],ie=g[J]=I?Gt(g[J]):ut(g[J]);if(fn(te,ie))_(te,ie,C,null,T,O,j,H,I);else break;W--,J--}if(M>W){if(M<=J){const te=J+1,ie=teJ)for(;M<=W;)Xe(v[M],T,O,!0),M++;else{const te=M,ie=M,me=new Map;for(M=ie;M<=J;M++){const rt=g[M]=I?Gt(g[M]):ut(g[M]);rt.key!=null&&me.set(rt.key,M)}let pe,tt=0;const Ve=J-ie+1;let vt=!1,nt=0;const Gn=new Array(Ve);for(M=0;M=Ve){Xe(rt,T,O,!0);continue}let Ct;if(rt.key!=null)Ct=me.get(rt.key);else for(pe=ie;pe<=J;pe++)if(Gn[pe-ie]===0&&fn(rt,g[pe])){Ct=pe;break}Ct===void 0?Xe(rt,T,O,!0):(Gn[Ct-ie]=M+1,Ct>=nt?nt=Ct:vt=!0,_(rt,g[Ct],C,null,T,O,j,H,I),tt++)}const hl=vt?_d(Gn):On;for(pe=hl.length-1,M=Ve-1;M>=0;M--){const rt=ie+M,Ct=g[rt],vl=rt+1{const{el:O,type:j,transition:H,children:I,shapeFlag:M}=v;if(M&6){Et(v.component.subTree,g,C,L);return}if(M&128){v.suspense.move(g,C,L);return}if(M&64){j.move(v,g,C,Y);return}if(j===Re){r(O,g,C);for(let W=0;WH.enter(O),T);else{const{leave:W,delayLeave:J,afterLeave:te}=H,ie=()=>r(O,g,C),me=()=>{W(O,()=>{ie(),te&&te()})};J?J(O,ie,me):me()}else r(O,g,C)},Xe=(v,g,C,L=!1,T=!1)=>{const{type:O,props:j,ref:H,children:I,dynamicChildren:M,shapeFlag:Q,patchFlag:W,dirs:J,cacheIndex:te}=v;if(W===-2&&(T=!1),H!=null&&pr(H,null,C,v,!0),te!=null&&(g.renderCache[te]=void 0),Q&256){g.ctx.deactivate(v);return}const ie=Q&1&&J,me=!vn(v);let pe;if(me&&(pe=j&&j.onVnodeBeforeUnmount)&&ct(pe,g,v),Q&6)Or(v.component,C,L);else{if(Q&128){v.suspense.unmount(C,L);return}ie&&Tt(v,null,g,"beforeUnmount"),Q&64?v.type.remove(v,g,C,Y,L):M&&!M.hasOnce&&(O!==Re||W>0&&W&64)?at(M,g,C,!1,!0):(O===Re&&W&384||!T&&Q&16)&&at(I,g,C),L&&Cn(v)}(me&&(pe=j&&j.onVnodeUnmounted)||ie)&&ot(()=>{pe&&ct(pe,g,v),ie&&Tt(v,null,g,"unmounted")},C)},Cn=v=>{const{type:g,el:C,anchor:L,transition:T}=v;if(g===Re){kn(C,L);return}if(g===or){E(v);return}const O=()=>{o(C),T&&!T.persisted&&T.afterLeave&&T.afterLeave()};if(v.shapeFlag&1&&T&&!T.persisted){const{leave:j,delayLeave:H}=T,I=()=>j(C,O);H?H(v.el,O,I):I()}else O()},kn=(v,g)=>{let C;for(;v!==g;)C=p(v),o(v),v=C;o(g)},Or=(v,g,C)=>{const{bum:L,scope:T,job:O,subTree:j,um:H,m:I,a:M}=v;Pl(I),Pl(M),L&&qr(L),T.stop(),O&&(O.flags|=8,Xe(j,v,g,C)),H&&ot(H,g),ot(()=>{v.isUnmounted=!0},g),g&&g.pendingBranch&&!g.isUnmounted&&v.asyncDep&&!v.asyncResolved&&v.suspenseId===g.pendingId&&(g.deps--,g.deps===0&&g.resolve())},at=(v,g,C,L=!1,T=!1,O=0)=>{for(let j=O;j{if(v.shapeFlag&6)return A(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const g=p(v.anchor||v.el),C=g&&g[Df];return C?p(C):g};let q=!1;const B=(v,g,C)=>{v==null?g._vnode&&Xe(g._vnode,null,null,!0):_(g._vnode||null,v,g,null,null,null,C),g._vnode=v,q||(q=!0,yl(),to(),q=!1)},Y={p:_,um:Xe,m:Et,r:Cn,mt:le,mc:V,pc:K,pbc:D,n:A,o:e};let ue,we;return t&&([ue,we]=t(Y)),{render:B,hydrate:ue,createApp:fd(B,ue)}}function No({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function ln({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function qi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ki(e,t,n=!1){const r=e.children,o=t.children;if(Z(r)&&Z(o))for(let s=0;s>1,e[n[a]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,l=n[s-1];s-- >0;)n[s]=l,l=t[l];return n}function Gi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gi(t)}function Pl(e){if(e)for(let t=0;tNe(wd);function Fs(e,t){return Bs(e,null,t)}function Ae(e,t,n){return Bs(e,t,n)}function Bs(e,t,n=ve){const{immediate:r,deep:o,flush:s,once:l}=n,a=De({},n),i=t&&r||!t&&s!=="post";let c;if(Hn){if(s==="sync"){const h=Sd();c=h.__watcherHandles||(h.__watcherHandles=[])}else if(!i){const h=()=>{};return h.stop=At,h.resume=At,h.pause=At,h}}const f=Me;a.call=(h,b,_)=>bt(h,f,b,_);let d=!1;s==="post"?a.scheduler=h=>{ot(h,f&&f.suspense)}:s!=="sync"&&(d=!0,a.scheduler=(h,b)=>{b?h():Is(h)}),a.augmentJob=h=>{t&&(h.flags|=4),d&&(h.flags|=2,f&&(h.id=f.uid,h.i=f))};const p=Of(e,t,a);return Hn&&(c?c.push(p):i&&p()),p}function Ed(e,t,n){const r=this.proxy,o=$e(e)?e.includes(".")?Yi(r,e):()=>r[e]:e.bind(r,r);let s;ee(t)?s=t:(s=t.handler,n=t);const l=Tr(this),a=Bs(o,s.bind(r),n);return l(),a}function Yi(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${et(t)}Modifiers`]||e[`${_n(t)}Modifiers`];function kd(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||ve;let o=n;const s=t.startsWith("update:"),l=s&&Cd(r,t.slice(7));l&&(l.trim&&(o=n.map(f=>$e(f)?f.trim():f)),l.number&&(o=n.map(Zo)));let a,i=r[a=Ao(t)]||r[a=Ao(et(t))];!i&&s&&(i=r[a=Ao(_n(t))]),i&&bt(i,e,6,o);const c=r[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,bt(c,e,6,o)}}function Ji(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let l={},a=!1;if(!ee(e)){const i=c=>{const f=Ji(c,t,!0);f&&(a=!0,De(l,f))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!a?(be(e)&&r.set(e,null),null):(Z(s)?s.forEach(i=>l[i]=null):De(l,s),be(e)&&r.set(e,l),l)}function bo(e,t){return!e||!wr(t)?!1:(t=t.slice(2).replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,_n(t))||de(e,t))}function Do(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:l,attrs:a,emit:i,render:c,renderCache:f,props:d,data:p,setupState:h,ctx:b,inheritAttrs:_}=e,w=no(e);let S,y;try{if(n.shapeFlag&4){const E=o||r,R=E;S=ut(c.call(R,E,f,d,h,p,b)),y=a}else{const E=t;S=ut(E.length>1?E(d,{attrs:a,slots:l,emit:i}):E(d,null)),y=t.props?a:xd(a)}}catch(E){sr.length=0,kr(E,e,1),S=Se(Ue)}let m=S;if(y&&_!==!1){const E=Object.keys(y),{shapeFlag:R}=m;E.length&&R&7&&(s&&E.some(ks)&&(y=Td(y,s)),m=Zt(m,y,!1,!0))}return n.dirs&&(m=Zt(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&yn(m,n.transition),S=m,no(w),S}const xd=e=>{let t;for(const n in e)(n==="class"||n==="style"||wr(n))&&((t||(t={}))[n]=e[n]);return t},Td=(e,t)=>{const n={};for(const r in e)(!ks(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Ad(e,t,n){const{props:r,children:o,component:s}=e,{props:l,children:a,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return r?$l(r,l,c):!!l;if(i&8){const f=t.dynamicProps;for(let d=0;de.__isSuspense;function Zi(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):If(e)}const Re=Symbol.for("v-fgt"),gn=Symbol.for("v-txt"),Ue=Symbol.for("v-cmt"),or=Symbol.for("v-stc"),sr=[];let st=null;function Le(e=!1){sr.push(st=e?null:[])}function Pd(){sr.pop(),st=sr[sr.length-1]||null}let hr=1;function Ll(e,t=!1){hr+=e,e<0&&st&&t&&(st.hasOnce=!0)}function ec(e){return e.dynamicChildren=hr>0?st||On:null,Pd(),hr>0&&st&&st.push(e),e}function je(e,t,n,r,o,s){return ec(ne(e,t,n,r,o,s,!0))}function is(e,t,n,r,o){return ec(Se(e,t,n,r,o,!0))}function vr(e){return e?e.__v_isVNode===!0:!1}function fn(e,t){return e.type===t.type&&e.key===t.key}const tc=({key:e})=>e??null,Kr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?$e(e)||Oe(e)||ee(e)?{i:Ie,r:e,k:t,f:!!n}:e:null);function ne(e,t=null,n=null,r=0,o=null,s=e===Re?0:1,l=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tc(t),ref:t&&Kr(t),scopeId:wi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Ie};return a?(Vs(i,n),s&128&&e.normalize(i)):n&&(i.shapeFlag|=$e(n)?8:16),hr>0&&!l&&st&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&st.push(i),i}const Se=$d;function $d(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===td)&&(e=Ue),vr(e)){const a=Zt(e,t,!0);return n&&Vs(a,n),hr>0&&!s&&st&&(a.shapeFlag&6?st[st.indexOf(e)]=a:st.push(a)),a.patchFlag=-2,a}if(Bd(e)&&(e=e.__vccOpts),t){t=Ld(t);let{class:a,style:i}=t;a&&!$e(a)&&(t.class=ho(a)),be(i)&&(Ms(i)&&!Z(i)&&(i=De({},i)),t.style=As(i))}const l=$e(e)?1:Xi(e)?128:Si(e)?64:be(e)?4:ee(e)?2:0;return ne(e,t,n,r,o,l,s,!0)}function Ld(e){return e?Ms(e)||ji(e)?De({},e):e:null}function Zt(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:l,children:a,transition:i}=e,c=t?Od(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&tc(c),ref:t&&t.ref?n&&s?Z(s)?s.concat(Kr(t)):[s,Kr(t)]:Kr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Re?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zt(e.ssContent),ssFallback:e.ssFallback&&Zt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&r&&yn(f,i.clone(f)),f}function oo(e=" ",t=0){return Se(gn,null,e,t)}function nc(e,t){const n=Se(or,null,e);return n.staticCount=t,n}function Ol(e="",t=!1){return t?(Le(),is(Ue,null,e)):Se(Ue,null,e)}function ut(e){return e==null||typeof e=="boolean"?Se(Ue):Z(e)?Se(Re,null,e.slice()):vr(e)?Gt(e):Se(gn,null,String(e))}function Gt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zt(e)}function Vs(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Vs(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!ji(t)?t._ctx=Ie:o===3&&Ie&&(Ie.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ee(t)?(t={default:t,_ctx:Ie},n=32):(t=String(t),r&64?(n=16,t=[oo(t)]):n=8);e.children=t,e.shapeFlag|=n}function Od(...e){const t={};for(let n=0;nMe||Ie;let so,cs;{const e=po(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(l=>l(s)):o[0](s)}};so=t("__VUE_INSTANCE_SETTERS__",n=>Me=n),cs=t("__VUE_SSR_SETTERS__",n=>Hn=n)}const Tr=e=>{const t=Me;return so(e),e.scope.on(),()=>{e.scope.off(),so(t)}},Rl=()=>{Me&&Me.scope.off(),so(null)};function rc(e){return e.vnode.shapeFlag&4}let Hn=!1;function Nd(e,t=!1,n=!1){t&&cs(t);const{props:r,children:o}=e.vnode,s=rc(e);dd(e,r,s,t),md(e,o,n);const l=s?Dd(e,t):void 0;return t&&cs(!1),l}function Dd(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,od);const{setup:r}=n;if(r){en();const o=e.setupContext=r.length>1?jd(e):null,s=Tr(e),l=Cr(r,e,0,[e.props,o]),a=qa(l);if(tn(),s(),(a||e.sp)&&!vn(e)&&Ds(e),a){if(l.then(Rl,Rl),t)return l.then(i=>{Ml(e,i)}).catch(i=>{kr(i,e,0)});e.asyncDep=l}else Ml(e,l)}else oc(e)}function Ml(e,t,n){ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:be(t)&&(e.setupState=mi(t)),oc(e)}function oc(e,t,n){const r=e.type;e.render||(e.render=r.render||At);{const o=Tr(e);en();try{sd(e)}finally{tn(),o()}}}const Hd={get(e,t){return ze(e,"get",""),e[t]}};function jd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Hd),slots:e.slots,emit:e.emit,expose:t}}function yo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mi(Sf(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in rr)return rr[n](e)},has(t,n){return n in t||n in rr}})):e.proxy}function Fd(e,t=!0){return ee(e)?e.displayName||e.name:e.name||t&&e.__name}function Bd(e){return ee(e)&&"__vccOpts"in e}const k=(e,t)=>$f(e,t,Hn);function u(e,t,n){const r=arguments.length;return r===2?be(t)&&!Z(t)?vr(t)?Se(e,null,[t]):Se(e,t):Se(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&vr(n)&&(n=[n]),Se(e,t,n))}const Vd="3.5.13";/** +* @vue/runtime-dom v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let us;const Il=typeof window<"u"&&window.trustedTypes;if(Il)try{us=Il.createPolicy("vue",{createHTML:e=>e})}catch{}const sc=us?e=>us.createHTML(e):e=>e,zd="http://www.w3.org/2000/svg",Wd="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,Nl=It&&It.createElement("template"),Ud={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?It.createElementNS(zd,e):t==="mathml"?It.createElementNS(Wd,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const l=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Nl.innerHTML=sc(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=Nl.content;if(r==="svg"||r==="mathml"){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Wt="transition",Jn="animation",jn=Symbol("_vtc"),lc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ac=De({},Ci,lc),qd=e=>(e.displayName="Transition",e.props=ac,e),Fn=qd((e,{slots:t})=>u(jf,ic(e),t)),an=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},Dl=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function ic(e){const t={};for(const P in e)P in lc||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:i=s,appearActiveClass:c=l,appearToClass:f=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,b=Kd(o),_=b&&b[0],w=b&&b[1],{onBeforeEnter:S,onEnter:y,onEnterCancelled:m,onLeave:E,onLeaveCancelled:R,onBeforeAppear:z=S,onAppear:x=y,onAppearCancelled:V=m}=t,$=(P,F,le,he)=>{P._enterCancelled=he,Ut(P,F?f:a),Ut(P,F?c:l),le&&le()},D=(P,F)=>{P._isLeaving=!1,Ut(P,d),Ut(P,h),Ut(P,p),F&&F()},N=P=>(F,le)=>{const he=P?x:y,G=()=>$(F,P,le);an(he,[F,G]),Hl(()=>{Ut(F,P?i:s),kt(F,P?f:a),Dl(he)||jl(F,r,_,G)})};return De(t,{onBeforeEnter(P){an(S,[P]),kt(P,s),kt(P,l)},onBeforeAppear(P){an(z,[P]),kt(P,i),kt(P,c)},onEnter:N(!1),onAppear:N(!0),onLeave(P,F){P._isLeaving=!0;const le=()=>D(P,F);kt(P,d),P._enterCancelled?(kt(P,p),fs()):(fs(),kt(P,p)),Hl(()=>{P._isLeaving&&(Ut(P,d),kt(P,h),Dl(E)||jl(P,r,w,le))}),an(E,[P,le])},onEnterCancelled(P){$(P,!1,void 0,!0),an(m,[P])},onAppearCancelled(P){$(P,!0,void 0,!0),an(V,[P])},onLeaveCancelled(P){D(P),an(R,[P])}})}function Kd(e){if(e==null)return null;if(be(e))return[Ho(e.enter),Ho(e.leave)];{const t=Ho(e);return[t,t]}}function Ho(e){return Ku(e)}function kt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[jn]||(e[jn]=new Set)).add(t)}function Ut(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[jn];n&&(n.delete(t),n.size||(e[jn]=void 0))}function Hl(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Gd=0;function jl(e,t,n,r){const o=e._endId=++Gd,s=()=>{o===e._endId&&r()};if(n!=null)return setTimeout(s,n);const{type:l,timeout:a,propCount:i}=cc(e,t);if(!l)return r();const c=l+"end";let f=0;const d=()=>{e.removeEventListener(c,p),s()},p=h=>{h.target===e&&++f>=i&&d()};setTimeout(()=>{f(n[b]||"").split(", "),o=r(`${Wt}Delay`),s=r(`${Wt}Duration`),l=Fl(o,s),a=r(`${Jn}Delay`),i=r(`${Jn}Duration`),c=Fl(a,i);let f=null,d=0,p=0;t===Wt?l>0&&(f=Wt,d=l,p=s.length):t===Jn?c>0&&(f=Jn,d=c,p=i.length):(d=Math.max(l,c),f=d>0?l>c?Wt:Jn:null,p=f?f===Wt?s.length:i.length:0);const h=f===Wt&&/\b(transform|all)(,|$)/.test(r(`${Wt}Property`).toString());return{type:f,timeout:d,propCount:p,hasTransform:h}}function Fl(e,t){for(;e.lengthBl(n)+Bl(e[r])))}function Bl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function fs(){return document.body.offsetHeight}function Yd(e,t,n){const r=e[jn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Vl=Symbol("_vod"),Jd=Symbol("_vsh"),Qd=Symbol(""),Xd=/(^|;)\s*display\s*:/;function Zd(e,t,n){const r=e.style,o=$e(n);let s=!1;if(n&&!o){if(t)if($e(t))for(const l of t.split(";")){const a=l.slice(0,l.indexOf(":")).trim();n[a]==null&&Gr(r,a,"")}else for(const l in t)n[l]==null&&Gr(r,l,"");for(const l in n)l==="display"&&(s=!0),Gr(r,l,n[l])}else if(o){if(t!==n){const l=r[Qd];l&&(n+=";"+l),r.cssText=n,s=Xd.test(n)}}else t&&e.removeAttribute("style");Vl in e&&(e[Vl]=s?r.display:"",e[Jd]&&(r.display="none"))}const zl=/\s*!important$/;function Gr(e,t,n){if(Z(n))n.forEach(r=>Gr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=ep(e,t);zl.test(n)?e.setProperty(_n(r),n.replace(zl,""),"important"):e[r]=n}}const Wl=["Webkit","Moz","ms"],jo={};function ep(e,t){const n=jo[t];if(n)return n;let r=et(t);if(r!=="filter"&&r in e)return jo[t]=r;r=Sr(r);for(let o=0;oFo||(op.then(()=>Fo=0),Fo=Date.now());function lp(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;bt(ap(r,n.value),t,5,[r])};return n.value=e,n.attached=sp(),n}function ap(e,t){if(Z(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Jl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ip=(e,t,n,r,o,s)=>{const l=o==="svg";t==="class"?Yd(e,r,l):t==="style"?Zd(e,n,r):wr(t)?ks(t)||np(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):cp(e,t,r,l))?(Kl(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ql(e,t,r,l,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!$e(r))?Kl(e,et(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ql(e,t,r,l))};function cp(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Jl(t)&&ee(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Jl(t)&&$e(n)?!1:t in e}const uc=new WeakMap,fc=new WeakMap,lo=Symbol("_moveCb"),Ql=Symbol("_enterCb"),up=e=>(delete e.props.mode,e),fp=up({name:"TransitionGroup",props:De({},ac,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=zn(),r=Ei();let o,s;return $i(()=>{if(!o.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!vp(o[0].el,n.vnode.el,l))return;o.forEach(dp),o.forEach(pp);const a=o.filter(hp);fs(),a.forEach(i=>{const c=i.el,f=c.style;kt(c,l),f.transform=f.webkitTransform=f.transitionDuration="";const d=c[lo]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",d),c[lo]=null,Ut(c,l))};c.addEventListener("transitionend",d)})}),()=>{const l=ce(e),a=ic(l);let i=l.tag||Re;if(o=[],s)for(let c=0;c{a.split(/\s+/).forEach(i=>i&&r.classList.remove(i))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const s=t.nodeType===1?t:t.parentNode;s.appendChild(r);const{hasTransform:l}=cc(r);return s.removeChild(r),l}const Xl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Z(t)?n=>qr(t,n):t};function mp(e){e.target.composing=!0}function Zl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Bo=Symbol("_assign"),Fr={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[Bo]=Xl(o);const s=r||o.props&&o.props.type==="number";Pn(e,t?"change":"input",l=>{if(l.target.composing)return;let a=e.value;n&&(a=a.trim()),s&&(a=Zo(a)),e[Bo](a)}),n&&Pn(e,"change",()=>{e.value=e.value.trim()}),t||(Pn(e,"compositionstart",mp),Pn(e,"compositionend",Zl),Pn(e,"change",Zl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:o,number:s}},l){if(e[Bo]=Xl(l),e.composing)return;const a=(s||e.type==="number")&&!/^0\d/.test(e.value)?Zo(e.value):e.value,i=t??"";a!==i&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||o&&e.value.trim()===i)||(e.value=i))}},gp=["ctrl","shift","alt","meta"],bp={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>gp.some(n=>e[`${n}Key`]&&!t.includes(n))},yp=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(o,...s)=>{for(let l=0;l{const t=wp().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Cp(r);if(o)return n(o,!0,Ep(o))},t};function Ep(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Cp(e){return $e(e)?document.querySelector(e):e}var Ar=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),kp=/.md((\?|#).*)?$/,zs=(e,t="/")=>Ar(e)||e.startsWith("/")&&!e.startsWith(t)&&!kp.test(e),Pr=e=>/^(https?:)?\/\//.test(e),ta=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=`${t.substring(0,t.length-3)}.html`:t.endsWith(".html")||(t=`${t}.html`),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},xp="http://.",Tp=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return ta(new URL(`${n}/${e}`,xp).pathname)}return ta(e)},Ap=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},Pp=/(#|\?)/,pc=e=>{const[t,...n]=e.split(Pp);return{pathname:t,hashAndQueries:n.join("")}},$p=["link","meta","script","style","noscript","template"],Lp=["title","base"],Op=([e,t,n])=>Lp.includes(e)?e:$p.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,Rp=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=Op(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},Mp=e=>e.startsWith("/")?e:`/${e}`,hc=e=>e.endsWith("/")||e.endsWith(".html")?e:`${e}/`,Ws=e=>e.endsWith("/")?e.slice(0,-1):e,vc=e=>e.startsWith("/")?e.slice(1):e,_o=e=>Object.prototype.toString.call(e)==="[object Object]",Pe=e=>typeof e=="string";const Ip="modulepreload",Np=function(e){return"/"+e},na={},xe=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),a=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=Promise.allSettled(n.map(i=>{if(i=Np(i),i in na)return;na[i]=!0;const c=i.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${f}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":Ip,c||(d.as="script"),d.crossOrigin="",d.href=i,a&&d.setAttribute("nonce",a),document.head.appendChild(d),c)return new Promise((p,h)=>{d.addEventListener("load",p),d.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${i}`)))})}))}function s(l){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=l,window.dispatchEvent(a),!a.defaultPrevented)throw l}return o.then(l=>{for(const a of l||[])a.status==="rejected"&&s(a.reason);return t().catch(s)})},Dp=JSON.parse("{}"),Hp=Object.fromEntries([["/historie.html",{loader:()=>xe(()=>import("./historie.html-ooxMdhLn.js"),[]),meta:{title:"Historie"}}],["/impressum.html",{loader:()=>xe(()=>import("./impressum.html-CgLCWLO4.js"),[]),meta:{title:"Impressum"}}],["/",{loader:()=>xe(()=>import("./index.html-CytUw73L.js"),[]),meta:{title:""}}],["/it4c.html",{loader:()=>xe(()=>import("./it4c.html-BVs7qriC.js"),[]),meta:{title:"IT4C"}}],["/kontakt.html",{loader:()=>xe(()=>import("./kontakt.html-ni-64aeI.js"),[]),meta:{title:"Kontakt"}}],["/projekte/democracy.app.html",{loader:()=>xe(()=>import("./democracy.app.html-BgTvwzvd.js"),[]),meta:{title:"DEMOCRACY App"}}],["/projekte/gradido.html",{loader:()=>xe(()=>import("./gradido.html-CUHh820v.js"),[]),meta:{title:"Gradido"}}],["/projekte/ocelot.social.html",{loader:()=>xe(()=>import("./ocelot.social.html-DvHmLRyp.js"),[]),meta:{title:"Ocelot.Social"}}],["/projekte/utopia.map.html",{loader:()=>xe(()=>import("./utopia.map.html-8eIwcouy.js"),[]),meta:{title:"Utopia Map"}}],["/team/alexander-friedland.html",{loader:()=>xe(()=>import("./alexander-friedland.html-MsQd_CJI.js"),[]),meta:{title:"Alexander Friedland"}}],["/team/hannes-heine.html",{loader:()=>xe(()=>import("./hannes-heine.html-DTUHv6XE.js"),[]),meta:{title:"Hannes Heine"}}],["/team/mathias-lenz.html",{loader:()=>xe(()=>import("./mathias-lenz.html-SbdLu3mv.js"),[]),meta:{title:"Mathias"}}],["/team/maximilian-harz.html",{loader:()=>xe(()=>import("./maximilian-harz.html-Ct2dM9Rg.js"),[]),meta:{title:"Maximilian Harz"}}],["/team/moriz-wahl.html",{loader:()=>xe(()=>import("./moriz-wahl.html-BaoeU4ay.js"),[]),meta:{title:"Moriz Wahl"}}],["/team/sebastian-stein.html",{loader:()=>xe(()=>import("./sebastian-stein.html-Cekunqz-.js"),[]),meta:{title:"Sebastian Stein"}}],["/team/ulf-gebhardt.html",{loader:()=>xe(()=>import("./ulf-gebhardt.html-O-yS3EkP.js"),[]),meta:{title:"Ulf Gebhardt"}}],["/team/wolfgang-huss.html",{loader:()=>xe(()=>import("./wolfgang-huss.html-DbszMcod.js"),[]),meta:{title:"Wolfgang Huß"}}],["/404.html",{loader:()=>xe(()=>import("./404.html-CCj6fWw_.js"),[]),meta:{title:""}}],["/projekte/",{loader:()=>xe(()=>import("./index.html-BUHwOso0.js"),[]),meta:{title:"Projekte"}}],["/team/",{loader:()=>xe(()=>import("./index.html-BibaCLbd.js"),[]),meta:{title:"Team"}}]]);/*! + * vue-router v4.5.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const $n=typeof document<"u";function mc(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function jp(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&mc(e.default)}const fe=Object.assign;function zo(e,t){const n={};for(const r in t){const o=t[r];n[r]=yt(o)?o.map(e):e(o)}return n}const lr=()=>{},yt=Array.isArray,gc=/#/g,Fp=/&/g,Bp=/\//g,Vp=/=/g,zp=/\?/g,bc=/\+/g,Wp=/%5B/g,Up=/%5D/g,yc=/%5E/g,qp=/%60/g,_c=/%7B/g,Kp=/%7C/g,wc=/%7D/g,Gp=/%20/g;function Us(e){return encodeURI(""+e).replace(Kp,"|").replace(Wp,"[").replace(Up,"]")}function Yp(e){return Us(e).replace(_c,"{").replace(wc,"}").replace(yc,"^")}function ds(e){return Us(e).replace(bc,"%2B").replace(Gp,"+").replace(gc,"%23").replace(Fp,"%26").replace(qp,"`").replace(_c,"{").replace(wc,"}").replace(yc,"^")}function Jp(e){return ds(e).replace(Vp,"%3D")}function Qp(e){return Us(e).replace(gc,"%23").replace(zp,"%3F")}function Xp(e){return e==null?"":Qp(e).replace(Bp,"%2F")}function mr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Zp=/\/$/,eh=e=>e.replace(Zp,"");function Wo(e,t,n="/"){let r,o={},s="",l="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(r=t.slice(0,i),s=t.slice(i+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),l=t.slice(a,t.length)),r=oh(r??t,n),{fullPath:r+(s&&"?")+s+l,path:r,query:o,hash:mr(l)}}function th(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ra(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function nh(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Bn(t.matched[r],n.matched[o])&&Sc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Bn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Sc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!rh(e[n],t[n]))return!1;return!0}function rh(e,t){return yt(e)?oa(e,t):yt(t)?oa(t,e):e===t}function oa(e,t){return yt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function oh(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,l,a;for(l=0;l1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(l).join("/")}const Mt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var gr;(function(e){e.pop="pop",e.push="push"})(gr||(gr={}));var ar;(function(e){e.back="back",e.forward="forward",e.unknown=""})(ar||(ar={}));function sh(e){if(!e)if($n){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),eh(e)}const lh=/^[^#]+#/;function ah(e,t){return e.replace(lh,"#")+t}function ih(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const wo=()=>({left:window.scrollX,top:window.scrollY});function ch(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=ih(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function sa(e,t){return(history.state?history.state.position-t:-1)+e}const ps=new Map;function uh(e,t){ps.set(e,t)}function fh(e){const t=ps.get(e);return ps.delete(e),t}let dh=()=>location.protocol+"//"+location.host;function Ec(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,i=o.slice(a);return i[0]!=="/"&&(i="/"+i),ra(i,"")}return ra(n,e)+r+o}function ph(e,t,n,r){let o=[],s=[],l=null;const a=({state:p})=>{const h=Ec(e,location),b=n.value,_=t.value;let w=0;if(p){if(n.value=h,t.value=p,l&&l===b){l=null;return}w=_?p.position-_.position:0}else r(h);o.forEach(S=>{S(n.value,b,{delta:w,type:gr.pop,direction:w?w>0?ar.forward:ar.back:ar.unknown})})};function i(){l=n.value}function c(p){o.push(p);const h=()=>{const b=o.indexOf(p);b>-1&&o.splice(b,1)};return s.push(h),h}function f(){const{history:p}=window;p.state&&p.replaceState(fe({},p.state,{scroll:wo()}),"")}function d(){for(const p of s)p();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:i,listen:c,destroy:d}}function la(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?wo():null}}function hh(e){const{history:t,location:n}=window,r={value:Ec(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(i,c,f){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:dh()+e+i;try{t[f?"replaceState":"pushState"](c,"",p),o.value=c}catch(h){console.error(h),n[f?"replace":"assign"](p)}}function l(i,c){const f=fe({},t.state,la(o.value.back,i,o.value.forward,!0),c,{position:o.value.position});s(i,f,!0),r.value=i}function a(i,c){const f=fe({},o.value,t.state,{forward:i,scroll:wo()});s(f.current,f,!0);const d=fe({},la(r.value,i,null),{position:f.position+1},c);s(i,d,!1),r.value=i}return{location:r,state:o,push:a,replace:l}}function vh(e){e=sh(e);const t=hh(e),n=ph(e,t.state,t.location,t.replace);function r(s,l=!0){l||n.pauseListeners(),history.go(s)}const o=fe({location:"",base:e,go:r,createHref:ah.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function mh(e){return typeof e=="string"||e&&typeof e=="object"}function Cc(e){return typeof e=="string"||typeof e=="symbol"}const kc=Symbol("");var aa;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(aa||(aa={}));function Vn(e,t){return fe(new Error,{type:e,[kc]:!0},t)}function Ot(e,t){return e instanceof Error&&kc in e&&(t==null||!!(e.type&t))}const ia="[^/]+?",gh={sensitive:!1,strict:!1,start:!0,end:!0},bh=/[.+*?^${}()[\]/\\]/g;function yh(e,t){const n=fe({},gh,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const f=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function xc(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const wh={type:0,value:""},Sh=/[a-zA-Z0-9_]/;function Eh(e){if(!e)return[[]];if(e==="/")return[[wh]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${c}": ${h}`)}let n=0,r=n;const o=[];let s;function l(){s&&o.push(s),s=[]}let a=0,i,c="",f="";function d(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:f,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=i}for(;a{l(m)}:lr}function l(d){if(Cc(d)){const p=r.get(d);p&&(r.delete(d),n.splice(n.indexOf(p),1),p.children.forEach(l),p.alias.forEach(l))}else{const p=n.indexOf(d);p>-1&&(n.splice(p,1),d.record.name&&r.delete(d.record.name),d.children.forEach(l),d.alias.forEach(l))}}function a(){return n}function i(d){const p=Ah(d,n);n.splice(p,0,d),d.record.name&&!da(d)&&r.set(d.record.name,d)}function c(d,p){let h,b={},_,w;if("name"in d&&d.name){if(h=r.get(d.name),!h)throw Vn(1,{location:d});w=h.record.name,b=fe(ua(p.params,h.keys.filter(m=>!m.optional).concat(h.parent?h.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),d.params&&ua(d.params,h.keys.map(m=>m.name))),_=h.stringify(b)}else if(d.path!=null)_=d.path,h=n.find(m=>m.re.test(_)),h&&(b=h.parse(_),w=h.record.name);else{if(h=p.name?r.get(p.name):n.find(m=>m.re.test(p.path)),!h)throw Vn(1,{location:d,currentLocation:p});w=h.record.name,b=fe({},p.params,d.params),_=h.stringify(b)}const S=[];let y=h;for(;y;)S.unshift(y.record),y=y.parent;return{name:w,path:_,params:b,matched:S,meta:Th(S)}}e.forEach(d=>s(d));function f(){n.length=0,r.clear()}return{addRoute:s,resolve:c,removeRoute:l,clearRoutes:f,getRoutes:a,getRecordMatcher:o}}function ua(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function fa(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:xh(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function xh(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function da(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Th(e){return e.reduce((t,n)=>fe(t,n.meta),{})}function pa(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Ah(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;xc(e,t[s])<0?r=s:n=s+1}const o=Ph(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function Ph(e){let t=e;for(;t=t.parent;)if(Tc(t)&&xc(e,t)===0)return t}function Tc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function $h(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&ds(s)):[r&&ds(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Lh(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=yt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Oh=Symbol(""),va=Symbol(""),So=Symbol(""),qs=Symbol(""),hs=Symbol("");function Qn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Yt(e,t,n,r,o,s=l=>l()){const l=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,i)=>{const c=p=>{p===!1?i(Vn(4,{from:n,to:t})):p instanceof Error?i(p):mh(p)?i(Vn(2,{from:t,to:p})):(l&&r.enterCallbacks[o]===l&&typeof p=="function"&&l.push(p),a())},f=s(()=>e.call(r&&r.instances[o],t,n,c));let d=Promise.resolve(f);e.length<3&&(d=d.then(c)),d.catch(p=>i(p))})}function Uo(e,t,n,r,o=s=>s()){const s=[];for(const l of e)for(const a in l.components){let i=l.components[a];if(!(t!=="beforeRouteEnter"&&!l.instances[a]))if(mc(i)){const f=(i.__vccOpts||i)[t];f&&s.push(Yt(f,n,r,l,a,o))}else{let c=i();s.push(()=>c.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${a}" at "${l.path}"`);const d=jp(f)?f.default:f;l.mods[a]=f,l.components[a]=d;const h=(d.__vccOpts||d)[t];return h&&Yt(h,n,r,l,a,o)()}))}}return s}function ma(e){const t=Ne(So),n=Ne(qs),r=k(()=>{const i=Qt(e.to);return t.resolve(i)}),o=k(()=>{const{matched:i}=r.value,{length:c}=i,f=i[c-1],d=n.matched;if(!f||!d.length)return-1;const p=d.findIndex(Bn.bind(null,f));if(p>-1)return p;const h=ga(i[c-2]);return c>1&&ga(f)===h&&d[d.length-1].path!==h?d.findIndex(Bn.bind(null,i[c-2])):p}),s=k(()=>o.value>-1&&Dh(n.params,r.value.params)),l=k(()=>o.value>-1&&o.value===n.matched.length-1&&Sc(n.params,r.value.params));function a(i={}){if(Nh(i)){const c=t[Qt(e.replace)?"replace":"push"](Qt(e.to)).catch(lr);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:r,href:k(()=>r.value.href),isActive:s,isExactActive:l,navigate:a}}function Rh(e){return e.length===1?e[0]:e}const Mh=U({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ma,setup(e,{slots:t}){const n=Xt(ma(e)),{options:r}=Ne(So),o=k(()=>({[ba(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ba(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&Rh(t.default(n));return e.custom?s:u("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Ih=Mh;function Nh(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Dh(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!yt(o)||o.length!==r.length||r.some((s,l)=>s!==o[l]))return!1}return!0}function ga(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ba=(e,t,n)=>e??t??n,Hh=U({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ne(hs),o=k(()=>e.route||r.value),s=Ne(va,0),l=k(()=>{let c=Qt(s);const{matched:f}=o.value;let d;for(;(d=f[c])&&!d.components;)c++;return c}),a=k(()=>o.value.matched[l.value]);Nn(va,k(()=>l.value+1)),Nn(Oh,a),Nn(hs,o);const i=oe();return Ae(()=>[i.value,a.value,e.name],([c,f,d],[p,h,b])=>{f&&(f.instances[d]=c,h&&h!==f&&c&&c===p&&(f.leaveGuards.size||(f.leaveGuards=h.leaveGuards),f.updateGuards.size||(f.updateGuards=h.updateGuards))),c&&f&&(!h||!Bn(f,h)||!p)&&(f.enterCallbacks[d]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,d=a.value,p=d&&d.components[f];if(!p)return ya(n.default,{Component:p,route:c});const h=d.props[f],b=h?h===!0?c.params:typeof h=="function"?h(c):h:null,w=u(p,fe({},b,t,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(d.instances[f]=null)},ref:i}));return ya(n.default,{Component:w,route:c})||w}}});function ya(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const jh=Hh;function Fh(e){const t=kh(e.routes,e),n=e.parseQuery||$h,r=e.stringifyQuery||ha,o=e.history,s=Qn(),l=Qn(),a=Qn(),i=re(Mt);let c=Mt;$n&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=zo.bind(null,A=>""+A),d=zo.bind(null,Xp),p=zo.bind(null,mr);function h(A,q){let B,Y;return Cc(A)?(B=t.getRecordMatcher(A),Y=q):Y=A,t.addRoute(Y,B)}function b(A){const q=t.getRecordMatcher(A);q&&t.removeRoute(q)}function _(){return t.getRoutes().map(A=>A.record)}function w(A){return!!t.getRecordMatcher(A)}function S(A,q){if(q=fe({},q||i.value),typeof A=="string"){const g=Wo(n,A,q.path),C=t.resolve({path:g.path},q),L=o.createHref(g.fullPath);return fe(g,C,{params:p(C.params),hash:mr(g.hash),redirectedFrom:void 0,href:L})}let B;if(A.path!=null)B=fe({},A,{path:Wo(n,A.path,q.path).path});else{const g=fe({},A.params);for(const C in g)g[C]==null&&delete g[C];B=fe({},A,{params:d(g)}),q.params=d(q.params)}const Y=t.resolve(B,q),ue=A.hash||"";Y.params=f(p(Y.params));const we=th(r,fe({},A,{hash:Yp(ue),path:Y.path})),v=o.createHref(we);return fe({fullPath:we,hash:ue,query:r===ha?Lh(A.query):A.query||{}},Y,{redirectedFrom:void 0,href:v})}function y(A){return typeof A=="string"?Wo(n,A,i.value.path):fe({},A)}function m(A,q){if(c!==A)return Vn(8,{from:q,to:A})}function E(A){return x(A)}function R(A){return E(fe(y(A),{replace:!0}))}function z(A){const q=A.matched[A.matched.length-1];if(q&&q.redirect){const{redirect:B}=q;let Y=typeof B=="function"?B(A):B;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=y(Y):{path:Y},Y.params={}),fe({query:A.query,hash:A.hash,params:Y.path!=null?{}:A.params},Y)}}function x(A,q){const B=c=S(A),Y=i.value,ue=A.state,we=A.force,v=A.replace===!0,g=z(B);if(g)return x(fe(y(g),{state:typeof g=="object"?fe({},ue,g.state):ue,force:we,replace:v}),q||B);const C=B;C.redirectedFrom=q;let L;return!we&&nh(r,Y,B)&&(L=Vn(16,{to:C,from:Y}),Et(Y,Y,!0,!1)),(L?Promise.resolve(L):D(C,Y)).catch(T=>Ot(T)?Ot(T,2)?T:zt(T):K(T,C,Y)).then(T=>{if(T){if(Ot(T,2))return x(fe({replace:v},y(T.to),{state:typeof T.to=="object"?fe({},ue,T.to.state):ue,force:we}),q||C)}else T=P(C,Y,!0,v,ue);return N(C,Y,T),T})}function V(A,q){const B=m(A,q);return B?Promise.reject(B):Promise.resolve()}function $(A){const q=kn.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(A):A()}function D(A,q){let B;const[Y,ue,we]=Bh(A,q);B=Uo(Y.reverse(),"beforeRouteLeave",A,q);for(const g of Y)g.leaveGuards.forEach(C=>{B.push(Yt(C,A,q))});const v=V.bind(null,A,q);return B.push(v),at(B).then(()=>{B=[];for(const g of s.list())B.push(Yt(g,A,q));return B.push(v),at(B)}).then(()=>{B=Uo(ue,"beforeRouteUpdate",A,q);for(const g of ue)g.updateGuards.forEach(C=>{B.push(Yt(C,A,q))});return B.push(v),at(B)}).then(()=>{B=[];for(const g of we)if(g.beforeEnter)if(yt(g.beforeEnter))for(const C of g.beforeEnter)B.push(Yt(C,A,q));else B.push(Yt(g.beforeEnter,A,q));return B.push(v),at(B)}).then(()=>(A.matched.forEach(g=>g.enterCallbacks={}),B=Uo(we,"beforeRouteEnter",A,q,$),B.push(v),at(B))).then(()=>{B=[];for(const g of l.list())B.push(Yt(g,A,q));return B.push(v),at(B)}).catch(g=>Ot(g,8)?g:Promise.reject(g))}function N(A,q,B){a.list().forEach(Y=>$(()=>Y(A,q,B)))}function P(A,q,B,Y,ue){const we=m(A,q);if(we)return we;const v=q===Mt,g=$n?history.state:{};B&&(Y||v?o.replace(A.fullPath,fe({scroll:v&&g&&g.scroll},ue)):o.push(A.fullPath,ue)),i.value=A,Et(A,q,B,v),zt()}let F;function le(){F||(F=o.listen((A,q,B)=>{if(!Or.listening)return;const Y=S(A),ue=z(Y);if(ue){x(fe(ue,{replace:!0,force:!0}),Y).catch(lr);return}c=Y;const we=i.value;$n&&uh(sa(we.fullPath,B.delta),wo()),D(Y,we).catch(v=>Ot(v,12)?v:Ot(v,2)?(x(fe(y(v.to),{force:!0}),Y).then(g=>{Ot(g,20)&&!B.delta&&B.type===gr.pop&&o.go(-1,!1)}).catch(lr),Promise.reject()):(B.delta&&o.go(-B.delta,!1),K(v,Y,we))).then(v=>{v=v||P(Y,we,!1),v&&(B.delta&&!Ot(v,8)?o.go(-B.delta,!1):B.type===gr.pop&&Ot(v,20)&&o.go(-1,!1)),N(Y,we,v)}).catch(lr)}))}let he=Qn(),G=Qn(),X;function K(A,q,B){zt(A);const Y=G.list();return Y.length?Y.forEach(ue=>ue(A,q,B)):console.error(A),Promise.reject(A)}function ke(){return X&&i.value!==Mt?Promise.resolve():new Promise((A,q)=>{he.add([A,q])})}function zt(A){return X||(X=!A,le(),he.list().forEach(([q,B])=>A?B(A):q()),he.reset()),A}function Et(A,q,B,Y){const{scrollBehavior:ue}=e;if(!$n||!ue)return Promise.resolve();const we=!B&&fh(sa(A.fullPath,0))||(Y||!B)&&history.state&&history.state.scroll||null;return Sn().then(()=>ue(A,q,we)).then(v=>v&&ch(v)).catch(v=>K(v,A,q))}const Xe=A=>o.go(A);let Cn;const kn=new Set,Or={currentRoute:i,listening:!0,addRoute:h,removeRoute:b,clearRoutes:t.clearRoutes,hasRoute:w,getRoutes:_,resolve:S,options:e,push:E,replace:R,go:Xe,back:()=>Xe(-1),forward:()=>Xe(1),beforeEach:s.add,beforeResolve:l.add,afterEach:a.add,onError:G.add,isReady:ke,install(A){const q=this;A.component("RouterLink",Ih),A.component("RouterView",jh),A.config.globalProperties.$router=q,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>Qt(i)}),$n&&!Cn&&i.value===Mt&&(Cn=!0,E(o.location).catch(ue=>{}));const B={};for(const ue in Mt)Object.defineProperty(B,ue,{get:()=>i.value[ue],enumerable:!0});A.provide(So,q),A.provide(qs,hi(B)),A.provide(hs,i);const Y=A.unmount;kn.add(A),A.unmount=function(){kn.delete(A),kn.size<1&&(c=Mt,F&&F(),F=null,i.value=Mt,Cn=!1,X=!1),Y()}}};function at(A){return A.reduce((q,B)=>q.then(()=>$(B)),Promise.resolve())}return Or}function Bh(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let l=0;lBn(c,a))?r.push(a):n.push(a));const i=e.matched[l];i&&(t.matched.find(c=>Bn(c,i))||o.push(i))}return[n,r,o]}function Wn(){return Ne(So)}function nn(e){return Ne(qs)}var Ks=Symbol(""),wt=()=>{const e=Ne(Ks);if(!e)throw new Error("useClientData() is called without provider.");return e},Vh=()=>wt().pageComponent,pt=()=>wt().pageData,_e=()=>wt().pageFrontmatter,zh=()=>wt().pageHead,Ac=()=>wt().pageLang,Wh=()=>wt().pageLayout,Pt=()=>wt().routeLocale,Un=()=>wt().routePath,Uh=()=>wt().routes,Pc=()=>wt().siteData,Eo=()=>wt().siteLocaleData,Yr=re([]),Vt=e=>{Yr.value.push(e),Bt(()=>{Yr.value=Yr.value.filter(t=>t!==e)})},qh=Symbol(""),vs=re(Dp),Dn=re(Hp),$c=(e,t)=>{const n=Tp(e,t);if(Dn.value[n])return n;const r=encodeURI(n);if(Dn.value[r])return r;const o=vs.value[n]||vs.value[r];return o||n},Ht=(e,t)=>{const{pathname:n,hashAndQueries:r}=pc(e),o=$c(n,t),s=o+r;return Dn.value[o]?{...Dn.value[o],path:s,notFound:!1}:{...Dn.value["/404.html"],path:s,notFound:!0}},Kh=(e,t)=>{const{pathname:n,hashAndQueries:r}=pc(e);return $c(n,t)+r},Gh=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},mt=U({name:"RouteLink",props:{to:{type:String,required:!0},active:Boolean,activeClass:{type:String,default:"route-link-active"}},slots:Object,setup(e,{slots:t}){const n=Wn(),r=nn(),o=k(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Kh(e.to,r.path).substring(1)}`);return()=>u("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(s={})=>{Gh(s)&&n.push(e.to).catch()}},t.default())}}),Yh=U({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=Er(e,"config"),r=nn(),o=Pc(),s=k(()=>Ar(n.value.link)),l=k(()=>n.value.target||(s.value?"_blank":void 0)),a=k(()=>l.value==="_blank"),i=k(()=>!s.value&&!a.value),c=k(()=>n.value.rel||(a.value?"noopener noreferrer":null)),f=k(()=>n.value.ariaLabel??n.value.text),d=k(()=>{if(n.value.exact)return!1;const h=Object.keys(o.value.locales);return h.length?h.every(b=>b!==n.value.link):n.value.link!=="/"}),p=k(()=>i.value?n.value.activeMatch?(n.value.activeMatch instanceof RegExp?n.value.activeMatch:new RegExp(n.value.activeMatch,"u")).test(r.path):d.value?r.path.startsWith(n.value.link):r.path===n.value.link:!1);return()=>{const{before:h,after:b,default:_}=t,w=(_==null?void 0:_(n.value))??[h==null?void 0:h(n.value),n.value.text,b==null?void 0:b(n.value)];return i.value?u(mt,{class:"auto-link",to:n.value.link,active:p.value,"aria-label":f.value},()=>w):u("a",{class:"auto-link external-link",href:n.value.link,"aria-label":f.value,rel:c.value,target:l.value},w)}}}),Gs=U({name:"ClientOnly",setup(e,t){const n=oe(!1);return Ce(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),Br=e=>{Yr.value.forEach(t=>t(e))},Lc=U({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Vh(),n=k(()=>{if(!e.path)return t.value;const o=Ht(e.path);return Ai(async()=>o.loader().then(({comp:s})=>s))}),r=_e();return Ae(r,()=>{Br("updated")},{deep:!0,flush:"post"}),()=>u(n.value,{onVnodeMounted:()=>{Br("mounted")},onVnodeUpdated:()=>{Br("updated")},onVnodeBeforeUnmount:()=>{Br("beforeUnmount")}})}}),Jh="Layout",Qh="en-US",cn=Xt({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=Pe(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return Rp(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Qh,resolvePageLayout:(e,t)=>{const n=Pe(e.frontmatter.layout)?e.frontmatter.layout:Jh;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>Ap(e,decodeURI(t)),resolveSiteLocaleData:({base:e,locales:t,...n},r)=>{var o;return{...n,...t[r],head:[...((o=t[r])==null?void 0:o.head)??[],...n.head]}}}),St=(e={})=>e,Fe=e=>Pr(e)?e:`/${vc(e)}`,Xh=Object.defineProperty,Zh=(e,t)=>{for(var n in t)Xh(e,n,{get:t[n],enumerable:!0})},ev={};Zh(ev,{COMPONENT_STATE_TYPE:()=>tv,INSPECTOR_ID:()=>nv,INSPECTOR_LABEL:()=>rv,INSPECTOR_NODES:()=>ov,INSPECTOR_STATE_SECTION_NAME:()=>sv,PLUGIN_ID:()=>Oc,PLUGIN_LABEL:()=>Ys});var Oc="org.vuejs.vuepress",Ys="VuePress",tv=Ys,nv=Oc,rv=Ys,_a={id:"INTERNAL",label:"Internal",keys:["layouts","routes","redirects"]},wa={id:"SITE",label:"Site",keys:["siteData","siteLocaleData"]},Sa={id:"ROUTE",label:"Route",keys:["routePath","routeLocale"]},Ea={id:"PAGE",label:"Page",keys:["pageData","pageFrontmatter","pageLang","pageHead","pageHeadTitle","pageLayout","pageComponent"]},ov={[_a.id]:_a,[wa.id]:wa,[Sa.id]:Sa,[Ea.id]:Ea},sv="State";function rn(e){return Za()?(tf(e),!0):!1}const qo=new WeakMap,lv=(...e)=>{var t;const n=e[0],r=(t=zn())==null?void 0:t.proxy;if(r==null&&!Ni())throw new Error("injectLocal must be called in setup");return r&&qo.has(r)&&n in qo.get(r)?qo.get(r)[n]:Ne(...e)},$r=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const av=e=>e!=null,iv=Object.prototype.toString,cv=e=>iv.call(e)==="[object Object]",Je=()=>{},ms=uv();function uv(){var e,t;return $r&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Js(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const Rc=e=>e();function fv(e,t={}){let n,r,o=Je;const s=i=>{clearTimeout(i),o(),o=Je};let l;return i=>{const c=ae(e),f=ae(t.maxWait);return n&&s(n),c<=0||f!==void 0&&f<=0?(r&&(s(r),r=null),Promise.resolve(i())):new Promise((d,p)=>{o=t.rejectOnCancel?p:d,l=i,f&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,d(l())},f)),n=setTimeout(()=>{r&&s(r),r=null,d(i())},c)})}}function dv(...e){let t=0,n,r=!0,o=Je,s,l,a,i,c;!Oe(e[0])&&typeof e[0]=="object"?{delay:l,trailing:a=!0,leading:i=!0,rejectOnCancel:c=!1}=e[0]:[l,a=!0,i=!0,c=!1]=e;const f=()=>{n&&(clearTimeout(n),n=void 0,o(),o=Je)};return p=>{const h=ae(l),b=Date.now()-t,_=()=>s=p();return f(),h<=0?(t=Date.now(),_()):(b>h&&(i||!r)?(t=Date.now(),_()):a&&(s=new Promise((w,S)=>{o=c?S:w,n=setTimeout(()=>{t=Date.now(),r=!0,w(_()),f()},Math.max(0,h-b))})),!i&&!n&&(n=setTimeout(()=>r=!0,h)),r=!1,s)}}function pv(e=Rc,t={}){const{initialState:n="active"}=t,r=Ic(n==="active");function o(){r.value=!1}function s(){r.value=!0}const l=(...a)=>{r.value&&e(...a)};return{isActive:wn(r),pause:o,resume:s,eventFilter:l}}function hv(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Ca(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function Mc(e){return zn()}function ir(e){return Array.isArray(e)?e:[e]}function Ic(...e){if(e.length!==1)return Er(...e);const t=e[0];return typeof t=="function"?wn(gi(()=>({get:t,set:Je}))):oe(t)}function Qs(e,t=200,n={}){return Js(fv(t,n),e)}function Nc(e,t=200,n=!1,r=!0,o=!1){return Js(dv(t,n,r,o),e)}function vv(e,t,n={}){const{eventFilter:r=Rc,...o}=n;return Ae(e,Js(r,t),o)}function mv(e,t,n={}){const{eventFilter:r,initialState:o="active",...s}=n,{eventFilter:l,pause:a,resume:i,isActive:c}=pv(r,{initialState:o});return{stop:vv(e,t,{...s,eventFilter:l}),pause:a,resume:i,isActive:c}}function qn(e,t=!0,n){Mc()?Ce(e,n):t?e():Sn(e)}function gv(e,t){Mc()&&Bt(e,t)}function bv(e,t,n={}){const{immediate:r=!0,immediateCallback:o=!1}=n,s=re(!1);let l=null;function a(){l&&(clearTimeout(l),l=null)}function i(){s.value=!1,a()}function c(...f){o&&e(),a(),s.value=!0,l=setTimeout(()=>{s.value=!1,l=null,e(...f)},ae(t))}return r&&(s.value=!0,$r&&c()),rn(i),{isPending:wn(s),start:c,stop:i}}function ao(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Oe(e),s=re(e);function l(a){if(arguments.length)return s.value=a,s.value;{const i=ae(n);return s.value=s.value===i?ae(r):i,s.value}}return o?l:[s,l]}function lt(e,t,n){return Ae(e,t,{...n,immediate:!0})}const qe=$r?window:void 0,Xs=$r?window.document:void 0,Dc=$r?window.navigator:void 0;function Be(e){var t;const n=ae(e);return(t=n==null?void 0:n.$el)!=null?t:n}function se(...e){const t=[],n=()=>{t.forEach(a=>a()),t.length=0},r=(a,i,c,f)=>(a.addEventListener(i,c,f),()=>a.removeEventListener(i,c,f)),o=k(()=>{const a=ir(ae(e[0])).filter(i=>i!=null);return a.every(i=>typeof i!="string")?a:void 0}),s=lt(()=>{var a,i;return[(i=(a=o.value)==null?void 0:a.map(c=>Be(c)))!=null?i:[qe].filter(c=>c!=null),ir(ae(o.value?e[1]:e[0])),ir(Qt(o.value?e[2]:e[1])),ae(o.value?e[3]:e[2])]},([a,i,c,f])=>{if(n(),!(a!=null&&a.length)||!(i!=null&&i.length)||!(c!=null&&c.length))return;const d=cv(f)?{...f}:f;t.push(...a.flatMap(p=>i.flatMap(h=>c.map(b=>r(p,h,b,d)))))},{flush:"post"}),l=()=>{s(),n()};return rn(n),l}let ka=!1;function yv(e,t,n={}){const{window:r=qe,ignore:o=[],capture:s=!0,detectIframe:l=!1,controls:a=!1}=n;if(!r)return a?{stop:Je,cancel:Je,trigger:Je}:Je;if(ms&&!ka){ka=!0;const w={passive:!0};Array.from(r.document.body.children).forEach(S=>se(S,"click",Je,w)),se(r.document.documentElement,"click",Je,w)}let i=!0;const c=w=>ae(o).some(S=>{if(typeof S=="string")return Array.from(r.document.querySelectorAll(S)).some(y=>y===w.target||w.composedPath().includes(y));{const y=Be(S);return y&&(w.target===y||w.composedPath().includes(y))}});function f(w){const S=ae(w);return S&&S.$.subTree.shapeFlag===16}function d(w,S){const y=ae(w),m=y.$.subTree&&y.$.subTree.children;return m==null||!Array.isArray(m)?!1:m.some(E=>E.el===S.target||S.composedPath().includes(E.el))}const p=w=>{const S=Be(e);if(w.target!=null&&!(!(S instanceof Element)&&f(e)&&d(e,w))&&!(!S||S===w.target||w.composedPath().includes(S))){if("detail"in w&&w.detail===0&&(i=!c(w)),!i){i=!0;return}t(w)}};let h=!1;const b=[se(r,"click",w=>{h||(h=!0,setTimeout(()=>{h=!1},0),p(w))},{passive:!0,capture:s}),se(r,"pointerdown",w=>{const S=Be(e);i=!c(w)&&!!(S&&!w.composedPath().includes(S))},{passive:!0}),l&&se(r,"blur",w=>{setTimeout(()=>{var S;const y=Be(e);((S=r.document.activeElement)==null?void 0:S.tagName)==="IFRAME"&&!(y!=null&&y.contains(r.document.activeElement))&&t(w)},0)},{passive:!0})].filter(Boolean),_=()=>b.forEach(w=>w());return a?{stop:_,cancel:()=>{i=!1},trigger:w=>{i=!0,p(w),i=!1}}:_}function _v(){const e=re(!1),t=zn();return t&&Ce(()=>{e.value=!0},t),e}function En(e){const t=_v();return k(()=>(t.value,!!e()))}function wv(e,t,n={}){const{window:r=qe,...o}=n;let s;const l=En(()=>r&&"MutationObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},i=k(()=>{const p=ae(e),h=ir(p).map(Be).filter(av);return new Set(h)}),c=Ae(()=>i.value,p=>{a(),l.value&&p.size&&(s=new MutationObserver(t),p.forEach(h=>s.observe(h,o)))},{immediate:!0,flush:"post"}),f=()=>s==null?void 0:s.takeRecords(),d=()=>{c(),a()};return rn(d),{isSupported:l,stop:d,takeRecords:f}}function Sv(e,t,n={}){const{window:r=qe,document:o=r==null?void 0:r.document,flush:s="sync"}=n;if(!r||!o)return Je;let l;const a=f=>{l==null||l(),l=f},i=Fs(()=>{const f=Be(e);if(f){const{stop:d}=wv(o,p=>{p.map(b=>[...b.removedNodes]).flat().some(b=>b===f||b.contains(f))&&t(p)},{window:r,childList:!0,subtree:!0});a(d)}},{flush:s}),c=()=>{i(),a()};return rn(c),c}const Ev=Symbol("vueuse-ssr-width");function Cv(){const e=Ni()?lv(Ev,null):null;return typeof e=="number"?e:void 0}function Zs(e,t={}){const{window:n=qe,ssrWidth:r=Cv()}=t,o=En(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),s=re(typeof r=="number"),l=re(),a=re(!1),i=c=>{a.value=c.matches};return Fs(()=>{if(s.value){s.value=!o.value;const c=ae(e).split(",");a.value=c.some(f=>{const d=f.includes("not all"),p=f.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),h=f.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let b=!!(p||h);return p&&b&&(b=r>=Ca(p[1])),h&&b&&(b=r<=Ca(h[1])),d?!b:b});return}o.value&&(l.value=n.matchMedia(ae(e)),a.value=l.value.matches)}),se(l,"change",i,{passive:!0}),k(()=>a.value)}function xa(e,t={}){const{controls:n=!1,navigator:r=Dc}=t,o=En(()=>r&&"permissions"in r),s=re(),l=typeof e=="string"?{name:e}:e,a=re(),i=()=>{var f,d;a.value=(d=(f=s.value)==null?void 0:f.state)!=null?d:"prompt"};se(s,"change",i,{passive:!0});const c=hv(async()=>{if(o.value){if(!s.value)try{s.value=await r.permissions.query(l)}catch{s.value=void 0}finally{i()}if(n)return ce(s.value)}});return c(),n?{state:a,isSupported:o,query:c}:a}function kv(e={}){const{navigator:t=Dc,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,l=En(()=>t&&"clipboard"in t),a=xa("clipboard-read"),i=xa("clipboard-write"),c=k(()=>l.value||s),f=re(""),d=re(!1),p=bv(()=>d.value=!1,o,{immediate:!1});async function h(){let y=!(l.value&&S(a.value));if(!y)try{f.value=await t.clipboard.readText()}catch{y=!0}y&&(f.value=w())}c.value&&n&&se(["copy","cut"],h,{passive:!0});async function b(y=ae(r)){if(c.value&&y!=null){let m=!(l.value&&S(i.value));if(!m)try{await t.clipboard.writeText(y)}catch{m=!0}m&&_(y),f.value=y,d.value=!0,p.start()}}function _(y){const m=document.createElement("textarea");m.value=y??"",m.style.position="absolute",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),m.remove()}function w(){var y,m,E;return(E=(m=(y=document==null?void 0:document.getSelection)==null?void 0:y.call(document))==null?void 0:m.toString())!=null?E:""}function S(y){return y==="granted"||y==="prompt"}return{isSupported:c,text:f,copied:d,copy:b}}const Vr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},zr="__vueuse_ssr_handlers__",xv=Tv();function Tv(){return zr in Vr||(Vr[zr]=Vr[zr]||{}),Vr[zr]}function Av(e,t){return xv[e]||t}function Pv(e){return Zs("(prefers-color-scheme: dark)",e)}function $v(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Lv={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Ta="vueuse-storage";function el(e,t,n,r={}){var o;const{flush:s="pre",deep:l=!0,listenToStorageChanges:a=!0,writeDefaults:i=!0,mergeDefaults:c=!1,shallow:f,window:d=qe,eventFilter:p,onError:h=N=>{console.error(N)},initOnMounted:b}=r,_=(f?re:oe)(typeof t=="function"?t():t),w=k(()=>ae(e));if(!n)try{n=Av("getDefaultStorage",()=>{var N;return(N=qe)==null?void 0:N.localStorage})()}catch(N){h(N)}if(!n)return _;const S=ae(t),y=$v(S),m=(o=r.serializer)!=null?o:Lv[y],{pause:E,resume:R}=mv(_,()=>x(_.value),{flush:s,deep:l,eventFilter:p});Ae(w,()=>$(),{flush:s}),d&&a&&qn(()=>{n instanceof Storage?se(d,"storage",$,{passive:!0}):se(d,Ta,D),b&&$()}),b||$();function z(N,P){if(d){const F={key:w.value,oldValue:N,newValue:P,storageArea:n};d.dispatchEvent(n instanceof Storage?new StorageEvent("storage",F):new CustomEvent(Ta,{detail:F}))}}function x(N){try{const P=n.getItem(w.value);if(N==null)z(P,null),n.removeItem(w.value);else{const F=m.write(N);P!==F&&(n.setItem(w.value,F),z(P,F))}}catch(P){h(P)}}function V(N){const P=N?N.newValue:n.getItem(w.value);if(P==null)return i&&S!=null&&n.setItem(w.value,m.write(S)),S;if(!N&&c){const F=m.read(P);return typeof c=="function"?c(F,S):y==="object"&&!Array.isArray(F)?{...S,...F}:F}else return typeof P!="string"?P:m.read(P)}function $(N){if(!(N&&N.storageArea!==n)){if(N&&N.key==null){_.value=S;return}if(!(N&&N.key!==w.value)){E();try{(N==null?void 0:N.newValue)!==m.write(_.value)&&(_.value=V(N))}catch(P){h(P)}finally{N?Sn(R):R()}}}}function D(N){$(N.detail)}return _}function Ov(e,t,n={}){const{window:r=qe,...o}=n;let s;const l=En(()=>r&&"ResizeObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},i=k(()=>{const d=ae(e);return Array.isArray(d)?d.map(p=>Be(p)):[Be(d)]}),c=Ae(i,d=>{if(a(),l.value&&r){s=new ResizeObserver(t);for(const p of d)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{a(),c()};return rn(f),{isSupported:l,stop:f}}function Rv(e,t={}){const{delayEnter:n=0,delayLeave:r=0,triggerOnRemoval:o=!1,window:s=qe}=t,l=re(!1);let a;const i=c=>{const f=c?n:r;a&&(clearTimeout(a),a=void 0),f?a=setTimeout(()=>l.value=c,f):l.value=c};return s&&(se(e,"mouseenter",()=>i(!0),{passive:!0}),se(e,"mouseleave",()=>i(!1),{passive:!0}),o&&Sv(k(()=>Be(e)),()=>i(!1))),l}function Mv(e,t={width:0,height:0},n={}){const{window:r=qe,box:o="content-box"}=n,s=k(()=>{var d,p;return(p=(d=Be(e))==null?void 0:d.namespaceURI)==null?void 0:p.includes("svg")}),l=re(t.width),a=re(t.height),{stop:i}=Ov(e,([d])=>{const p=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&s.value){const h=Be(e);if(h){const b=h.getBoundingClientRect();l.value=b.width,a.value=b.height}}else if(p){const h=ir(p);l.value=h.reduce((b,{inlineSize:_})=>b+_,0),a.value=h.reduce((b,{blockSize:_})=>b+_,0)}else l.value=d.contentRect.width,a.value=d.contentRect.height},n);qn(()=>{const d=Be(e);d&&(l.value="offsetWidth"in d?d.offsetWidth:t.width,a.value="offsetHeight"in d?d.offsetHeight:t.height)});const c=Ae(()=>Be(e),d=>{l.value=d?t.width:0,a.value=d?t.height:0});function f(){i(),c()}return{width:l,height:a,stop:f}}const Aa=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Co(e,t={}){const{document:n=Xs,autoExit:r=!1}=t,o=k(()=>{var y;return(y=Be(e))!=null?y:n==null?void 0:n.documentElement}),s=re(!1),l=k(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),a=k(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),i=k(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(y=>n&&y in n||o.value&&y in o.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(y=>n&&y in n),f=En(()=>o.value&&n&&l.value!==void 0&&a.value!==void 0&&i.value!==void 0),d=()=>c?(n==null?void 0:n[c])===o.value:!1,p=()=>{if(i.value){if(n&&n[i.value]!=null)return n[i.value];{const y=o.value;if((y==null?void 0:y[i.value])!=null)return!!y[i.value]}}return!1};async function h(){if(!(!f.value||!s.value)){if(a.value)if((n==null?void 0:n[a.value])!=null)await n[a.value]();else{const y=o.value;(y==null?void 0:y[a.value])!=null&&await y[a.value]()}s.value=!1}}async function b(){if(!f.value||s.value)return;p()&&await h();const y=o.value;l.value&&(y==null?void 0:y[l.value])!=null&&(await y[l.value](),s.value=!0)}async function _(){await(s.value?h():b())}const w=()=>{const y=p();(!y||y&&d())&&(s.value=y)},S={capture:!1,passive:!0};return se(n,Aa,w,S),se(()=>Be(o),Aa,w,S),r&&rn(h),{isSupported:f,isFullscreen:s,enter:b,exit:h,toggle:_}}function Ko(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}const Pa=1;function Iv(e,t={}){const{throttle:n=0,idle:r=200,onStop:o=Je,onScroll:s=Je,offset:l={left:0,right:0,top:0,bottom:0},eventListenerOptions:a={capture:!1,passive:!0},behavior:i="auto",window:c=qe,onError:f=x=>{console.error(x)}}=t,d=re(0),p=re(0),h=k({get(){return d.value},set(x){_(x,void 0)}}),b=k({get(){return p.value},set(x){_(void 0,x)}});function _(x,V){var $,D,N,P;if(!c)return;const F=ae(e);if(!F)return;(N=F instanceof Document?c.document.body:F)==null||N.scrollTo({top:($=ae(V))!=null?$:b.value,left:(D=ae(x))!=null?D:h.value,behavior:ae(i)});const le=((P=F==null?void 0:F.document)==null?void 0:P.documentElement)||(F==null?void 0:F.documentElement)||F;h!=null&&(d.value=le.scrollLeft),b!=null&&(p.value=le.scrollTop)}const w=re(!1),S=Xt({left:!0,right:!1,top:!0,bottom:!1}),y=Xt({left:!1,right:!1,top:!1,bottom:!1}),m=x=>{w.value&&(w.value=!1,y.left=!1,y.right=!1,y.top=!1,y.bottom=!1,o(x))},E=Qs(m,n+r),R=x=>{var V;if(!c)return;const $=((V=x==null?void 0:x.document)==null?void 0:V.documentElement)||(x==null?void 0:x.documentElement)||Be(x),{display:D,flexDirection:N,direction:P}=getComputedStyle($),F=P==="rtl"?-1:1,le=$.scrollLeft;y.left=led.value;const he=Math.abs(le*F)<=(l.left||0),G=Math.abs(le*F)+$.clientWidth>=$.scrollWidth-(l.right||0)-Pa;D==="flex"&&N==="row-reverse"?(S.left=G,S.right=he):(S.left=he,S.right=G),d.value=le;let X=$.scrollTop;x===c.document&&!X&&(X=c.document.body.scrollTop),y.top=Xp.value;const K=Math.abs(X)<=(l.top||0),ke=Math.abs(X)+$.clientHeight>=$.scrollHeight-(l.bottom||0)-Pa;D==="flex"&&N==="column-reverse"?(S.top=ke,S.bottom=K):(S.top=K,S.bottom=ke),p.value=X},z=x=>{var V;if(!c)return;const $=(V=x.target.documentElement)!=null?V:x.target;R($),w.value=!0,E(x),s(x)};return se(e,"scroll",n?Nc(z,n,!0,!1):z,a),qn(()=>{try{const x=ae(e);if(!x)return;R(x)}catch(x){f(x)}}),se(e,"scrollend",m,a),{x:h,y:b,isScrolling:w,arrivedState:S,directions:y,measure(){const x=ae(e);c&&x&&R(x)}}}function Nv(e,t,n={}){const{window:r=qe}=n;return el(e,t,r==null?void 0:r.localStorage,n)}function Dv(e={}){const{window:t=qe}=e;if(!t)return oe(["en"]);const n=t.navigator,r=oe(n.languages);return se(t,"languagechange",()=>{r.value=n.languages},{passive:!0}),r}function Hv(e,t=Je,n={}){const{immediate:r=!0,manual:o=!1,type:s="text/javascript",async:l=!0,crossOrigin:a,referrerPolicy:i,noModule:c,defer:f,document:d=Xs,attrs:p={}}=n,h=re(null);let b=null;const _=y=>new Promise((m,E)=>{const R=$=>(h.value=$,m($),$);if(!d){m(!1);return}let z=!1,x=d.querySelector(`script[src="${ae(e)}"]`);x?x.hasAttribute("data-loaded")&&R(x):(x=d.createElement("script"),x.type=s,x.async=l,x.src=ae(e),f&&(x.defer=f),a&&(x.crossOrigin=a),c&&(x.noModule=c),i&&(x.referrerPolicy=i),Object.entries(p).forEach(([$,D])=>x==null?void 0:x.setAttribute($,D)),z=!0);const V={passive:!0};se(x,"error",$=>E($),V),se(x,"abort",$=>E($),V),se(x,"load",()=>{x.setAttribute("data-loaded","true"),t(x),R(x)},V),z&&(x=d.head.appendChild(x)),y||R(x)}),w=(y=!0)=>(b||(b=_(y)),b),S=()=>{if(!d)return;b=null,h.value&&(h.value=null);const y=d.querySelector(`script[src="${ae(e)}"]`);y&&d.head.removeChild(y)};return r&&!o&&qn(w),o||gv(S),{scriptTag:h,load:w,unload:S}}function Hc(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Go=new WeakMap;function ko(e,t=!1){const n=re(t);let r=null,o="";Ae(Ic(e),a=>{const i=Ko(ae(a));if(i){const c=i;if(Go.get(c)||Go.set(c,c.style.overflow),c.style.overflow!=="hidden"&&(o=c.style.overflow),c.style.overflow==="hidden")return n.value=!0;if(n.value)return c.style.overflow="hidden"}},{immediate:!0});const s=()=>{const a=Ko(ae(e));!a||n.value||(ms&&(r=se(a,"touchmove",i=>{jv(i)},{passive:!1})),a.style.overflow="hidden",n.value=!0)},l=()=>{const a=Ko(ae(e));!a||!n.value||(ms&&(r==null||r()),a.style.overflow=o,Go.delete(a),n.value=!1)};return rn(l),k({get(){return n.value},set(a){a?s():l()}})}function Fv(e,t,n={}){const{window:r=qe}=n;return el(e,t,r==null?void 0:r.sessionStorage,n)}let Bv=0;function Vv(e,t={}){const n=re(!1),{document:r=Xs,immediate:o=!0,manual:s=!1,id:l=`vueuse_styletag_${++Bv}`}=t,a=re(e);let i=()=>{};const c=()=>{if(!r)return;const d=r.getElementById(l)||r.createElement("style");d.isConnected||(d.id=l,t.media&&(d.media=t.media),r.head.appendChild(d)),!n.value&&(i=Ae(a,p=>{d.textContent=p},{immediate:!0}),n.value=!0)},f=()=>{!r||!n.value||(i(),r.head.removeChild(r.getElementById(l)),n.value=!1)};return o&&!s&&qn(c),s||rn(f),{id:l,css:a,unload:f,load:c,isLoaded:wn(n)}}function zv(e={}){const{window:t=qe,...n}=e;return Iv(t,n)}function Wv(e={}){const{window:t=qe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0,type:l="inner"}=e,a=re(n),i=re(r),c=()=>{if(t)if(l==="outer")a.value=t.outerWidth,i.value=t.outerHeight;else if(l==="visual"&&t.visualViewport){const{width:d,height:p,scale:h}=t.visualViewport;a.value=Math.round(d*h),i.value=Math.round(p*h)}else s?(a.value=t.innerWidth,i.value=t.innerHeight):(a.value=t.document.documentElement.clientWidth,i.value=t.document.documentElement.clientHeight)};c(),qn(c);const f={passive:!0};if(se("resize",c,f),t&&l==="visual"&&t.visualViewport&&se(t.visualViewport,"resize",c,f),o){const d=Zs("(orientation: portrait)");Ae(d,()=>c())}return{width:a,height:i}}const Uv=e=>[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i].some(t=>t.test(e)),qv=e=>[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i].some(t=>t.test(e)),Kv=e=>[/(mac os x) ?([\w. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i].some(t=>t.test(e)),jc=[...new Array(6)].map((e,t)=>`[vp-content] h${t+1}`).join(","),Gv=(e,t=2)=>{if(t===!1)return[];const[n,r]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t,o=e.filter(l=>l.level>=n&&l.level<=r),s=[];e:for(let l=0;l=0;i--){const c=o[i];if(c.level{let n;if(t.length){const r=e.cloneNode(!0);r.querySelectorAll(t.join(",")).forEach(o=>{o.remove()}),n=r.textContent||""}else n=e.textContent||"";return n.trim()},Jv=(e=jc,t=[])=>Array.from(document.querySelectorAll(e)).filter(n=>n.id&&n.hasChildNodes()).map(n=>({element:n,title:Yv(n,t),link:`#${n.id}`,slug:n.id,level:Number(n.tagName[1]),children:[]})),Qv=({selector:e=jc,levels:t=2,ignore:n=[]}={})=>Gv(Jv(e,n),t),Xv=e=>e instanceof Element?document.activeElement===e&&(["TEXTAREA","SELECT","INPUT"].includes(e.tagName)||e.hasAttribute("contenteditable")):!1,Zv=(e,t)=>t.some(n=>{if(Pe(n))return n===e.key;const{key:r,ctrl:o=!1,shift:s=!1,alt:l=!1}=n;return r===e.key&&o===e.ctrlKey&&s===e.shiftKey&&l===e.altKey}),_t=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)??zn())==null?void 0:r.appContext.components;return n?e in n||et(e)in n||Sr(et(e))in n:!1},em=(e={})=>{const t=oe([]);return Vt(n=>{t.value=n==="beforeUnmount"?[]:Qv(ae(e))}),t},$t=e=>{const t=Pt();return k(()=>ae(e)[t.value]??{})},tm=(e,t)=>{se("keydown",r=>{const o=ae(e);o!=null&&o.length&&Zv(r,o)&&!Xv(r.target)&&(r.preventDefault(),t())})},Fc=e=>typeof e<"u",Jr=e=>typeof e=="number",{isArray:io}=Array,br=(e,t)=>Pe(e)&&e.startsWith(t),nm=(e,t)=>Pe(e)&&e.endsWith(t),{entries:Bc}=Object,{keys:tl}=Object,{values:rm}=Object,om=e=>{if(e){if(typeof e=="number")return new Date(e);const t=Date.parse(e.toString());if(!Number.isNaN(t))return new Date(t)}return null},nl=e=>br(e,"/")&&e[1]!=="/";var $a={"/":{contributors:"Mitwirkende",changelog:"Aenderungen",timeOn:"am",viewChangelog:"Alle Aenderungen anzeigen",latestUpdateAt:"Zuletzt aktualisiert:"}};const sm=typeof $a>"u"?{}:$a,lm=()=>$t(sm),am=({level:e=2,text:t,anchor:n})=>u(`h${e||2}`,{id:n,tabindex:"-1"},u("a",{href:`#${n}`,class:"header-anchor"},u("span",t))),im=U({name:"Contributors",props:{title:String,headerLevel:{type:Number,default:2}},setup(e){const t=lm(),n=_e(),r=pt(),o=k(()=>{var l;return n.value.contributors===!1?[]:((l=r.value.git)==null?void 0:l.contributors)??[]}),s=({item:{name:l,url:a,avatar:i}})=>u(a?"a":"span",{href:a,target:"_blank",rel:"noreferrer",class:"contributor"},[i?u("img",{src:i,alt:l,class:"avatar"}):null,u("span",{class:"name"},l)]);return()=>o.value.length?[u(am,{level:e.headerLevel,anchor:"doc-contributors",text:e.title||t.value.contributors}),u("div",{class:"vp-contributors"},o.value.map(l=>u(s,{item:l,key:l.name+l.email})))]:null}}),cm={enhance:({app:e})=>{e.component("GitContributors",im)}},um=Object.freeze(Object.defineProperty({__proto__:null,default:cm},Symbol.toStringTag,{value:"Module"})),fm=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),dm=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),pm=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),hm=St({setup(){se("beforeprint",()=>{document.querySelectorAll("details").forEach(e=>{e.open=!0})})}}),vm=Object.freeze(Object.defineProperty({__proto__:null,default:hm},Symbol.toStringTag,{value:"Module"})),mm=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),gm=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),bm=JSON.parse('{"encrypt":{},"logo":"/it4c-logo2-clean-bg_alpha-128x128.png","docsRepo":"https://github.com/IT4Change/IT4C.dev","docsBranch":"master","docsDir":"docs","editLink":true,"lastUpdated":false,"contributors":false,"print":false,"displayFooter":true,"pageInfo":false,"footer":"CC BY IT4C.dev & Autoren - Impressum","locales":{"/":{"lang":"de-DE","navbarLocales":{"langName":"Deutsch","selectLangAriaLabel":"Sprache wählen"},"metaLocales":{"author":"Autor","date":"Datum","origin":"Original","views":"Besucher","category":"Kategorie","tag":"Tag","readingTime":"Lesezeit","words":"Wörter","toc":"Auf dieser Seite","prev":"Vorherige","next":"Nächste","lastUpdated":"Zuletzt geändert","contributors":"Mitwirkende","editLink":"Diese Seite barbeiten","print":"Drucken"},"outlookLocales":{"themeColor":"Design-Farbe","darkmode":"Design-Modus","fullscreen":"Vollbild"},"routeLocales":{"skipToContent":"Zum Hauptinhalt springen","notFoundTitle":"Seite nicht gefunden","notFoundMsg":["Hier gibt es nichts.","Wie sind wir hier hergekommen?","Das ist wohl eine Vier-Null-Vier.","Sieht aus als hättest du einen kaputten Link gefunden."],"back":"Zurück","home":"Zur Startseite"},"navbar":[{"text":"IT4C","link":"/"},{"text":"Kontakt","link":"/kontakt"},{"text":"Github","link":"https://github.com/IT4Change"}],"sidebar":[{"text":"Startseite","link":"/","collapsible":false},{"text":"IT4C","link":"/it4c","collapsible":false,"children":["/historie","/kontakt"]},{"text":"Projekte","collapsible":false,"children":[{"text":"DEMOCRACY App","link":"/projekte/democracy.app"},{"text":"Ocelot.Social","link":"/projekte/ocelot.social"},{"text":"Gradido Software","link":"/projekte/gradido"},{"text":"Utopia Map","link":"/projekte/utopia.map"}]},{"text":"Team","collapsible":false,"children":["/team/alexander-friedland","/team/hannes-heine",{"link":"/team/mathias-lenz","text":"Mathias Lenz"},"/team/maximilian-harz","/team/moriz-wahl","/team/sebastian-stein","/team/ulf-gebhardt","/team/wolfgang-huss"]}]}}}'),ym=oe(bm),Vc=()=>ym,zc=Symbol(""),_m=()=>{const e=Ne(zc);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},wm=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Sm=St({enhance({app:e}){const t=Vc(),n=e._context.provides[Ks],r=k(()=>wm(t.value,n.routeLocale.value));e.provide(zc,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Em=Object.freeze(Object.defineProperty({__proto__:null,default:Sm},Symbol.toStringTag,{value:"Module"}));var Cm={"/":{backToTop:"Zurück nach oben."}};const km=U({name:"BackToTop",setup(){const e=_e(),t=$t(Cm),n=re(),{height:r}=Mv(n),{height:o}=Wv(),{y:s}=zv(),l=k(()=>e.value.backToTop!==!1&&s.value>100),a=k(()=>s.value/(r.value-o.value)*100);return Ce(()=>{n.value=document.body}),()=>u(Fn,{name:"back-to-top"},()=>l.value?u("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[u("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":a.value},u("svg",u("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*a.value*.48} ${Math.PI*(100-a.value)*.48}`}))),u("div",{class:"back-to-top-icon"})]):null)}}),xm=St({rootComponents:[km]}),Tm=Object.freeze(Object.defineProperty({__proto__:null,default:xm},Symbol.toStringTag,{value:"Module"})),Am=/language-(shellscript|shell|bash|sh|zsh)/,Pm=({duration:e=2e3,locales:t,selector:n,showInMobile:r,ignoreSelector:o=[],transform:s})=>{const l=Zs("(max-width: 419px)"),a=k(()=>!l.value||r),i=$t(t),c=b=>{var w;if(b.hasAttribute("copy-code"))return;const _=document.createElement("button");_.type="button",_.classList.add("vp-copy-code-button"),_.setAttribute("aria-label",i.value.copy),_.setAttribute("data-copied",i.value.copied),(w=b.parentElement)==null||w.insertBefore(_,b),b.setAttribute("copy-code","")},f=()=>{document.body.classList.toggle("no-copy-code",!a.value),a.value&&document.querySelectorAll(n.join(",")).forEach(c)};lt(a,f,{flush:"post"}),Vt(b=>{b!=="beforeUnmount"&&f()});const{copy:d}=kv({legacy:!0}),p=new WeakMap,h=async(b,_,w)=>{const S=_.cloneNode(!0);o.length&&S.querySelectorAll(o.join(",")).forEach(E=>{E.remove()}),s&&s(S);let y=S.textContent||"";if(Am.test(b.className)&&(y=y.replace(/^ *(\$|>) /gm,"")),await d(y),e<=0)return;w.classList.add("copied"),clearTimeout(p.get(w));const m=setTimeout(()=>{w.classList.remove("copied"),w.blur(),p.delete(w)},e);p.set(w,m)};se("click",b=>{const _=b.target;if(a.value&&_.matches('div[class*="language-"] > button.vp-copy-code-button')){const w=_.parentElement,S=_.nextElementSibling;if(!w||!S)return;h(w,S,_)}})};var $m=[],Lm={"/":{copy:"Kopiere den Code.",copied:"Kopiert"}},Om=['[vp-content] div[class*="language-"] pre'];const Rm=St({setup:()=>{Pm({selector:Om,ignoreSelector:$m,locales:Lm,duration:2e3,showInMobile:!1})}}),Mm=Object.freeze(Object.defineProperty({__proto__:null,default:Rm},Symbol.toStringTag,{value:"Module"})),Im=U({name:"VPIcon",props:{type:{type:String,default:"unknown"},prefix:String,icon:String,color:String,size:[String,Number],verticalAlign:String,sizing:{type:String,default:"height"}},setup(e){const t=k(()=>e.icon?Pr(e.icon)?e.icon:nl(e.icon)?Fe(e.icon):null:null),n=k(()=>{const o={},s={},{type:l,verticalAlign:a,size:i,sizing:c}=e;return e.color&&(s.color=e.color),i&&(s["--icon-size"]=Number.isNaN(Number(i))?i:`${i}px`),a&&(s["--icon-vertical-align"]=a),l==="iconify"&&(c!=="height"&&(o.width=e.size||"1em"),c!=="width"&&(o.height=e.size||"1em")),e.sizing&&(o.sizing=e.sizing),tl(s).length&&(o.style=s),o}),r=o=>o.includes("fa-")||/^fa.$/.test(o)?o:`fa-${o}`;return()=>{const{type:o,icon:s,prefix:l="",sizing:a}=e;if(!s)return null;if(t.value)return u("img",{class:"vp-icon",src:t.value,alt:"","aria-hidden":"","no-view":"",...n.value});if(o==="iconify")return u("iconify-icon",{key:s,class:"vp-icon",icon:s.includes(":")?s:`${l}${s}`,...n.value});if(o==="fontawesome"){const[i,c]=s.includes(":")?s.split(":",2):["fas",s];return u("i",{key:s,class:["vp-icon",i.length===1?`fa${i}`:r(i),...c.split(" ").map(r),a==="height"?"":"fa-fw"],...n.value})}return u("i",{key:s,class:["vp-icon",s.includes(" ")?s:`${l}${s}`],...n.value})}}}),Nm={enhance:({app:e})=>{_t("VPIcon")||e.component("VPIcon",t=>u(Im,{type:"iconify",prefix:"",...t}))},setup:()=>{Hv("https://cdn.jsdelivr.net/npm/iconify-icon@2")}},Dm=Object.freeze(Object.defineProperty({__proto__:null,default:Nm},Symbol.toStringTag,{value:"Module"})),Hm=oe({}),Wc=Symbol(""),jm=()=>Ne(Wc),Fm=e=>{e.provide(Wc,Hm)},Uc=e=>new Promise((t,n)=>{e.complete?t({type:"image",element:e,src:e.src,width:e.naturalWidth,height:e.naturalHeight,alt:e.alt,msrc:e.src}):(e.onload=()=>{t(Uc(e))},e.onerror=()=>{n()})}),Bm='
',Vm=(e,{download:t=!0,fullscreen:n=!0}={})=>{e.on("uiRegister",()=>{if(e.ui.registerElement({name:"bulletsIndicator",className:"photo-swipe-bullets-indicator",appendTo:"wrapper",onInit:r=>{const o=[];let s=-1;for(let l=0;l{e.goTo(o.indexOf(i.target))},o.push(a),r.appendChild(a)}e.on("change",()=>{s>=0&&o[s].classList.remove("active"),o[e.currIndex].classList.add("active"),s=e.currIndex})}}),n){const{isSupported:r,toggle:o}=Co();r.value&&e.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'',onClick:()=>{o()}})}t&&e.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-download"},onInit:r=>{r.setAttribute("download",""),r.setAttribute("target","_blank"),r.setAttribute("rel","noopener"),e.on("change",()=>{r.setAttribute("href",e.currSlide.data.src)})}})})},zm=({selector:e,locales:t,download:n=!0,fullscreen:r=!0,scrollToClose:o=!0})=>{const s=jm(),l=$t(t),a=_e(),i=k(()=>{const{photoSwipe:b}=a.value;return b===!1?null:Pe(b)?b:io(e)?e.join(", "):e}),c=k(()=>({...s.value,...l.value,download:n,fullscreen:r,scrollToClose:o}));let f=null,d=0,p=null;const h=async b=>{const _=b.target;if(!i.value||!f||!_.matches(i.value))return;d!==0&&p.destroy();const w=Date.now(),S=await f,y=Array.from(document.querySelectorAll(i.value)),m=y.map(R=>({html:Bm,element:R,msrc:R.src})),E=y.findIndex(R=>R===_);p=new S({preloaderDelay:0,showHideAnimationType:"zoom",...c,dataSource:m,index:E,...o?{closeOnVerticalDrag:!0,wheelToZoom:!1}:{}}),d=w,Vm(p,{download:n,fullscreen:r}),p.init(),p.on("destroy",()=>{p=null,d=0}),y.map((R,z)=>Uc(R).then(x=>{d===w&&(m.splice(z,1,x),p==null||p.refreshSlideContent(z))}))};Ce(()=>{const b="requestIdleCallback"in window?window.requestIdleCallback:setTimeout;se("click",h),se("wheel",()=>{c.value.scrollToClose&&(p==null||p.close())}),b(()=>{f=xe(async()=>{const{default:_}=await import("./photoswipe.esm-DXWKOczD.js");return{default:_}},[]).then(({default:_})=>_)})}),Bt(()=>{p==null||p.destroy()})};var Wm={"/":{closeTitle:"Schließen",downloadTitle:"Download",fullscreenTitle:"Vollbild aktivieren",zoomTitle:"Rein / rauszoomen",arrowPrevTitle:"Zurück (Pfeil links)",arrowNextTitle:"Weiter (Pfeil rechts)"}};const Um="[vp-content] :not(a) > img:not([no-view])",qm=Wm,Km=!0,Gm=!0,Ym=!0;var Jm=St({enhance:({app:e})=>{Fm(e)},setup:()=>{zm({selector:Um,locales:qm,download:Km,fullscreen:Gm,scrollToClose:Ym})}});const Qm=Object.freeze(Object.defineProperty({__proto__:null,default:Jm},Symbol.toStringTag,{value:"Module"})),qc=({type:e="info",text:t="",vertical:n,color:r,bgColor:o},{slots:s})=>{var l;return u("span",{class:["vp-badge",e,{diy:!!(r||o)}],style:{backgroundColor:o??!1,color:r??!1,verticalAlign:n??!1}},((l=s.default)==null?void 0:l.call(s))??t)};qc.displayName="Badge";const Xm={enhance:({app:e})=>{_t("Badge")||e.component("Badge",qc)},setup:()=>{},rootComponents:[]},Zm=Object.freeze(Object.defineProperty({__proto__:null,default:Xm},Symbol.toStringTag,{value:"Module"})),La=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},eg=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=Wn();se("scroll",Qs(()=>{var b,_;const l=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(l-0)d.some(S=>S.hash===w.hash));for(let w=0;w=(((b=S.parentElement)==null?void 0:b.offsetTop)??0)-r,E=!y||l<(((_=y.parentElement)==null?void 0:_.offsetTop)??0)-r;if(!(m&&E))continue;const z=decodeURIComponent(o.currentRoute.value.hash),x=decodeURIComponent(S.hash);if(z===x)return;if(f){for(let V=w+1;VPe(e.title)?{title:e.title}:null;const Gc=Symbol(""),ag=e=>{Kc=e},ig=()=>Ne(Gc),cg=e=>{e.provide(Gc,Kc)};var ug={"/":{title:"Katalog",empty:"Kein Katalog"}},fg=U({name:"Catalog",props:{base:String,level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=ig(),n=$t(ug),r=pt(),o=Uh(),s=Pc(),l=re(Bc(o.value).map(([i,{meta:c}])=>{const f=t(c);if(!f)return null;const d=i.split("/").length;return{level:nm(i,"/")?d-2:d-1,base:i.replace(/\/[^/]+\/?$/,"/"),path:i,...f}}).filter(i=>_o(i)&&Pe(i.title))),a=k(()=>{const i=e.base?Mp(hc(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),c=i.split("/").length-2,f=[];return l.value.filter(({level:d,path:p})=>{if(!br(p,i)||p===i)return!1;if(i==="/"){const h=tl(s.value.locales).filter(b=>b!=="/");if(p==="/404.html"||h.some(b=>br(p,b)))return!1}return d-c<=e.level}).sort(({title:d,level:p,order:h},{title:b,level:_,order:w})=>p-_||(Jr(h)?Jr(w)?h>0?w>0?h-w:-1:w<0?h-w:1:h:Jr(w)?w:d.localeCompare(b))).forEach(d=>{var b;const{base:p,level:h}=d;switch(h-c){case 1:{f.push(d);break}case 2:{const _=f.find(w=>w.path===p);_&&(_.children??(_.children=[])).push(d);break}default:{const _=f.find(w=>w.path===p.replace(/\/[^/]+\/$/,"/"));if(_){const w=(b=_.children)==null?void 0:b.find(S=>S.path===p);w&&(w.children??(w.children=[])).push(d)}}}}),f});return()=>{const i=a.value.some(c=>c.children);return u("div",{class:["vp-catalog",{index:e.index}]},[e.hideHeading?null:u("h2",{class:"vp-catalog-main-title"},n.value.title),a.value.length?u(e.index?"ol":"ul",{class:["vp-catalog-list",{deep:i}]},a.value.map(({children:c=[],title:f,path:d,content:p})=>{const h=u(mt,{class:"vp-catalog-title",to:d},()=>p?u(p):f);return u("li",{class:"vp-catalog-item"},i?[u("h3",{id:f,class:["vp-catalog-child-title",{"has-children":c.length}]},[u("a",{href:`#${f}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),h]),c.length?u(e.index?"ol":"ul",{class:"vp-child-catalogs"},c.map(({children:b=[],content:_,path:w,title:S})=>u("li",{class:"vp-child-catalog"},[u("div",{class:["vp-catalog-sub-title",{"has-children":b.length}]},[u("a",{href:`#${S}`,class:"vp-catalog-header-anchor"},"#"),u(mt,{class:"vp-catalog-title",to:w},()=>_?u(_):S)]),b.length?u(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},b.map(({content:y,path:m,title:E})=>e.index?u("li",{class:"vp-sub-catalog"},u(mt,{to:m},()=>y?u(y):E)):u(mt,{class:"vp-sub-catalog-link",to:m},()=>y?u(y):E))):null]))):null]:u("div",{class:"vp-catalog-child-title"},h))})):u("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),dg=St({enhance:({app:e})=>{cg(e),_t("Catalog",e)||e.component("Catalog",fg)}});const pg=Object.freeze(Object.defineProperty({__proto__:null,default:dg},Symbol.toStringTag,{value:"Module"}));/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const Oa=(e,t)=>{e.classList.add(t)},Ra=(e,t)=>{e.classList.remove(t)},hg=e=>{var t;(t=e==null?void 0:e.parentNode)==null||t.removeChild(e)},Yo=(e,t,n)=>en?n:e,Ma=e=>(-1+e)*100,vg=(()=>{const e=[],t=()=>{const n=e.shift();n&&n(t)};return n=>{e.push(n),e.length===1&&t()}})(),mg=e=>e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(t,n)=>n.toUpperCase()),Wr=(()=>{const e=["Webkit","O","Moz","ms"],t={},n=s=>{const{style:l}=document.body;if(s in l)return s;const a=s.charAt(0).toUpperCase()+s.slice(1);let i=e.length;for(;i--;){const c=`${e[i]}${a}`;if(c in l)return c}return s},r=s=>{const l=mg(s);return t[l]??(t[l]=n(l))},o=(s,l,a)=>{s.style[r(l)]=a};return(s,l)=>{for(const a in l){const i=l[a];Object.hasOwn(l,a)&&Fc(i)&&o(s,a,i)}}})(),Rt={minimum:.08,easing:"ease",speed:200,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},Te={percent:null,isRendered:()=>!!document.getElementById("nprogress"),set:e=>{const{speed:t,easing:n}=Rt,r=Te.isStarted(),o=Yo(e,Rt.minimum,1);Te.percent=o===1?null:o;const s=Te.render(!r),l=s.querySelector(Rt.barSelector);return s.offsetWidth,vg(a=>{Wr(l,{transform:`translate3d(${Ma(o)}%,0,0)`,transition:`all ${t}ms ${n}`}),o===1?(Wr(s,{transition:"none",opacity:"1"}),s.offsetWidth,setTimeout(()=>{Wr(s,{transition:`all ${t}ms linear`,opacity:"0"}),setTimeout(()=>{Te.remove(),a()},t)},t)):setTimeout(()=>{a()},t)}),Te},isStarted:()=>typeof Te.percent=="number",start:()=>{Te.percent||Te.set(0);const e=()=>{setTimeout(()=>{Te.percent&&(Te.trickle(),e())},Rt.trickleSpeed)};return e(),Te},done:e=>!e&&!Te.percent?Te:Te.increase(.3+.5*Math.random()).set(1),increase:e=>{let{percent:t}=Te;return t?(t=Yo(t+(typeof e=="number"?e:(1-t)*Yo(Math.random()*t,.1,.95)),0,.994),Te.set(t)):Te.start()},trickle:()=>Te.increase(Math.random()*Rt.trickleRate),render:e=>{if(Te.isRendered())return document.getElementById("nprogress");Oa(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=Rt.template;const n=t.querySelector(Rt.barSelector),r=document.querySelector(Rt.parent),o=e?"-100":Ma(Te.percent??0);return Wr(n,{transition:"all 0 linear",transform:`translate3d(${o}%,0,0)`}),r&&(r!==document.body&&Oa(r,"nprogress-custom-parent"),r.appendChild(t)),t},remove:()=>{Ra(document.documentElement,"nprogress-busy"),Ra(document.querySelector(Rt.parent),"nprogress-custom-parent"),hg(document.getElementById("nprogress"))}},gg=()=>{Ce(()=>{const e=Wn(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||Te.start()}),e.afterEach(n=>{t.add(n.path),Te.done()})})},bg=St({setup(){gg()}}),yg=Object.freeze(Object.defineProperty({__proto__:null,default:bg},Symbol.toStringTag,{value:"Module"}));var _g={0:{"/":{0:"K",1:"a",2:"t",3:"e",4:"g",5:"o",6:"r",7:"i",8:"e",9:":",10:" ",11:"$",12:"c",13:"o",14:"n",15:"t",16:"e",17:"n",18:"t"}},1:{"/":{0:"T",1:"a",2:"g",3:":",4:" ",5:"$",6:"c",7:"o",8:"n",9:"t",10:"e",11:"n",12:"t"}}},wg={"/":{cancel:"Abbrechen",placeholder:"Suche",search:"Suche",searching:"Suche",defaultTitle:"Dokumentation",select:"auswählen",navigate:"wechseln",autocomplete:"automatisch vervollständigen",exit:"schließen",queryHistory:"Suchverlauf",resultHistory:"Ergebnisverlauf",emptyHistory:"Suchverlauf leeren",emptyResult:"Keine Ergebnisse gefunden",loading:"Suchindex wird geladen..."}},Sg={searchDelay:150,suggestDelay:0,queryHistoryCount:5,resultHistoryCount:5,hotKeys:[{key:"k",ctrl:!0},{key:"/",ctrl:!0}],worker:"slimsearch.worker.js"};const H2=_g,yr=Sg,xo=wg,Jo="Canceled because of new search request.",Eg=()=>{const e=new Worker(`/${yr.worker}`,{}),t={suggest:null,search:null,all:null};return e.addEventListener("message",({data:n})=>{const[r,o,s]=n,l=t[r];(l==null?void 0:l.id)===o&&l.resolve(s)}),e.addEventListener("error",n=>{console.warn("Search Worker error:",n)}),{suggest:(n,r,o)=>new Promise((s,l)=>{var i;(i=t.suggest)==null||i.reject(new Error(Jo));const a=Date.now();e.postMessage({type:"suggest",id:a,query:n,locale:r,options:o}),t.suggest={id:a,resolve:s,reject:l}}),search:(n,r,o)=>new Promise((s,l)=>{var i;(i=t.search)==null||i.reject(new Error(Jo));const a=Date.now();e.postMessage({type:"search",id:a,query:n,locale:r,options:o}),t.search={id:a,resolve:s,reject:l}}),all:(n,r,o)=>new Promise((s,l)=>{var i;(i=t.all)==null||i.reject(new Error(Jo));const a=Date.now();e.postMessage({type:"all",id:a,query:n,locale:r,options:o}),t.all={id:a,resolve:s,reject:l}}),terminate:()=>{e.terminate(),rm(t).forEach(n=>{n==null||n.reject(new Error("Worker has been terminated."))})}}},Cg=/[\u4e00-\u9fff\u3400-\u4dbf\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af]/,kg=e=>e.split(/\s+/).map(t=>{if(t.length>3){const n=t.split("");if(n.every(r=>Cg.test(r)))return n}return t}).flat(),xg=oe({querySplitter:e=>Promise.resolve(kg(e))}),Yc=Symbol(""),Jc=()=>{const e=Pt(),t=Ne(Yc);return k(()=>{const{locales:n={},...r}=t.value;return{...r,...n[e.value]}})},Tg=e=>{e.provide(Yc,wn(xg))},Ag='',Qc=({class:e,hint:t})=>u("div",{class:[e,"loading"]},[u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",preserveAspectRatio:"xMidYMid",viewBox:"0 0 100 100"},[u("circle",{cx:"28",cy:"75",r:"11",fill:"currentColor"},u("animate",{attributeName:"fill-opacity",begin:"0s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),u("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 47a28 28 0 0 1 28 28"},u("animate",{attributeName:"stroke-opacity",begin:"0.1s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),u("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 25a50 50 0 0 1 50 50"},u("animate",{attributeName:"stroke-opacity",begin:"0.2s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"}))]),t]);Qc.displayName="SearchLoading";const Kn=({name:e="",color:t="currentColor"},{slots:n})=>u("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},n.default());Kn.displayName="SVGWrapper";const Pg=()=>u(Kn,{name:"heading"},()=>u("path",{d:"M250.4 704.6H64V595.4h202.4l26.2-166.6H94V319.6h214.4L352 64h127.8l-43.6 255.4h211.2L691 64h126.2l-43.6 255.4H960v109.2H756.2l-24.6 166.6H930v109.2H717L672 960H545.8l43.6-255.4H376.6L333 960H206.8l43.6-255.4zm168.4-276L394 595.4h211.2l24.6-166.6h-211z"}));Pg.displayName="HeadingIcon";const $g=()=>u(Kn,{name:"heart"},()=>u("path",{d:"M1024 358.156C1024 195.698 892.3 64 729.844 64c-86.362 0-164.03 37.218-217.844 96.49C458.186 101.218 380.518 64 294.156 64 131.698 64 0 195.698 0 358.156 0 444.518 37.218 522.186 96.49 576H96l320 320c32 32 64 64 96 64s64-32 96-64l320-320h-.49c59.272-53.814 96.49-131.482 96.49-217.844zM841.468 481.232 517.49 805.49a2981.962 2981.962 0 0 1-5.49 5.48c-1.96-1.95-3.814-3.802-5.49-5.48L182.532 481.234C147.366 449.306 128 405.596 128 358.156 128 266.538 202.538 192 294.156 192c47.44 0 91.15 19.366 123.076 54.532L512 350.912l94.768-104.378C638.696 211.366 682.404 192 729.844 192 821.462 192 896 266.538 896 358.156c0 47.44-19.368 91.15-54.532 123.076z"}));$g.displayName="HeartIcon";const Lg=()=>u(Kn,{name:"history"},()=>u("path",{d:"M512 1024a512 512 0 1 1 512-512 512 512 0 0 1-512 512zm0-896a384 384 0 1 0 384 384 384 384 0 0 0-384-384zm192 448H512a64 64 0 0 1-64-64V320a64 64 0 0 1 128 0v128h128a64 64 0 0 1 0 128z"}));Lg.displayName="HistoryIcon";const Og=()=>u(Kn,{name:"title"},()=>u("path",{d:"M512 256c70.656 0 134.656 28.672 180.992 75.008A254.933 254.933 0 0 1 768 512c0 83.968-41.024 157.888-103.488 204.48C688.96 748.736 704 788.48 704 832c0 105.984-86.016 192-192 192-106.048 0-192-86.016-192-192h128a64 64 0 1 0 128 0 64 64 0 0 0-64-64 255.19 255.19 0 0 1-181.056-75.008A255.403 255.403 0 0 1 256 512c0-83.968 41.024-157.824 103.488-204.544C335.04 275.264 320 235.584 320 192A192 192 0 0 1 512 0c105.984 0 192 85.952 192 192H576a64.021 64.021 0 0 0-128 0c0 35.328 28.672 64 64 64zM384 512c0 70.656 57.344 128 128 128s128-57.344 128-128-57.344-128-128-128-128 57.344-128 128z"}));Og.displayName="TitleIcon";const rl=()=>u(Kn,{name:"search"},()=>u("path",{d:"M192 480a256 256 0 1 1 512 0 256 256 0 0 1-512 0m631.776 362.496-143.2-143.168A318.464 318.464 0 0 0 768 480c0-176.736-143.264-320-320-320S128 303.264 128 480s143.264 320 320 320a318.016 318.016 0 0 0 184.16-58.592l146.336 146.368c12.512 12.48 32.768 12.48 45.28 0 12.48-12.512 12.48-32.768 0-45.28"}));rl.displayName="SearchIcon";const Xc=()=>ao(),Rg=(e,t=!1)=>{const n=oe(0),r=k(()=>e.value[n.value]),o=()=>{n.value=n.value>0?n.value-1:e.value.length-1},s=()=>{n.value=n.value{t||(n.value=0)}),{index:n,item:r,prev:o,next:s}},Mg=()=>{const e=En(()=>typeof window<"u"&&"userAgent"in window.navigator);return k(()=>e.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},Ig=e=>{const t=oe([]);{const n=Jc(),r=pt(),o=Pt();Ce(()=>{const{suggest:s,terminate:l}=Eg(),a=i=>{const{resultsFilter:c,querySplitter:f,suggestionsFilter:d=h=>h,...p}=n.value;i?s(i,o.value,p).then(h=>d(h,i,o.value,r.value)).then(h=>{t.value=h.length?br(h[0],i)&&!h[0].slice(i.length).includes(" ")?h:[i,...h]:[]}).catch(h=>{console.error(h)}):t.value=[]};lt([e,o],([i])=>{a(i.join(" "))}),Bt(()=>{l()})})}return{enabled:!0,suggestions:t}},Ng='',Dg='',Hg='',jg='',Qo=yr.hotKeys[0];var Fg=U({name:"SearchBox",setup(){const e=$t(xo),[t,n]=Xc(),r=oe(!1);tm(yr.hotKeys,()=>{t.value||n()});const o=k(()=>Qo?[...(r.value?["⌃","⇧","⌥","⌘"]:["Ctrl","Shift","Alt","Win"]).filter((s,l)=>Qo[["ctrl","shift","alt","meta"][l]]),Qo.key.toUpperCase()]:null);return Ce(()=>{const{userAgent:s}=navigator;r.value=Kv(s)||qv(s)||Uv(s)}),()=>[u("button",{type:"button",class:"slimsearch-button","aria-label":e.value.search,onClick:()=>{t.value=!0}},[u(rl),u("div",{class:"slimsearch-placeholder"},e.value.search),o.value?u("div",{class:"slimsearch-key-hints"},o.value.map(s=>u("kbd",{class:"slimsearch-key"},s))):null])]}}),Bg=U({name:"SearchKeyHints",setup(){const e=$t(xo),t=Mg();return()=>t.value?null:u("div",{class:"slimsearch-hints"},[u("span",{class:"slimsearch-hint"},[u("kbd",{innerHTML:Ng}),e.value.select]),u("span",{class:"slimsearch-hint"},[u("kbd",{innerHTML:Hg}),u("kbd",{innerHTML:Dg}),e.value.navigate]),u("span",{class:"slimsearch-hint"},[u("kbd",{innerHTML:jg}),e.value.exit])])}});const Vg=Ai({loader:()=>xe(()=>import("./SearchResult-CEjH_gxA.js"),[]),loadingComponent:()=>{const e=$t(xo);return u(Qc,{class:"slimsearch-result-wrapper",hint:e.value.loading})}}),zg=["ArrowDown","ArrowUp","Escape","Tab","Enter"];var Wg=U({name:"SearchModal",setup(){const[e,t]=Xc(),n=Eo(),r=$t(xo),o=Jc(),s=oe(""),l=oe([]),{suggestions:a}=Ig(l),i=oe(!1),{index:c,prev:f,next:d}=Rg(a),p=re(),h=re(),b=re(),_=ko(b.value),w=k(()=>i.value&&a.value.length),S=(y=c.value)=>{s.value=a.value[y],i.value=!1};return se("keydown",y=>{w.value?y.key==="ArrowUp"?f():y.key==="ArrowDown"?d():y.key==="Tab"?S():(y.key==="Enter"||y.key==="Escape")&&(i.value=!1):y.key==="Escape"&&t(!1)}),yv(h,()=>{i.value=!1}),lt(s,Qs(()=>{var y,m;return(((m=(y=o.value).querySplitter)==null?void 0:m.call(y,s.value))??Promise.resolve(s.value.split(" "))).then(E=>{l.value=E})},Math.min(yr.searchDelay,yr.suggestDelay))),Ce(()=>{b.value=document.body,Ae(e,y=>{var m;y&&((m=p.value)==null||m.focus())},{flush:"post"})}),Bt(()=>{_.value=!1}),()=>e.value?u("div",{class:"slimsearch-modal-wrapper"},[u("div",{class:"slimsearch-mask",onClick:()=>{t(!1),s.value=""}}),u("div",{class:"slimsearch-modal"},[u("div",{class:"slimsearch-box"},[u("form",[u("label",{for:"search-pro","aria-label":r.value.search},u(rl)),u("input",{ref:p,type:"search",class:"slimsearch-input",id:"search-pro",placeholder:r.value.placeholder,spellcheck:"false",autocapitalize:"off",autocomplete:"off",autocorrect:"off",name:`${n.value.title}-search`,value:s.value,"aria-controls":"slimsearch-results",onKeydown:y=>{w.value&&zg.includes(y.key)&&y.preventDefault()},onInput:({target:y})=>{s.value=y.value,i.value=!0,c.value=0}}),s.value?u("button",{type:"reset",class:"slimsearch-clear-button",innerHTML:Ag,onClick:()=>{s.value=""}}):null,w.value?u("ul",{class:"slimsearch-suggestions",ref:h},a.value.map((y,m)=>u("li",{class:["slimsearch-suggestion",{active:m===c.value}],onClick:()=>{S(m)}},[u("kbd",{class:"slimsearch-auto-complete",title:`Tab ${r.value.autocomplete}`},"Tab"),y]))):null]),u("button",{type:"button",class:"slimsearch-close-button",onClick:()=>{t(!1),s.value=""}},r.value.cancel)]),u(Vg,{queries:l.value,isFocusing:!w.value,onClose:()=>{t(!1)},onUpdateQuery:y=>{s.value=y}}),u(Bg)])]):null}}),Ug=St({enhance({app:e}){Tg(e),e.component("SearchBox",Fg)},rootComponents:[Wg]});const qg=Object.freeze(Object.defineProperty({__proto__:null,default:Ug},Symbol.toStringTag,{value:"Module"})),Zc="VUEPRESS_REDIRECT_STATUS",Ia=Nv(Zc,{}),Na=Fv(Zc,{}),Kg=e=>{const t=Dv(),n=Pt(),r=Bc(e.config);return k(()=>{if(r.some(([o])=>n.value===o)){for(const o of t.value)for(const[s,l]of r)if(l.includes(o))return s===n.value?null:{lang:o,localePath:s}}return null})};var Gg=U({name:"RedirectModal",props:{config:{type:Object,required:!0},locales:{type:Object,required:!0}},setup(e){const t=Wn(),n=Un(),r=Pt(),o=Kg(e.config),s=oe(),l=ko(s),a=oe(!1),i=k(()=>{if(!o.value)return null;const{lang:f,localePath:d}=o.value,p=[e.locales[d],e.locales[r.value]];return{hint:p.map(({hint:h})=>h.replace("$1",f)),switch:p.map(({switch:h})=>h.replace("$1",f)).join(" / "),cancel:p.map(({cancel:h})=>h).join(" / "),remember:p.map(({remember:h})=>h).join(" / ")}}),c=()=>{Na.value[r.value]=!0,a.value&&(Ia.value[r.value]=!0),l.value=!1};return Ae(n,()=>{l.value=!1}),Ce(async()=>{s.value=document.body,await Sn(),o.value&&!Na.value[r.value]&&!Ia.value[r.value]&&(l.value=!0)}),Hs(()=>{l.value=!1}),()=>u(dc,{name:"redirect-modal-fade"},()=>{var f,d,p,h;return l.value?u("div",{key:"mask",class:"redirect-modal-mask"},u("div",{key:"popup",class:"redirect-modal-wrapper"},[u("div",{class:"redirect-modal-content"},(f=i.value)==null?void 0:f.hint.map(b=>u("p",b))),u("div",{class:"redirect-modal-hint"},[u("input",{id:"remember-redirect",type:"checkbox",value:a.value,onChange:()=>{a.value=!a.value}}),u("label",{for:"remember-redirect"},(d=i.value)==null?void 0:d.remember)]),u("button",{type:"button",class:"redirect-modal-action primary",onClick:()=>{c(),t.replace(n.value.replace(r.value,o.value.localePath))}},(p=i.value)==null?void 0:p.switch),u("button",{type:"button",class:"redirect-modal-action",onClick:()=>{c()}},(h=i.value)==null?void 0:h.cancel)])):null})}}),Yg={config:{},autoLocale:!1,localeFallback:!0,defaultBehavior:"defaultLocale"},Jg={"/":{name:"Deutsch",hint:"Ihre bevorzugte Sprache ist $1, möchten Sie zu dieser wechseln?",switch:"Zu $1 wechseln",cancel:"Abbrechen",remember:"Meine Wahl merken"}};const eu=Yg;var Qg=St({setup(){},rootComponents:[()=>u(Gg,{config:eu,locales:Jg})]});const Xg=Object.freeze(Object.defineProperty({__proto__:null,config:eu,default:Qg},Symbol.toStringTag,{value:"Module"})),He=({name:e="",color:t="currentColor",ariaLabel:n},{attrs:r,slots:o})=>u("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":n??`${e} icon`,...r},o.default());He.displayName="IconBase";const ol=(e,{slots:t})=>t.default(),Zg=e=>Pr(e)?e:`https://github.com/${e}`,sl=(e="")=>!Pr(e)||e.includes("github.com")?"GitHub":e.includes("bitbucket.org")?"Bitbucket":e.includes("gitlab.com")?"GitLab":e.includes("gitee.com")?"Gitee":null,tu=()=>u(He,{name:"github"},()=>u("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));tu.displayName="GitHubIcon";const nu=()=>u(He,{name:"gitee"},()=>u("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));nu.displayName="GiteeIcon";const ru=()=>u(He,{name:"bitbucket"},()=>u("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));ru.displayName="BitbucketIcon";const ou=()=>u(He,{name:"source"},()=>u("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));ou.displayName="SourceIcon";const e1=({link:e,type:t=sl(e??"")})=>{if(!t)return null;const n=t.toLowerCase();return u(n==="bitbucket"?ru:n==="github"?tu:n==="gitlab"?"GitLab":n==="gitee"?nu:ou)},t1=(e,t=0)=>{let n=3735928559^t,r=1103547991^t;for(let o=0,s;o>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)},su=(e,t)=>t1(e)%t,lu=/#.*$/u,n1=e=>{const t=lu.exec(e);return t?t[0]:""},Da=e=>decodeURI(e).replace(lu,"").replace(/\/index\.html$/iu,"/").replace(/\/(README|index)\.md$/iu,"/").replace(/\.(?:html|md)$/iu,""),au=(e,t)=>{if(!Fc(t))return!1;const n=Da(e.path),r=Da(t),o=n1(t);return o?o===e.hash&&(!r||n===r):n===r};var r1=e=>Object.prototype.toString.call(e)==="[object Object]",_r=e=>typeof e=="string";const{isArray:iu}=Array,Ha=e=>r1(e)&&_r(e.name),ja=(e,t=!1)=>e?iu(e)?e.map(n=>_r(n)?{name:n}:Ha(n)?n:null).filter(n=>n!==null):_r(e)?[{name:e}]:Ha(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],cu=(e,t)=>{if(e){if(iu(e)&&e.every(_r))return e;if(_r(e))return[e];console.error(`Expect ${t} to be \`string[] | string | undefined\`, but got`,e)}return[]},o1=e=>cu(e,"category"),s1=e=>cu(e,"tag");var Fa={"/":{word:"Ungefähr $word Wörter",less1Minute:"Weniger als eine Minute",time:"Ungefähr $time min"}};const uu=()=>{const e=pt();return k(()=>e.value.readingTime??null)},l1=(e,t)=>{const{minutes:n,words:r}=e,{less1Minute:o,word:s,time:l}=t;return{time:n<1?o:l.replace("$time",Math.round(n).toString()),words:s.replace("$word",r.toString())}},Ba={words:"",time:""},gs=typeof Fa>"u"?null:Fa,a1=()=>gs?$t(gs):k(()=>null),i1=()=>{if(typeof gs>"u")return k(()=>Ba);const e=uu(),t=a1();return k(()=>e.value&&t.value?l1(e.value,t.value):Ba)},Qr=()=>null,c1="719px",u1="1440px",f1="9",ll={mobileBreakPoint:c1,pcBreakPoint:u1,colorNumber:f1},fu=()=>{const e=ye();return k(()=>e.value.author)},d1="http://.",al=()=>{const e=Wn(),t=nn();return n=>{if(!n)return;if(Ar(n))return window.open(n);if(nl(n))return t.fullPath===n?void 0:void e.push(n);const r=t.path.slice(0,t.path.lastIndexOf("/"));return void e.push(new URL(`${r}/${encodeURI(n)}`,d1).pathname)}},on=()=>Vc(),ye=()=>_m(),du=()=>{const e=_e(),t=fu();return k(()=>{const{author:n}=e.value;return n?ja(n):n===!1?[]:ja(t.value,!1)})},p1=()=>{const e=_e();return k(()=>o1(e.value.category??e.value.categories).map(t=>({name:t,path:""})))},h1=()=>{const e=_e();return k(()=>s1(e.value.tag??e.value.tags).map(t=>({name:t,path:""})))},v1=()=>{const e=_e(),t=pt();return k(()=>{const n=om(e.value.date);if(n)return n;const{createdTime:r}=t.value.git??{};return r?new Date(r):null})},m1=()=>{const e=ye(),t=pt(),n=_e(),r=du(),o=p1(),s=h1(),l=v1(),a=uu(),i=i1(),c=k(()=>({author:r.value,category:o.value,date:l.value,localizedDate:t.value.localizedDate,tag:s.value,isOriginal:n.value.isOriginal??!1,readingTime:a.value,readingTimeLocale:i.value,pageview:n.value.pageview??!0})),f=k(()=>n.value.pageInfo??e.value.pageInfo??null);return{info:c,items:f}},ht=()=>{const e=on();return k(()=>!!e.value.pure)},pu=()=>u(He,{name:"author"},()=>u("path",{d:"M649.6 633.6c86.4-48 147.2-144 147.2-249.6 0-160-128-288-288-288s-288 128-288 288c0 108.8 57.6 201.6 147.2 249.6-121.6 48-214.4 153.6-240 288-3.2 9.6 0 19.2 6.4 25.6 3.2 9.6 12.8 12.8 22.4 12.8h704c9.6 0 19.2-3.2 25.6-12.8 6.4-6.4 9.6-16 6.4-25.6-25.6-134.4-121.6-240-243.2-288z"}));pu.displayName="AuthorIcon";const hu=()=>u(He,{name:"calendar"},()=>u("path",{d:"M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"}));hu.displayName="CalendarIcon";const vu=()=>u(He,{name:"category"},()=>u("path",{d:"M148.41 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H148.41c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.311-40.31zM147.556 553.478H429.73c22.263 0 40.311 18.048 40.311 40.31v282.176c0 22.263-18.048 40.312-40.31 40.312H147.555c-22.263 0-40.311-18.049-40.311-40.312V593.79c0-22.263 18.048-40.311 40.31-40.311zM593.927 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H593.927c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.31-40.31zM730.22 920.502H623.926c-40.925 0-74.22-33.388-74.22-74.425V623.992c0-41.038 33.387-74.424 74.425-74.424h222.085c41.038 0 74.424 33.226 74.424 74.067v114.233c0 10.244-8.304 18.548-18.547 18.548s-18.548-8.304-18.548-18.548V623.635c0-20.388-16.746-36.974-37.33-36.974H624.13c-20.585 0-37.331 16.747-37.331 37.33v222.086c0 20.585 16.654 37.331 37.126 37.331H730.22c10.243 0 18.547 8.304 18.547 18.547 0 10.244-8.304 18.547-18.547 18.547z"}));vu.displayName="CategoryIcon";const mu=()=>u(He,{name:"print"},()=>u("path",{d:"M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"}));mu.displayName="PrintIcon";const gu=()=>u(He,{name:"tag"},()=>u("path",{d:"M939.902 458.563L910.17 144.567c-1.507-16.272-14.465-29.13-30.737-30.737L565.438 84.098h-.402c-3.215 0-5.726 1.005-7.634 2.913l-470.39 470.39a10.004 10.004 0 000 14.164l365.423 365.424c1.909 1.908 4.42 2.913 7.132 2.913s5.223-1.005 7.132-2.913l470.39-470.39c2.01-2.11 3.014-5.023 2.813-8.036zm-240.067-72.121c-35.458 0-64.286-28.828-64.286-64.286s28.828-64.285 64.286-64.285 64.286 28.828 64.286 64.285-28.829 64.286-64.286 64.286z"}));gu.displayName="TagIcon";const bu=()=>u(He,{name:"timer"},()=>u("path",{d:"M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"}));bu.displayName="TimerIcon";const yu=()=>u(He,{name:"word"},()=>[u("path",{d:"M518.217 432.64V73.143A73.143 73.143 0 01603.43 1.097a512 512 0 01419.474 419.474 73.143 73.143 0 01-72.046 85.212H591.36a73.143 73.143 0 01-73.143-73.143z"}),u("path",{d:"M493.714 566.857h340.297a73.143 73.143 0 0173.143 85.577A457.143 457.143 0 11371.566 117.76a73.143 73.143 0 0185.577 73.143v339.383a36.571 36.571 0 0036.571 36.571z"})]);yu.displayName="WordIcon";const sn=()=>{const e=ye();return k(()=>e.value.metaLocales)};var g1=U({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0}},setup(e){const t=sn(),n=ht();return()=>e.author.length?u("span",{class:"page-author-info","aria-label":`${t.value.author}${n.value?"":"🖊"}`,...n.value?{}:{"data-balloon-pos":"up"}},[u(pu),u("span",e.author.map(r=>r.url?u("a",{class:"page-author-item",href:r.url,target:"_blank",rel:"noopener noreferrer"},r.name):u("span",{class:"page-author-item"},r.name))),u("span",{property:"author",content:e.author.map(r=>r.name).join(", ")})]):null}}),b1=U({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0}},setup(e){const t=sn(),n=al(),r=ht();return()=>e.category.length?u("span",{class:"page-category-info","aria-label":`${t.value.category}${r.value?"":"🌈"}`,...r.value?{}:{"data-balloon-pos":"up"}},[u(vu),e.category.map(({name:o,path:s})=>u("span",{class:["page-category-item",{[`color${su(o,Number(ll.colorNumber))}`]:!r.value,clickable:s}],role:s?"navigation":"",onClick:()=>{s&&n(s)}},o)),u("meta",{property:"articleSection",content:e.category.map(({name:o})=>o).join(",")})]):null}}),y1=U({name:"DateInfo",inheritAttrs:!1,props:{date:Object,localizedDate:String},setup(e){const t=Ac(),n=sn(),r=ht();return()=>e.date?u("span",{class:"page-date-info","aria-label":`${n.value.date}${r.value?"":"📅"}`,...r.value?{}:{"data-balloon-pos":"up"}},[u(hu),u("span",{"data-allow-mismatch":"text"},e.localizedDate??e.date.toLocaleDateString(t.value)),u("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),_1=U({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=sn();return()=>e.isOriginal?u("span",{class:"page-original-info"},t.value.origin):null}}),w1=U({name:"ReadingTimeInfo",inheritAttrs:!1,props:{readingTime:Object,readingTimeLocale:Object},setup(e){const t=sn(),n=ht(),r=k(()=>{if(!e.readingTime)return null;const{minutes:o}=e.readingTime;return o<1?"PT1M":`PT${Math.round(o)}M`});return()=>{var o;return(o=e.readingTimeLocale)!=null&&o.time?u("span",{class:"page-reading-time-info","aria-label":`${t.value.readingTime}${n.value?"":"⌛"}`,...n.value?{}:{"data-balloon-pos":"up"}},[u(bu),u("span",e.readingTimeLocale.time),u("meta",{property:"timeRequired",content:r.value})]):null}}}),S1=U({name:"TagInfo",inheritAttrs:!1,props:{tag:Array},setup(e){const t=sn(),n=al(),r=ht();return()=>{var o;return(o=e.tag)!=null&&o.length?u("span",{class:"page-tag-info","aria-label":`${t.value.tag}${r.value?"":"🏷"}`,...r.value?{}:{"data-balloon-pos":"up"}},[u(gu),e.tag.map(({name:s,path:l})=>u("span",{class:["page-tag-item",{[`color${su(s,Number(ll.colorNumber))}`]:!r.value,clickable:l}],role:l?"navigation":"",onClick:()=>{l&&n(l)}},s)),u("meta",{property:"keywords",content:e.tag.map(({name:s})=>s).join(",")})]):null}}}),E1=U({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:Object,readingTimeLocale:Object},setup(e){const t=sn(),n=ht();return()=>{var r,o;return(r=e.readingTimeLocale)!=null&&r.words?u("span",{class:"page-word-info","aria-label":`${t.value.words}${n.value?"":"🔠"}`,...n.value?{}:{"data-balloon-pos":"up"}},[u(yu),u("span",e.readingTimeLocale.words),u("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),C1=U({name:"PageInfo",components:{AuthorInfo:g1,CategoryInfo:b1,DateInfo:y1,OriginalInfo:_1,PageViewInfo:Qr,ReadingTimeInfo:w1,TagInfo:S1,WordInfo:E1},props:{items:[Boolean,Array],info:{type:Object,required:!0}},setup(e){const t=ht();return()=>{const n=e.items??["Author","Original","Date","PageView","ReadingTime","Category","Tag"];return n?u("div",{class:"page-info"},n.map(r=>u(Ee(`${r}Info`),{...e.info,isPure:t.value}))):null}}});const il={},cl=(e,t)=>t.activeMatch?new RegExp(t.activeMatch,"u").test(e.path):au(e,t.link),ul=(e,t)=>"children"in t?!!t.prefix&&au(e,t.prefix)||t.children.some(n=>ul(e,n)):cl(e,t),bs=e=>!Ar(e)&&!zs(e),co=(e,t=!1,n)=>{const{meta:r,path:o,notFound:s}=Ht(e,n);return s?{text:o,link:o}:{text:!t&&r.shortTitle?r.shortTitle:r.title||o,link:o,icon:r.icon}},dn=(e="",t="")=>Ar(t)||nl(t)?t:`${hc(e)}${t}`,_u=(e,t)=>{const n=Pe(e)?co(dn(t,e)):e.link?{...e,link:bs(e.link)?Ht(dn(t,e.link)).path:e.link}:e;if("children"in n){const r=dn(t,n.prefix),o=n.children==="structure"?il[r]:n.children;return{...n,prefix:r,children:o.map(s=>_u(s,r))}}return{...n}},ys=({config:e,prefix:t=""})=>e.map(n=>_u(n,t)),k1=({config:e,routePath:t,headerDepth:n})=>{const r=tl(e).sort((o,s)=>s.length-o.length);for(const o of r)if(br(decodeURI(t),o)){const s=e[o];return ys({config:s==="structure"?il[o]:s||[],prefix:o})}return console.warn(`${decodeURI(t)} is missing it's sidebar config.`),[]},x1=({config:e,headerDepth:t,routeLocale:n,routePath:r})=>e==="structure"?ys({config:il[n],prefix:n}):io(e)?ys({config:e}):_o(e)?k1({config:e,routePath:r,headerDepth:t}):[],wu=Symbol(""),T1=()=>{const e=_e(),t=ye(),n=Pt(),r=Un(),o=k(()=>e.value.home?!1:e.value.sidebar??t.value.sidebar??"structure"),s=k(()=>e.value.headerDepth??t.value.headerDepth??2),l=k(()=>x1({config:o.value,headerDepth:s.value,routeLocale:n.value,routePath:r.value}));Nn(wu,l)},fl=()=>{const e=Ne(wu);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},{mobileBreakPoint:A1,pcBreakPoint:P1}=ll,Va=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,To=()=>{const e=oe(!1),t=oe(!1),n=()=>{e.value=window.innerWidth<=(Va(A1)??719),t.value=window.innerWidth>=(Va(P1)??1440)};return se("resize",n,!1),se("orientationchange",n,!1),Ce(()=>{n()}),{isMobile:e,isPC:t}},Su=Symbol(""),Lr=()=>{const e=Ne(Su);if(!e)throw new Error("useDarkMode() is called without provider.");return e},$1=e=>{const t=on(),n=Pv(),r=k(()=>t.value.darkmode??"switch"),o=el("vuepress-theme-hope-scheme","auto"),s=k(()=>{const a=r.value;return a==="disable"?!1:a==="enable"?!0:a==="auto"?n.value:a==="toggle"?o.value==="dark":o.value==="dark"||o.value==="auto"&&n.value}),l=k(()=>{const a=r.value;return a==="switch"||a==="toggle"});e.provide(Su,{canToggle:l,config:r,isDarkMode:s,status:o}),Object.defineProperties(e.config.globalProperties,{$isDarkMode:{get:()=>s.value}})},L1=()=>{const{config:e,isDarkMode:t,status:n}=Lr();Fs(()=>{e.value==="disable"?n.value="light":e.value==="enable"?n.value="dark":e.value==="toggle"&&n.value==="auto"&&(n.value="light")}),se("beforeprint",()=>{t.value&&document.documentElement.setAttribute("data-theme","light")}),se("afterprint",()=>{t.value&&document.documentElement.setAttribute("data-theme","dark")}),Ce(()=>{lt(t,r=>{document.documentElement.setAttribute("data-theme",r?"dark":"light")})})};var O1=U({name:"PageFooter",setup(){const e=on(),t=ye(),n=_e(),r=du(),o=k(()=>{const{copyright:c,footer:f=!0}=n.value;return f&&!!(c||f||t.value.displayFooter)}),s=k(()=>{const{footer:c=!0}=n.value;return Pe(c)?c:c?t.value.footer??"":null}),l=k(()=>r.value.map(({name:c})=>c).join(", ")),a=c=>`Copyright © ${new Date().getFullYear()} ${l.value} ${c?`${c} Licensed`:""}`,i=k(()=>{const{copyright:c,license:f=""}=n.value,{license:d}=e.value,{copyright:p}=t.value;return c??(f?a(f):p??(l.value||d?a(d):!1))});return()=>o.value?u("footer",{class:"vp-footer-wrapper","vp-footer":""},[s.value?u("div",{class:"vp-footer",innerHTML:s.value}):null,i.value?u("div",{class:"vp-copyright",innerHTML:i.value}):null]):null}}),Ze=U({name:"AutoLink",props:{config:{type:Object,required:!0},iconSizing:{type:String,default:"both"}},emits:["focusout"],slots:Object,setup(e,{emit:t,slots:n}){return()=>{const{icon:r}=e.config;return u(Yh,{...e,onFocusout:()=>{t("focusout")}},{default:n.default,before:n.before??(r?()=>u(Ee("VPIcon"),{icon:r,sizing:e.iconSizing}):null),after:n.after})}}}),R1=U({name:"NavbarDropdown",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=Er(e,"config"),r=k(()=>n.value.ariaLabel??n.value.text),o=oe(!1),s=l=>{l.detail===0&&(o.value=!o.value)};return Vt(()=>{o.value=!1}),()=>{var l;return u("div",{class:["vp-dropdown-wrapper",{open:o.value}]},[u("button",{type:"button",class:"vp-dropdown-title","aria-label":r.value,onClick:s},[((l=t.title)==null?void 0:l.call(t))??[u(Ee("VPIcon"),{icon:n.value.icon}),e.config.text],u("span",{class:"arrow"}),u("ul",{class:"vp-dropdown"},n.value.children.map((a,i)=>{const c=i===n.value.children.length-1;return u("li",{class:"vp-dropdown-item"},"children"in a?[u("h4",{class:"vp-dropdown-subtitle"},a.link?u(Ze,{config:a,onFocusout:()=>{a.children.length===0&&c&&(o.value=!1)}}):a.text),u("ul",{class:"vp-dropdown-subitems"},a.children.map((f,d)=>u("li",{class:"vp-dropdown-subitem"},u(Ze,{config:f,onFocusout:()=>{d===a.children.length-1&&c&&(o.value=!1)}}))))]:u(Ze,{config:a,onFocusout:()=>{c&&(o.value=!1)}}))}))])])}}});const Eu=(e,t="")=>Pe(e)?co(dn(t,e)):"children"in e?{...e,...e.link&&bs(e.link)?{link:Ht(dn(t,e.link)).path}:{},children:e.children.map(n=>Eu(n,dn(t,e.prefix)))}:{...e,link:bs(e.link)?Ht(dn(t,e.link)).path:e.link},Cu=()=>{const e=ye();return k(()=>(e.value.navbar||[]).map(t=>Eu(t)))},M1=()=>{const e=ye(),t=k(()=>e.value.repo),n=k(()=>t.value?Zg(t.value):null),r=k(()=>t.value?sl(t.value):null),o=k(()=>n.value?e.value.repoLabel??r.value??"Source":null);return k(()=>!n.value||!o.value||e.value.repoDisplay===!1?null:{type:r.value??"Source",label:o.value,link:n.value})};var I1=U({name:"NavScreenMenu",props:{config:{type:Object,required:!0}},setup(e){const t=Er(e,"config"),n=k(()=>t.value.ariaLabel??t.value.text),r=oe(!1),o=(s,l)=>l[l.length-1]===s;return Vt(()=>{r.value=!1}),()=>[u("button",{type:"button",class:["vp-nav-screen-menu-title",{active:r.value}],"aria-label":n.value,onClick:()=>{r.value=!r.value}},[u("span",{class:"text"},[u(Ee("VPIcon"),{icon:t.value.icon,sizing:"both"}),e.config.text]),u("span",{class:["arrow",r.value?"down":"end"]})]),u("ul",{class:["vp-nav-screen-menu",{hide:!r.value}]},t.value.children.map(s=>u("li",{class:"vp-nav-screen-menu-item"},"children"in s?[u("h4",{class:"vp-nav-screen-menu-subtitle"},s.link?u(Ze,{config:s,onFocusout:()=>{o(s,t.value.children)&&s.children.length===0&&(r.value=!1)}}):s.text),u("ul",{class:"vp-nav-screen-menu-subitems"},s.children.map(l=>u("li",{class:"vp-nav-screen-menu-subitem"},u(Ze,{config:l,onFocusout:()=>{o(l,s.children)&&o(s,t.value.children)&&(r.value=!1)}}))))]:u(Ze,{config:s,onFocusout:()=>{o(s,t.value.children)&&(r.value=!1)}}))))]}}),N1=U({name:"NavScreenLinks",setup(){const e=Cu();return()=>e.value.length?u("nav",{class:"nav-screen-links"},e.value.map(t=>u("div",{class:"navbar-links-item"},"children"in t?u(I1,{config:t}):u(Ze,{config:t})))):null}});const ku=()=>u(He,{name:"dark"},()=>u("path",{d:"M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"}));ku.displayName="DarkIcon";const xu=()=>u(He,{name:"light"},()=>u("path",{d:"M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"}));xu.displayName="LightIcon";const Tu=()=>u(He,{name:"auto"},()=>u("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"}));Tu.displayName="AutoIcon";const Au=()=>u(He,{name:"enter-fullscreen"},()=>u("path",{d:"M762.773 90.24h-497.28c-96.106 0-174.4 78.293-174.4 174.4v497.28c0 96.107 78.294 174.4 174.4 174.4h497.28c96.107 0 175.04-78.293 174.4-174.4V264.64c0-96.213-78.186-174.4-174.4-174.4zm-387.2 761.173H215.04c-21.867 0-40.427-17.92-41.067-41.066V649.92c0-22.507 17.92-40.427 40.427-40.427 11.307 0 21.227 4.694 28.48 11.947 7.253 7.253 11.947 17.92 11.947 28.48v62.293l145.28-145.28c15.893-15.893 41.813-15.893 57.706 0 15.894 15.894 15.894 41.814 0 57.707l-145.28 145.28h62.294c22.506 0 40.426 17.92 40.426 40.427s-17.173 41.066-39.68 41.066zM650.24 165.76h160.427c21.866 0 40.426 17.92 41.066 41.067v160.426c0 22.507-17.92 40.427-40.426 40.427-11.307 0-21.227-4.693-28.48-11.947-7.254-7.253-11.947-17.92-11.947-28.48v-62.186L625.6 450.347c-15.893 15.893-41.813 15.893-57.707 0-15.893-15.894-15.893-41.814 0-57.707l145.28-145.28H650.88c-22.507 0-40.427-17.92-40.427-40.427s17.174-41.173 39.787-41.173z"}));Au.displayName="EnterFullScreenIcon";const Pu=()=>u(He,{name:"cancel-fullscreen"},()=>u("path",{d:"M778.468 78.62H247.922c-102.514 0-186.027 83.513-186.027 186.027V795.08c0 102.514 83.513 186.027 186.027 186.027h530.432c102.514 0 186.71-83.513 186.026-186.027V264.647C964.494 162.02 880.981 78.62 778.468 78.62zM250.88 574.35h171.122c23.324 0 43.122 19.115 43.804 43.805v171.121c0 24.008-19.114 43.122-43.122 43.122-12.06 0-22.641-5.006-30.378-12.743s-12.743-19.115-12.743-30.379V722.83L224.597 877.91c-16.953 16.952-44.6 16.952-61.553 0-16.953-16.954-16.953-44.602 0-61.554L318.009 661.39h-66.446c-24.007 0-43.122-19.114-43.122-43.122 0-24.12 18.432-43.918 42.439-43.918zm521.899-98.873H601.657c-23.325 0-43.122-19.114-43.805-43.804V260.55c0-24.007 19.115-43.122 43.122-43.122 12.06 0 22.642 5.007 30.379 12.743s12.743 19.115 12.743 30.38v66.445l154.965-154.965c16.953-16.953 44.601-16.953 61.554 0 16.953 16.953 16.953 44.6 0 61.554L705.536 388.55h66.446c24.007 0 43.122 19.115 43.122 43.122.114 24.007-18.318 43.804-42.325 43.804z"}));Pu.displayName="CancelFullScreenIcon";const $u=()=>u(He,{name:"outlook"},()=>[u("path",{d:"M224 800c0 9.6 3.2 44.8 6.4 54.4 6.4 48-48 76.8-48 76.8s80 41.6 147.2 0 134.4-134.4 38.4-195.2c-22.4-12.8-41.6-19.2-57.6-19.2C259.2 716.8 227.2 761.6 224 800zM560 675.2l-32 51.2c-51.2 51.2-83.2 32-83.2 32 25.6 67.2 0 112-12.8 128 25.6 6.4 51.2 9.6 80 9.6 54.4 0 102.4-9.6 150.4-32l0 0c3.2 0 3.2-3.2 3.2-3.2 22.4-16 12.8-35.2 6.4-44.8-9.6-12.8-12.8-25.6-12.8-41.6 0-54.4 60.8-99.2 137.6-99.2 6.4 0 12.8 0 22.4 0 12.8 0 38.4 9.6 48-25.6 0-3.2 0-3.2 3.2-6.4 0-3.2 3.2-6.4 3.2-6.4 6.4-16 6.4-16 6.4-19.2 9.6-35.2 16-73.6 16-115.2 0-105.6-41.6-198.4-108.8-268.8C704 396.8 560 675.2 560 675.2zM224 419.2c0-28.8 22.4-51.2 51.2-51.2 28.8 0 51.2 22.4 51.2 51.2 0 28.8-22.4 51.2-51.2 51.2C246.4 470.4 224 448 224 419.2zM320 284.8c0-22.4 19.2-41.6 41.6-41.6 22.4 0 41.6 19.2 41.6 41.6 0 22.4-19.2 41.6-41.6 41.6C339.2 326.4 320 307.2 320 284.8zM457.6 208c0-12.8 12.8-25.6 25.6-25.6 12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6C470.4 233.6 457.6 220.8 457.6 208zM128 505.6C128 592 153.6 672 201.6 736c28.8-60.8 112-60.8 124.8-60.8-16-51.2 16-99.2 16-99.2l316.8-422.4c-48-19.2-99.2-32-150.4-32C297.6 118.4 128 291.2 128 505.6zM764.8 86.4c-22.4 19.2-390.4 518.4-390.4 518.4-22.4 28.8-12.8 76.8 22.4 99.2l9.6 6.4c35.2 22.4 80 12.8 99.2-25.6 0 0 6.4-12.8 9.6-19.2 54.4-105.6 275.2-524.8 288-553.6 6.4-19.2-3.2-32-19.2-32C777.6 76.8 771.2 80 764.8 86.4z"})]);$u.displayName="OutlookIcon";var Lu=U({name:"ColorModeSwitch",setup(){const{config:e,isDarkMode:t,status:n}=Lr(),r=ht(),o=()=>{e.value==="switch"?n.value={light:"dark",dark:"auto",auto:"light"}[n.value]:n.value=n.value==="light"?"dark":"light"},s=async l=>{if(!(document.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!r.value)){o();return}const a=l.clientX,i=l.clientY,c=Math.hypot(Math.max(a,innerWidth-a),Math.max(i,innerHeight-i)),f=t.value;await document.startViewTransition(async()=>{o(),await Sn()}).ready,t.value!==f&&document.documentElement.animate({clipPath:t.value?[`circle(${c}px at ${a}px ${i}px)`,`circle(0px at ${a}px ${i}px)`]:[`circle(0px at ${a}px ${i}px)`,`circle(${c}px at ${a}px ${i}px)`]},{duration:400,pseudoElement:t.value?"::view-transition-old(root)":"::view-transition-new(root)"})};return()=>u("button",{type:"button",class:"vp-color-mode-switch",id:"color-mode-switch",onClick:s},[u(Tu,{style:{display:n.value==="auto"?"block":"none"}}),u(ku,{style:{display:n.value==="dark"?"block":"none"}}),u(xu,{style:{display:n.value==="light"?"block":"none"}})])}}),D1=U({name:"ColorMode",setup(){const e=ye(),{canToggle:t}=Lr(),n=k(()=>e.value.outlookLocales.darkmode);return()=>t.value?u("div",{class:"vp-color-mode"},[u("label",{class:"vp-color-mode-title",for:"color-mode-switch"},n.value),u(Lu)]):null}}),H1=U({name:"ToggleFullScreenButton",setup(){const{isSupported:e,isFullscreen:t,toggle:n}=Co();return()=>e.value?u("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:t.value,onClick:()=>n()},t.value?u(Pu):u(Au)):null}}),Ou=U({name:"ToggleFullScreenButton",setup(){const e=ye(),{isSupported:t}=Co(),n=k(()=>e.value.outlookLocales.fullscreen);return()=>t.value?u("div",{class:"full-screen-wrapper"},[u("label",{class:"full-screen-title",for:"full-screen-switch"},n.value),u(H1)]):null}}),Ru=U({name:"OutlookSettings",setup(){const e=on(),t=ht(),n=k(()=>!t.value&&e.value.fullscreen);return()=>u(Gs,()=>[null,u(D1),n.value?u(Ou):null])}}),j1=U({name:"NavScreen",props:{show:Boolean},slots:Object,setup(e,{slots:t}){const{isMobile:n}=To(),r=re(),o=ko(r);return Vt(()=>{o.value=!1}),Ae(n,s=>{!s&&e.show&&(o.value=!1)}),Ce(()=>{r.value=document.body}),Bt(()=>{o.value=!1}),()=>u(Fn,{name:"fade",onEnter:()=>{o.value=!0},onAfterLeave:()=>{o.value=!1}},()=>{var s,l;return e.show?u("div",{id:"nav-screen",class:"vp-nav-screen"},u("div",{class:"vp-nav-screen-container"},[(s=t.before)==null?void 0:s.call(t),u(N1),u("div",{class:"vp-outlook-wrapper"},u(Ru)),(l=t.after)==null?void 0:l.call(t)])):null})}}),F1=U({name:"NavbarBrand",setup(){const e=Pt(),t=Eo(),n=ye(),r=k(()=>n.value.home??e.value),o=k(()=>t.value.title),s=k(()=>n.value.navbarTitle??o.value),l=k(()=>n.value.logo?Fe(n.value.logo):null),a=k(()=>n.value.logoDark?Fe(n.value.logoDark):null);return()=>u(mt,{to:r.value,class:"vp-brand","aria-label":n.value.routeLocales.home},()=>[l.value?u("img",{class:["vp-nav-logo",{light:!!a.value}],src:l.value,alt:""}):null,a.value?u("img",{class:["vp-nav-logo dark"],src:a.value,alt:""}):null,s.value?u("span",{class:["vp-site-name",{"hide-in-pad":l.value&&(n.value.hideSiteNameOnMobile??!0)}]},s.value):null])}}),B1=U({name:"NavbarLinks",setup(){const e=Cu();return()=>e.value.length?u("nav",{class:"vp-nav-links"},e.value.map(t=>u("div",{class:"vp-nav-item hide-in-mobile"},"children"in t?u(R1,{config:t}):u(Ze,{config:t,iconSizing:"height"})))):null}}),V1=U({name:"RepoLink",setup(){const e=M1();return()=>e.value?u("div",{class:"vp-nav-item vp-action"},u("a",{class:"vp-action-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},u(e1,{type:e.value.type,style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const Mu=({active:e=!1},{emit:t})=>u("button",{type:"button",class:["vp-toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>{t("toggle")}},u("span",[u("span",{class:"vp-top"}),u("span",{class:"vp-middle"}),u("span",{class:"vp-bottom"})]));Mu.displayName="ToggleNavbarButton";const _s=(e,{emit:t})=>u("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>{t("toggle")}},u("span",{class:"icon"}));_s.displayName="ToggleSidebarButton",_s.emits=["toggle"];var z1=U({name:"OutlookButton",setup(){const e=on(),{canToggle:t}=Lr(),{isSupported:n}=Co(),r=ht(),o=oe(!1),s=k(()=>!r.value&&e.value.fullscreen&&n),l=k(()=>t.value||s.value);return Vt(()=>{o.value=!1}),()=>l.value?u("div",{class:"vp-nav-item hide-in-mobile"},t.value&&!s.value?u(Lu):s.value&&!t.value?u(Ou):u("button",{type:"button",class:["vp-outlook-button",{open:o.value}],tabindex:"-1","aria-hidden":!0},[u($u),u("div",{class:"vp-outlook-dropdown"},u(Ru))])):null}}),W1=U({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:t,slots:n}){const r=ye(),{isMobile:o}=To(),s=oe(!1),l=k(()=>{const{navbarAutoHide:f="mobile"}=r.value;return f!=="none"&&(f==="always"||o.value)}),a=k(()=>r.value.navbarLayout??{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),i={Brand:F1,Language:Qr,Links:B1,Repo:V1,Outlook:z1,Search:_t("SearchBox")?Ee("SearchBox"):Qr},c=f=>i[f]??(_t(f)?Ee(f):Qr);return Vt(()=>{s.value=!1}),Ae(o,f=>{f||(s.value=!1)}),()=>{var f,d,p;return[u("header",{key:"navbar",id:"navbar",class:["vp-navbar",{"auto-hide":l.value}],"vp-navbar":""},[u("div",{class:"vp-navbar-start"},[u(_s,{onToggle:()=>{s.value&&(s.value=!1),t("toggleSidebar")}}),(f=a.value.start)==null?void 0:f.map(h=>u(c(h)))]),u("div",{class:"vp-navbar-center"},[(d=a.value.center)==null?void 0:d.map(h=>u(c(h)))]),u("div",{class:"vp-navbar-end"},[(p=a.value.end)==null?void 0:p.map(h=>u(c(h))),u(Mu,{active:s.value,onToggle:()=>{s.value=!s.value}})])]),u(j1,{show:s.value},{before:n.screenTop,after:n.screenBottom})]}}}),U1=U({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=nn();return()=>Pe(e.config.link)?u(Ze,{class:["vp-sidebar-link",{active:cl(t,e.config)}],config:{...e.config,exact:!0}}):u("p",e,[u(Ee("VPIcon"),{icon:e.config.icon,sizing:"both"}),e.config.text])}}),q1=U({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const n=nn(),r=oe(!1),o=k(()=>ul(n,e.config)),s=k(()=>cl(n,e.config)),l=k(()=>e.open||e.config.expanded&&!r.value);return()=>{const{collapsible:a,children:i=[],icon:c,prefix:f,link:d,text:p}=e.config;return u("section",{class:"vp-sidebar-group"},[u(a?"button":"p",{class:["vp-sidebar-header",{clickable:a||d,exact:s.value,active:o.value}],...a?{type:"button",onClick:()=>{r.value=!0,t("toggle")}}:{}},[u(Ee("VPIcon"),{icon:c,sizing:"both"}),d?u(Ze,{class:"vp-sidebar-title no-external-link-icon",config:{text:p,link:d}}):u("span",{class:"vp-sidebar-title"},p),a?u("span",{class:["vp-arrow",l.value?"down":"end"]}):null]),l.value||!a?u(Iu,{key:f,config:i}):null])}}}),Iu=U({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=nn(),n=Un(),r=oe(-1),o=s=>{r.value=s===r.value?-1:s};return lt(n,()=>{const s=e.config.findIndex(l=>ul(t,l));r.value=s},{flush:"post"}),()=>u("ul",{class:"vp-sidebar-links"},e.config.map((s,l)=>u("li","children"in s?u(q1,{config:s,open:l===r.value,onToggle:()=>{o(l)}}):u(U1,{config:s}))))}}),K1=U({name:"SideBar",slots:Object,setup(e,{slots:t}){const n=nn(),r=fl(),o=re();return Ce(()=>{lt(()=>n.hash,s=>{const l=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${n.path}${s}"]`);if(!l)return;const{top:a,height:i}=o.value.getBoundingClientRect(),{top:c,height:f}=l.getBoundingClientRect();ca+i&&l.scrollIntoView(!1)})}),()=>{var s,l,a;return u("aside",{ref:o,key:"sidebar",id:"sidebar",class:"vp-sidebar","vp-sidebar":""},[(s=t.top)==null?void 0:s.call(t),((l=t.default)==null?void 0:l.call(t))??u(Iu,{config:r.value}),(a=t.bottom)==null?void 0:a.call(t)])}}}),Nu=U({name:"CommonWrapper",props:{containerClass:String,noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:t}){const n=_e(),r=on(),o=ye(),{isMobile:s,isPC:l}=To(),a=ht(),[i,c]=ao(!1),[f,d]=ao(!1),p=fl(),h=re(),b=ko(h),_=oe(!1),w=k(()=>e.noNavbar||n.value.navbar===!1||o.value.navbar===!1?!1:!!(o.value.logo??o.value.repo??o.value.navbar)),S=k(()=>e.noSidebar?!1:(n.value.sidebar??!0)&&p.value.length!==0&&!n.value.home),y=k(()=>n.value.externalLinkIcon??r.value.externalLinkIcon??!0),m=k(()=>!e.noToc&&!n.value.home&&(n.value.toc??o.value.toc??!0)),E={x:0,y:0},R=V=>{E.x=V.changedTouches[0].clientX,E.y=V.changedTouches[0].clientY},z=V=>{const $=V.changedTouches[0].clientX-E.x,D=V.changedTouches[0].clientY-E.y;Math.abs($)>Math.abs(D)*1.5&&Math.abs($)>40&&($>0&&E.x<=80?c(!0):c(!1))};let x=0;return se("scroll",Nc(()=>{const V=window.scrollY;V<=58||V{c(!1)}),Ae(s,V=>{V||c(!1)}),Ae(i,V=>{b.value=V}),Ce(()=>{h.value=document.body}),Bt(()=>{b.value=!1}),()=>u(_t("GlobalEncrypt")?Ee("GlobalEncrypt"):ol,()=>u("div",{class:["theme-container",{"hide-navbar":_.value,"no-navbar":!w.value,"sidebar-collapsed":!s.value&&!l.value&&f.value,"sidebar-open":s.value&&i.value,"no-sidebar":!S.value&&!t.sidebar&&!t.sidebarTop&&!t.sidebarBottom,"external-link-icon":y.value,pure:a.value,"has-toc":m.value},e.containerClass??"",n.value.containerClass??""],"vp-container":"",onTouchStart:R,onTouchEnd:z},[w.value?u(W1,{onToggleSidebar:()=>c()},{screenTop:t.navScreenTop,screenBottom:t.navScreenBottom}):null,u(Fn,{name:"fade"},()=>i.value?u("div",{class:"vp-sidebar-mask",onClick:()=>c(!1)}):null),u(Fn,{name:"fade"},()=>s.value?null:u("div",{class:"toggle-sidebar-wrapper",onClick:()=>d()},u("span",{class:["arrow",f.value?"end":"start"]}))),u(K1,{},{default:t.sidebar,top:t.sidebarTop,bottom:t.sidebarBottom}),t.default(),u(O1)]))}});const ft=U({name:"DropTransition",props:{type:{type:String,default:"single"},delay:{type:Number,default:0},duration:{type:Number,default:.25},appear:Boolean},slots:Object,setup(e,{slots:t}){const n=o=>{o.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,o.style.transform="translateY(-20px)",o.style.opacity="0"},r=o=>{o.style.transform="translateY(0)",o.style.opacity="1"};return()=>{const o={name:"drop",appear:e.appear,onAppear:n,onAfterAppear:r,onEnter:n,onAfterEnter:r,onBeforeLeave:n},s=()=>t.default();return e.type==="group"?u(dc,o,s):u(Fn,o,s)}}});var dl=U({name:"MarkdownContent",props:{custom:Boolean},setup(e){const t=on(),n=oe(),r=Rv(n,{delayEnter:Jr(t.value.focus)?t.value.focus:1500,delayLeave:0}),o=k(()=>!!(t.value.focus??t.value.pure)&&r.value);return Ce(()=>{const s=document.documentElement;lt(o,l=>{l?s.classList.add("is-focusing"):s.classList.remove("is-focusing")})}),()=>u(Lc,{ref:n,class:["theme-hope-content",{custom:e.custom}],"vp-content":""})}}),G1=U({name:"PrintButton",setup(){const e=on(),t=ye();return()=>e.value.print===!1?null:u("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},u(mu))}}),Y1=U({name:"TOC",props:{items:Array,options:Object},slots:Object,setup(e,{slots:t}){const n=Er(e,"options"),r=em(n),o=nn(),s=sn(),[l,a]=ao(),i=re(),c=oe("-1.7rem"),f=b=>{var _;(_=i.value)==null||_.scrollTo({top:b,behavior:"smooth"})},d=()=>{if(i.value){const b=document.querySelector(".vp-toc-item.active");b?c.value=`${b.getBoundingClientRect().top-i.value.getBoundingClientRect().top+i.value.scrollTop}px`:c.value="-1.7rem"}else c.value="-1.7rem"};Ce(()=>{lt(()=>o.hash,b=>{if(i.value){const _=document.querySelector(`#toc a.vp-toc-link[href$="${b}"]`);if(!_)return;const{top:w,height:S}=i.value.getBoundingClientRect(),{top:y,height:m}=_.getBoundingClientRect();yw+S&&f(i.value.scrollTop+y+m-w-S)}},{flush:"post"}),lt(()=>o.fullPath,d,{flush:"post"})});const p=({title:b,level:_,slug:w})=>u(mt,{to:`#${w}`,class:["vp-toc-link",`level${_}`],onClick:()=>{a()}},()=>b),h=b=>b.length?u("ul",{class:"vp-toc-list"},b.map(_=>{const w=h(_.children);return[u("li",{class:["vp-toc-item",{active:o.hash===`#${_.slug}`}]},p(_)),w?u("li",w):null]})):null;return()=>{var S,y,m;const b=(S=e.items)!=null&&S.length?h(e.items):h(r.value),_=(y=t.before)==null?void 0:y.call(t),w=(m=t.after)==null?void 0:m.call(t);return u(Gs,()=>b||_||w?u("div",{class:"vp-toc-placeholder"},[u("aside",{id:"toc","vp-toc":""},[_,b?[u("div",{class:"vp-toc-header",onClick:()=>{a()}},[s.value.toc,u(G1),u("div",{class:["arrow",l.value?"down":"end"]})]),u("div",{class:["vp-toc-wrapper",l.value?"open":""],ref:i},[b,u("div",{class:"vp-toc-marker",style:{top:c.value}})])]:null,w])]):null)}}}),Du=U({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=ye(),n=re(),r=({target:o})=>{const s=document.querySelector(o.hash);if(s){const l=()=>{s.removeAttribute("tabindex"),s.removeEventListener("blur",l)};s.setAttribute("tabindex","-1"),s.addEventListener("blur",l),s.focus(),window.scrollTo(0,0)}};return Vt(()=>{var o;(o=n.value)==null||o.focus()}),()=>[u("span",{ref:n,tabindex:"-1"}),u("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:r},t.value.routeLocales.skipToContent)]}});let Xo=null,Xn=null;const ws={wait:()=>Xo,pending:()=>{Xo=new Promise(e=>{Xn=e})},resolve:()=>{Xn==null||Xn(),Xo=null,Xn=null}},Hu=(e,{slots:t})=>u(Fn,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:ws.resolve,onBeforeLeave:ws.pending},()=>t.default());Hu.displayName="FadeSlideY";var J1=U({name:"PageTitle",setup(){const e=pt(),t=_e(),n=ye(),{info:r,items:o}=m1();return()=>u("div",{class:"vp-page-title"},[u("h1",[n.value.titleIcon===!1?null:u(Ee("VPIcon"),{icon:t.value.icon}),e.value.title]),u(C1,{info:r.value,items:o.value}),u("hr")])}});const Q1=(e,t)=>{const n=e.replace(t,"/").split("/"),r=[];let o=Ws(t);return n.forEach((s,l)=>{l!==n.length-1?(o+=`${s}/`,r.push({link:o,name:s||"Home"})):s!==""&&(o+=s,r.push({link:o,name:s}))}),r},za=(e,t)=>e===!1?e:_o(e)?{...e,link:co(e.link,!0,t).link}:Pe(e)?co(e,!0,t):null,Ss=(e,t,n)=>{const r=e.findIndex(s=>s.link===t);if(r!==-1){if(!e[r+n])return null;const s=e[r+n];return s.link?s:"prefix"in s&&!Ht(s.prefix).notFound?{...s,link:s.prefix}:null}for(const s of e)if("children"in s){const l=Ss(s.children,t,n);if(l)return l}const o=e.findIndex(s=>"prefix"in s&&s.prefix===t);if(o!==-1){if(!e[o+n])return null;const s=e[o+n];return s.link?s:"prefix"in s&&!Ht(s.prefix).notFound?{...s,link:s.prefix}:null}return null},X1=()=>{const e=_e(),t=ye(),n=fl(),r=Un(),o=k(()=>{const l=za(e.value.prev,r.value);return l===!1?null:l??(t.value.prevLink===!1?null:Ss(n.value,r.value,-1))}),s=k(()=>{const l=za(e.value.next,r.value);return l===!1?null:l??(t.value.nextLink===!1?null:Ss(n.value,r.value,1))});return{prevLink:o,nextLink:s}},Es=(e,{slots:t})=>{var d,p;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:s,description:l,image:a,imageDark:i,header:c,features:f=[]}=e;return u("div",{class:"vp-feature-wrapper"},[n?u("div",{class:["vp-feature-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?u("div",{class:"vp-feature-bg dark",style:[{"background-image":`url(${r})`},o]}):null,u("div",{class:"vp-feature",style:s?{color:s}:{}},[((d=t.image)==null?void 0:d.call(t,e))??[a?u("img",{class:["vp-feature-image",{light:i}],src:Fe(a),alt:""}):null,i?u("img",{class:"vp-feature-image dark",src:Fe(i),alt:""}):null],((p=t.info)==null?void 0:p.call(t,e))??[c?u("h2",{class:"vp-feature-header"},c):null,l?u("p",{class:"vp-feature-description",innerHTML:l}):null],f.length?u("div",{class:"vp-features"},f.map(({icon:h,title:b,details:_,link:w})=>{const S=[u("h3",{class:"vp-feature-title"},[u(Ee("VPIcon"),{icon:h}),u("span",{innerHTML:b})]),u("p",{class:"vp-feature-details",innerHTML:_})];return w?zs(w)?u("a",{class:"vp-feature-item link",href:w,"aria-label":b,target:"_blank"},S):u(mt,{class:"vp-feature-item link",to:w,"aria-label":b},()=>S):u("div",{class:"vp-feature-item"},S)})):null])])};Es.displayName="FeaturePanel";var Z1=U({name:"HeroInfo",slots:Object,setup(e,{slots:t}){const n=_e(),r=Eo(),o=k(()=>n.value.heroFullScreen??!1),s=k(()=>{const{heroText:c,tagline:f}=n.value;return{text:c??(r.value.title||"Hello"),tagline:f??r.value.description,isFullScreen:o.value}}),l=k(()=>{const{heroText:c,heroImage:f,heroImageDark:d,heroAlt:p,heroImageStyle:h}=n.value;return{image:f?Fe(f):null,imageDark:d?Fe(d):null,imageStyle:h,alt:p??c??"",isFullScreen:o.value}}),a=k(()=>{const{bgImage:c,bgImageDark:f,bgImageStyle:d}=n.value;return{image:Pe(c)?Fe(c):null,imageDark:Pe(f)?Fe(f):null,bgStyle:d,isFullScreen:o.value}}),i=k(()=>n.value.actions??[]);return()=>{var c,f,d;return u("header",{class:["vp-hero-info-wrapper",{fullscreen:o.value}]},[((c=t.bg)==null?void 0:c.call(t,a.value))??[a.value.image?u("div",{class:["vp-hero-mask",{light:a.value.imageDark}],style:[{"background-image":`url(${a.value.image})`},a.value.bgStyle]}):null,a.value.imageDark?u("div",{class:"vp-hero-mask dark",style:[{"background-image":`url(${a.value.imageDark})`},a.value.bgStyle]}):null],u("div",{class:"vp-hero-info"},[((f=t.logo)==null?void 0:f.call(t,l.value))??u(ft,{appear:!0,type:"group"},()=>{const{image:p,imageDark:h,imageStyle:b,alt:_}=l.value;return[p?u("img",{key:"light",class:["vp-hero-image",{light:h}],style:b,src:p,alt:_}):null,h?u("img",{key:"dark",class:"vp-hero-image dark",style:b,src:h,alt:_}):null]}),((d=t.info)==null?void 0:d.call(t,s.value))??u("div",{class:"vp-hero-infos"},[s.value.text?u(ft,{appear:!0,delay:.04},()=>u("h1",{id:"main-title",class:"vp-hero-title"},s.value.text)):null,s.value.tagline?u(ft,{appear:!0,delay:.08},()=>u("p",{id:"main-description",innerHTML:s.value.tagline})):null,i.value.length?u(ft,{appear:!0,delay:.12},()=>u("p",{class:"vp-hero-actions"},i.value.map(p=>u(Ze,{class:["vp-hero-action",p.type??"default","no-external-link-icon"],config:p})))):null])])])}}});const ju=(e,{slots:t})=>{var p,h,b;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:s,description:l,image:a,imageDark:i,header:c,highlights:f=[],type:d="un-order"}=e;return u("div",{class:"vp-highlight-wrapper",style:s?{color:s}:{}},[n?u("div",{class:["vp-highlight-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?u("div",{class:"vp-highlight-bg dark",style:[{"background-image":`url(${r})`},o]}):null,u("div",{class:"vp-highlight"},[((p=t.image)==null?void 0:p.call(t,e))??[a?u("img",{class:["vp-highlight-image",{light:i}],src:Fe(a),alt:""}):null,i?u("img",{class:"vp-highlight-image dark",src:Fe(i),alt:""}):null],((h=t.info)==null?void 0:h.call(t,e))??[u("div",{class:"vp-highlight-info-wrapper"},u("div",{class:"vp-highlight-info"},[c?u("h2",{class:"vp-highlight-header",innerHTML:c}):null,l?u("p",{class:"vp-highlight-description",innerHTML:l}):null,((b=t.highlights)==null?void 0:b.call(t,f))??u(d==="order"?"ol":d==="no-order"?"dl":"ul",{class:"vp-highlights"},f.map(({icon:_,title:w,details:S,link:y})=>{const m=[u(d==="no-order"?"dt":"h3",{class:"vp-highlight-title"},[_?u(Ee("VPIcon"),{class:"vp-highlight-icon",icon:_}):null,u("span",{innerHTML:w})]),S?u(d==="no-order"?"dd":"p",{class:"vp-highlight-details",innerHTML:S}):null];return u(d==="no-order"?"div":"li",{class:["vp-highlight-item-wrapper",{link:y}]},y?zs(y)?u("a",{class:"vp-highlight-item link",href:y,"aria-label":w,target:"_blank"},m):u(mt,{class:"vp-highlight-item link",to:y,"aria-label":w},()=>m):u("div",{class:"vp-highlight-item"},m))}))]))]])])};ju.displayName="HighlightPanel";var e0=U({name:"HomePage",slots:Object,setup(e,{slots:t}){const n=_e(),r=k(()=>{const{features:s}=n.value;return io(s)?s:null}),o=k(()=>{const{highlights:s}=n.value;return io(s)?s:null});return()=>{var s,l,a,i;return u("main",{id:"main-content",class:"vp-page vp-project-home","aria-labelledby":n.value.heroText===""?"":"main-title"},[(s=t.top)==null?void 0:s.call(t),u(Z1),((l=o.value)==null?void 0:l.map(c=>"features"in c?u(Es,c):u(ju,c)))??(r.value?u(ft,{appear:!0,delay:.24},()=>u(Es,{features:r.value})):null),(a=t.center)==null?void 0:a.call(t),u(ft,{appear:!0,delay:.32},()=>u(dl)),(i=t.bottom)==null?void 0:i.call(t)])}}}),t0=U({name:"BreadCrumb",setup(){const e=pt(),t=Pt(),n=Un(),r=_e(),o=ye(),s=re([]),l=k(()=>(r.value.breadcrumb??o.value.breadcrumb??!0)&&s.value.length>1),a=k(()=>r.value.breadcrumbIcon??o.value.breadcrumbIcon??!0),i=()=>{const c=Q1(e.value.path,t.value).map(({link:f,name:d})=>{const{path:p,meta:h,notFound:b}=Ht(f);return b||h.breadcrumbExclude?null:{title:h.shortTitle||h.title||d,icon:h.icon,path:p}}).filter(f=>f!==null);c.length>1&&(s.value=c)};return Ce(()=>{lt(n,i)}),()=>u("nav",{class:["vp-breadcrumb",{disable:!l.value}]},l.value?u("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},s.value.map((c,f)=>u("li",{class:{"is-active":s.value.length-1===f},property:"itemListElement",typeof:"ListItem"},[u(mt,{to:c.path,property:"item",typeof:"WebPage"},()=>[a.value?u(Ee("VPIcon"),{icon:c.icon}):null,u("span",{property:"name"},c.title||"Unknown")]),u("meta",{property:"position",content:f+1})]))):[])}}),n0=U({name:"PageNav",setup(){const e=ye(),t=al(),{prevLink:n,nextLink:r}=X1();return se("keydown",o=>{o.altKey&&(o.key==="ArrowRight"?r.value&&(t(r.value.link),o.preventDefault()):o.key==="ArrowLeft"&&n.value&&(t(n.value.link),o.preventDefault()))}),()=>n.value||r.value?u("nav",{class:"vp-page-nav"},[n.value?u(Ze,{class:"prev",config:n.value},()=>{var o,s;return[u("div",{class:"hint"},[u("span",{class:"arrow start"}),e.value.metaLocales.prev]),u("div",{class:"link"},[u(Ee("VPIcon"),{icon:(o=n.value)==null?void 0:o.icon}),(s=n.value)==null?void 0:s.text])]}):null,r.value?u(Ze,{class:"next",config:r.value},()=>{var o,s;return[u("div",{class:"hint"},[e.value.metaLocales.next,u("span",{class:"arrow end"})]),u("div",{class:"link"},[(o=r.value)==null?void 0:o.text,u(Ee("VPIcon"),{icon:(s=r.value)==null?void 0:s.icon})])]}):null]):null}});const r0=()=>{const e=ye(),t=pt(),n=_e();return k(()=>{var r;return n.value.contributors??e.value.contributors??!0?((r=t.value.git)==null?void 0:r.contributors)??null:null})},o0={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},s0=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=sl(e);let l;return o?l=o:s!==null&&(l=o0[s]),l?l.replace(/:repo/u,Pr(e)?e:`https://github.com/${e}`).replace(/:branch/u,t).replace(/:path/u,vc(`${Ws(n)}/${r}`)):null},l0=()=>{const e=ye(),t=pt(),n=_e();return k(()=>{const{repo:r,docsRepo:o=r,docsBranch:s="main",docsDir:l="",editLink:a,editLinkPattern:i=""}=e.value;if(!(n.value.editLink??a??!0)||!o)return null;const c=s0({docsRepo:o,docsBranch:s,docsDir:l,editLinkPattern:i,filePathRelative:t.value.filePathRelative});return c?{text:e.value.metaLocales.editLink,link:c}:null})},a0=()=>{const e=Eo(),t=ye(),n=pt(),r=_e();return k(()=>{var o;return!(r.value.lastUpdated??t.value.lastUpdated??!0)||!((o=n.value.git)!=null&&o.updatedTime)?null:new Date(n.value.git.updatedTime).toLocaleString(e.value.lang)})},Fu=()=>u(He,{name:"edit"},()=>[u("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),u("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})]);Fu.displayName="EditIcon";var i0=U({name:"PageMeta",setup(){const e=ye(),t=l0(),n=a0(),r=r0();return()=>{var s;const{metaLocales:o}=e.value;return u("footer",{class:"vp-page-meta"},[t.value?u("div",{class:"vp-meta-item edit-link"},u(Ze,{class:"vp-meta-label",config:t.value},{before:()=>u(Fu)})):null,u("div",{class:"vp-meta-item git-info"},[n.value?u("div",{class:"update-time"},[u("span",{class:"vp-meta-label"},`${o.lastUpdated}: `),u("span",{class:"vp-meta-info","data-allow-mismatch":"text"},n.value)]):null,(s=r.value)!=null&&s.length?u("div",{class:"contributors"},[u("span",{class:"vp-meta-label"},`${o.contributors}: `),r.value.map(({email:l,name:a},i,c)=>[u("span",{class:"vp-meta-info",title:`email: ${l}`},a),i!==c.length-1?",":""])]):null])])}}}),c0=U({name:"NormalPage",slots:Object,setup(e,{slots:t}){const n=_e(),{isDarkMode:r}=Lr(),o=ye(),s=k(()=>n.value.toc??o.value.toc??!0),l=k(()=>[2,(n.value.headerDepth??o.value.headerDepth??2)+1]);return()=>u("main",{id:"main-content",class:"vp-page"},u(_t("LocalEncrypt")?Ee("LocalEncrypt"):ol,()=>{var a,i,c,f;return[(a=t.top)==null?void 0:a.call(t),n.value.cover?u("div",{class:"page-cover"},u("img",{src:Fe(n.value.cover),alt:"","no-view":""})):null,u(t0),u(J1),s.value?u(Y1,{options:{levels:l.value,ignore:[".vp-badge"]}},{before:t.tocBefore,after:t.tocAfter}):null,(i=t.contentBefore)==null?void 0:i.call(t),u(dl),(c=t.contentAfter)==null?void 0:c.call(t),u(i0),u(n0),_t("CommentService")?u(Ee("CommentService"),{darkmode:r.value}):null,(f=t.bottom)==null?void 0:f.call(t)]}))}}),u0=U({name:"PortfolioHero",slots:Object,setup(e,{slots:t}){const n=fu(),r=_e(),o=oe(0),s=k(()=>{var p;return((p=r.value.titles)==null?void 0:p[o.value])??""}),l=oe(""),a=k(()=>{const{name:p,avatar:h,avatarDark:b,avatarAlt:_,avatarStyle:w}=r.value;return{name:p??n.value.name,avatar:h?Fe(h):null,avatarDark:b?Fe(b):null,avatarStyle:w,alt:(_||p)??""}}),i=k(()=>{const{bgImage:p,bgImageDark:h,bgImageStyle:b}=r.value;return{image:Pe(p)?Fe(p):null,imageDark:Pe(h)?Fe(h):null,bgStyle:b}}),c=k(()=>{const{welcome:p,name:h,titles:b=[],medias:_}=r.value;return{name:h??n.value.name,welcome:p??"👋 Hi There, I'm",title:l.value,titles:b,medias:_??null}}),f=()=>{l.value="";let p=0,h=!1;const b=async()=>{if(!h)if(l.value+=s.value[p],p+=1,await Sn(),p{b()},150);else{const _=c.value.titles.length;setTimeout(()=>{o.value=_<=1||o.value===c.value.titles.length-1?0:o.value+1},1e3)}};return b(),()=>{h=!0}};let d;return Ce(()=>{lt(s,()=>{d==null||d(),d=f()})}),()=>{var p,h,b;return u("section",{id:"portfolio",class:["vp-portfolio",{bg:i.value.image}]},[((p=t.bg)==null?void 0:p.call(t,i.value))??[i.value.image?u("div",{class:["vp-portfolio-mask",{light:i.value.imageDark}],style:[{background:`url(${i.value.image}) center/cover no-repeat`},i.value.bgStyle]}):null,i.value.imageDark?u("div",{class:"vp-portfolio-mask dark",style:[{background:`url(${i.value.imageDark}) center/cover no-repeat`},i.value.bgStyle]}):null],((h=t.avatar)==null?void 0:h.call(t,a.value))??u("div",{class:"vp-portfolio-avatar"},[u(ft,{delay:.04},()=>{const{avatar:_,avatarDark:w,name:S,alt:y,avatarStyle:m}=a.value;return[_?u("img",{key:"light",class:{light:w},src:_,title:S,alt:y,style:m}):null,w?u("img",{key:"dark",class:"dark",src:w,title:S,alt:y,style:m}):null]})]),u("div",{class:"vp-portfolio-container"},((b=t.info)==null?void 0:b.call(t,c.value))??u("div",{class:"vp-portfolio-info"},[u(ft,{appear:!0,delay:.08},()=>u("h6",{class:"vp-portfolio-welcome"},c.value.welcome)),u(ft,{appear:!0,delay:.12},()=>u("h1",{class:"vp-portfolio-name",id:"main-title"},c.value.name)),u(ft,{appear:!0,delay:.16},()=>u("h2",{class:"vp-portfolio-title"},l.value)),u(ft,{appear:!0,delay:.2},()=>c.value.medias?u("div",{class:"vp-portfolio-medias"},c.value.medias.map(({name:_,url:w,icon:S})=>u("a",{class:"vp-portfolio-media",href:w,rel:"noopener noreferrer",target:"_blank",title:_},u(Ee("VPIcon"),{icon:S,sizing:"both"})))):_t("SocialMedias")?u(Ee("SocialMedias")):null)]))])}}}),f0=U({name:"PortfolioHome",setup(){const e=_e(),t=k(()=>e.value.content??"portfolio");return()=>u("main",{id:"main-content",class:"vp-page vp-portfolio-home","aria-labelledby":"main-title"},[u(u0),t.value==="none"?null:u("div",{},u(ft,{appear:!0,delay:.24},()=>u(dl,{class:{"vp-portfolio-content":t.value==="portfolio"}})))])}}),d0=U({name:"Layout",slots:Object,setup(e,{slots:t}){ye();const n=pt(),r=_e(),o=ht(),{isMobile:s}=To(),l=k(()=>"none");return()=>[u(Du),u(Nu,{},{default:()=>{var a;return((a=t.default)==null?void 0:a.call(t))??(r.value.portfolio?u(f0):r.value.home?u(e0):u(o.value?ol:Hu,()=>u(c0,{key:n.value.path},{top:t.top,bottom:t.bottom,contentBefore:t.contentBefore,contentAfter:t.contentAfter,tocBefore:t.tocBefore,tocAfter:t.tocAfter})))},navScreenBottom:l.value==="none"&&_t("BloggerInfo")?()=>u(Ee("BloggerInfo")):null,sidebar:!s.value&&l.value==="always"&&_t("BloggerInfo")?()=>u(Ee("BloggerInfo")):null})]}}),p0=U({name:"NotFoundHint",setup(){const e=ye(),t=()=>{const n=e.value.routeLocales.notFoundMsg;return n[Math.floor(Math.random()*n.length)]};return()=>u("div",{class:"not-found-hint"},[u("p",{class:"error-code"},"404"),u("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),u("p",{class:"error-hint"},t())])}}),h0=U({name:"NotFound",slots:Object,setup(e,{slots:t}){const n=Wn(),r=Pt(),o=ye();return()=>[u(Du),u(Nu,{noSidebar:!0},()=>{var s;return u("main",{id:"main-content",class:"vp-page not-found"},((s=t.default)==null?void 0:s.call(t))??[u(p0),u("div",{class:"actions"},[u("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},o.value.routeLocales.back),u("button",{type:"button",class:"action-button",onClick:()=>{n.push(o.value.home??r.value)}},o.value.routeLocales.home)])])})]}});ag(e=>{const t=e.title,n=e.index??!0,r=e.icon;return n?{title:t,content:r?()=>[u(Ee("VPIcon"),{icon:r}),t]:null,order:e.order,index:e.index}:null});const v0={enhance:({app:e,router:t})=>{const{scrollBehavior:n}=t.options;t.options.scrollBehavior=async(...r)=>(await ws.wait(),n(...r)),$1(e)},setup:()=>{L1(),T1()},layouts:{Layout:d0,NotFound:h0}},m0=Object.freeze(Object.defineProperty({__proto__:null,default:v0},Symbol.toStringTag,{value:"Module"})),Bu=`.theme-container .vp-page.vp-portfolio-home, +.theme-container .vp-page.vp-blog-home { + padding-top: 0; +} +.vp-blog-hero.fullscreen { + height: 100vh; +} +`,g0=Bu+`.theme-container .vp-project-home { + padding-top: 0; +} + +.vp-hero-info-wrapper{ + padding-top: var(--navbar-height); +} +`,b0=[".vp-navbar",".vp-site-name",".vp-dropdown-title",".vp-dropdown-subtitle",".vp-navbar .auto-link",".vp-navbar .auto-link.route-link-active",".vp-action-link",".vp-color-mode-switch",".vp-outlook-button",".slimsearch-button",".DocSearch-Button"],y0=[".vp-toggle-navbar-button .vp-top",".vp-toggle-navbar-button .vp-middle",".vp-toggle-navbar-button .vp-bottom",".vp-toggle-sidebar-button .icon",".vp-toggle-sidebar-button:before",".vp-toggle-sidebar-button:after"],_0=e=>e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(//g,"%3E"),Wa=(e,t="")=>`${b0.map(n=>`${t} .transparent-navbar ${n}`).join(",")} { + color: ${e}; +} +${y0.map(n=>`${t} .transparent-navbar ${n}`).join(",")} { + background: ${e}; +} + +${t}.transparent-navbar .dropdown-wrapper .dropdown-title > .arrow { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='${_0(e)}' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E"); +} +`,w0=({type:e,threshold:t=50,light:n,dark:r}={})=>{const o=Un(),s=Pt(),l=_e(),a=k(e==="all"?()=>!0:e==="homepage"?()=>l.value.home??o.value===s.value:()=>l.value.portfolio??l.value.layout==="BlogHome"),i=()=>{window.scrollY{lt(o,()=>i,{flush:"post"})})},pl=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},S0={name:"BlankLayout"},E0={class:"theme-container blank-layout"};function C0(e,t,n,r,o,s){const l=Ee("Content"),a=Ee("VPFooter");return Le(),je("div",E0,[Se(l),Se(a)])}const k0=pl(S0,[["render",C0]]),x0="/images/portrait/ulf-gebhardt.jpg",T0={class:"grid grid-cols-1 md:grid-cols-10 gap-8"},A0={class:"md:col-span-7"},P0={key:0,class:"my-4 p-3 bg-green-100 text-green-700 rounded-md mb-4"},$0={key:1,class:"my-4 p-3 bg-red-100 text-red-700 rounded-md mb-4"},L0={class:"my-4"},O0={class:"my-4"},R0={class:"my-4"},M0={class:"my-4"},I0={class:"my-4 flex justify-end"},N0=["disabled"],D0={key:0},H0={key:1},j0=U({__name:"ContactForm",setup(e){const t=Xt({name:"",email:"",phone:"",message:""}),n=oe(!1),r=oe(!1),o=oe(""),s=async()=>{try{n.value=!0,o.value="";const l=await fetch("/api/mail",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t.name,email:t.email,telephone:t.phone||void 0,text:t.message})});if(l.status!==200)throw new Error("Bei der Kommunikation mit dem Server ist ein Fehler aufgetreten.");const a=await l.json();if(!l.ok)throw new Error(a.error||"Fehler beim Senden der Nachricht");t.name="",t.email="",t.phone="",t.message="",r.value=!0,setTimeout(()=>{r.value=!1},5e3)}catch(l){o.value=l instanceof Error?l.message:"Ein unbekannter Fehler ist aufgetreten"}finally{n.value=!1}};return(l,a)=>(Le(),je(Re,null,[a[6]||(a[6]=ne("p",{class:"text-gray-600 dark:text-gray-300 mb-8"},[oo(" Wir freuen uns auf deine Nachricht. Als Ansprechpartner steht dir "),ne("strong",null,"Ulf Gebhardt"),oo(" für deine Fragen gerne zur Verfügung. ")],-1)),ne("div",T0,[a[5]||(a[5]=ne("div",{class:"flex flex-col items-center md:items-end md:self-start md:col-span-3 md:sticky md:top-8"},[ne("img",{src:x0,alt:"Ulf Gebhardt",class:"rounded-lg shadow-md w-75 h-auto mb-6"})],-1)),ne("div",A0,[a[4]||(a[4]=nc('

Telefon

Nachricht

',3)),ne("form",{onSubmit:yp(s,["prevent"])},[r.value?(Le(),je("div",P0," Deine Nachricht wurde erfolgreich gesendet. Vielen Dank! ")):Ol("",!0),o.value?(Le(),je("div",$0,Qe(o.value),1)):Ol("",!0),ne("div",L0,[Nr(ne("input",{id:"name","onUpdate:modelValue":a[0]||(a[0]=i=>t.name=i),type:"text",placeholder:"Name",required:"",minlength:"2",maxlength:"35",class:"w-full p-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:highlight focus:border-transparent"},null,512),[[Fr,t.name]])]),ne("div",O0,[Nr(ne("input",{id:"email","onUpdate:modelValue":a[1]||(a[1]=i=>t.email=i),type:"email",placeholder:"E-Mail",required:"",class:"w-full p-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:highlight focus:border-transparent"},null,512),[[Fr,t.email]])]),ne("div",R0,[Nr(ne("input",{id:"phone","onUpdate:modelValue":a[2]||(a[2]=i=>t.phone=i),type:"tel",placeholder:"Telefon",minlength:"8",class:"w-full p-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:highlight focus:border-transparent"},null,512),[[Fr,t.phone]])]),ne("div",M0,[Nr(ne("textarea",{id:"message","onUpdate:modelValue":a[3]||(a[3]=i=>t.message=i),rows:"4",placeholder:"Deine Nachricht",required:"",minlength:"5",class:"w-full p-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:highlight focus:border-transparent"},null,512),[[Fr,t.message]])]),ne("div",I0,[ne("button",{type:"submit",disabled:n.value,class:"text-white py-2 px-6 rounded-md transition-colors duration-200 focus:outline-none focus:ring-2 focus:highlight focus:ring-offset-2"},[n.value?(Le(),je("span",D0,"Wird gesendet...")):(Le(),je("span",H0,"Nachricht senden"))],8,N0)])],32)])])],64))}}),F0={name:"ContentSection",props:{title:{type:String,required:!0},backgroundColor:{type:String,default:"bg-white dark:bg-gray-900"},id:{type:String,default:""}}},B0=["id"],V0={class:"content-width"},z0={class:"py-16"};function W0(e,t,n,r,o,s){return Le(),je("section",{id:n.id,class:ho([n.backgroundColor])},[ne("div",V0,[ne("div",z0,[ne("h1",null,Qe(n.title),1),rd(e.$slots,"default")])])],10,B0)}const U0=pl(F0,[["render",W0]]),q0={name:"FooterSection",computed:{currentYear(){return new Date().getFullYear()}}},K0={class:"bg-[#22596c] text-white py-8"},G0={class:"content-width mx-auto px-4 md:px-6"},Y0={class:"flex flex-col md:flex-row justify-between items-center"},J0={class:"mb-4 md:mb-0"},Q0={class:"text-sm"};function X0(e,t,n,r,o,s){return Le(),je("footer",K0,[ne("div",G0,[ne("div",Y0,[ne("div",J0,[ne("p",Q0,"© "+Qe(s.currentYear)+" CC BY IT4C.dev & Autoren",1)]),t[0]||(t[0]=nc('',1))])])])}const Z0=pl(q0,[["render",X0]]),e2={class:"grid grid-cols-12 items-start mb-16"},t2={class:"col-span-3 text-right pr-8"},n2={class:"text-5xl sm:text-6xl font-bold highlight-number"},r2={class:"col-span-9 pt-0 sm:pt-2"},o2={class:"text-xl font-semibold mb-2"},s2={class:"text-gray-600 dark:text-gray-300"},l2=U({__name:"ProcessStep",props:{number:{},title:{},description:{}},setup(e){return(t,n)=>(Le(),je("div",e2,[ne("div",t2,[ne("span",n2,Qe(t.number.padStart(2,"0")),1)]),ne("div",r2,[ne("h3",o2,Qe(t.title),1),ne("p",s2,Qe(t.description),1)])]))}}),a2=["href"],i2={class:"border border-gray-300 rounded-lg p-6"},c2=["src","alt"],u2={class:"text-xl font-semibold mb-2"},f2={class:"text-gray-600 dark:text-gray-300 mb-4"},d2={class:"flex flex-wrap gap-2"},p2=U({__name:"ProjectCard",props:{title:{},description:{},image:{},tags:{},href:{}},setup(e){return(t,n)=>(Le(),je("a",{href:t.href},[ne("div",i2,[ne("img",{src:t.image,alt:t.title,class:"rounded-lg mb-4 w-full h-auto object-contain"},null,8,c2),ne("h3",u2,Qe(t.title),1),ne("p",f2,Qe(t.description),1),ne("div",d2,[(Le(!0),je(Re,null,Li(t.tags,r=>(Le(),je("span",{key:r,class:"tag px-3 py-1 rounded-full text-sm"},Qe(r),1))),128))])])],8,a2))}}),h2={class:"p-6 border border-gray-300 rounded-lg"},v2={class:"text-xl font-semibold mb-4"},m2={class:"space-y-2 text-gray-600 dark:text-gray-300"},g2=U({__name:"ServiceCard",props:{title:{},items:{}},setup(e){return(t,n)=>(Le(),je("div",h2,[ne("h3",v2,Qe(t.title),1),ne("ul",m2,[(Le(!0),je(Re,null,Li(t.items,r=>(Le(),je("li",{key:r},Qe(r),1))),128))])]))}}),b2=["href"],y2={class:"relative w-48 h-48 mx-auto mb-4"},_2=["src","alt"],w2={class:"font-semibold text-gray-900 dark:text-gray-50 transition-colors duration-200 group-hover:text-gray-600 group-hover:dark:text-gray-300"},S2={class:"text-sm text-gray-600 dark:text-gray-300"},E2=U({__name:"TeamMember",props:{name:{},role:{},image:{},profileUrl:{}},setup(e){return(t,n)=>(Le(),je("a",{href:t.profileUrl,class:"block text-center group transition-transform duration-200 hover:-translate-y-2 active:translate-y-0"},[ne("div",y2,[ne("img",{src:t.image,alt:t.name,class:"rounded-full w-full h-full object-cover grayscale transition-all duration-200 transform group-hover:scale-[1.05]"},null,8,_2),n[0]||(n[0]=ne("div",{class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[115%] h-[115%] rounded-full overlay-bg opacity-0 group-hover:opacity-25 transition-opacity duration-200"},null,-1))]),ne("h4",w2,Qe(t.name),1),ne("p",S2,Qe(t.role),1)],8,b2))}}),C2=["src","width"],k2=U({__name:"CaptionedImage",props:{src:{},caption:{},width:{}},setup(e){return(t,n)=>(Le(),je("figure",null,[ne("img",{src:t.src,alt:"",width:t.width},null,8,C2),ne("figcaption",null,Qe(t.caption),1)]))}}),x2=St({enhance({app:e}){e.component("ContactForm",j0),e.component("ContentSection",U0),e.component("VPFooter",Z0),e.component("ProcessStep",l2),e.component("ProjectCard",p2),e.component("TeamMember",E2),e.component("ServiceCard",g2),e.component("CaptionedImage",k2)},setup(){w0({type:"homepage"})},layouts:{BlankLayout:k0}}),T2=Object.freeze(Object.defineProperty({__proto__:null,default:x2},Symbol.toStringTag,{value:"Module"})),Ur=[um,fm,dm,pm,vm,mm,gm,Em,Tm,Mm,Dm,Qm,Zm,lg,pg,yg,qg,Xg,m0,T2].map(e=>e.default).filter(Boolean),A2=JSON.parse('{"base":"/","lang":"de-DE","title":"IT4C","description":"IT4C.dev stellt das IT Team for Change, seine angewandte Philosophie und Projekte vor.","head":[["meta",{"name":"viewport","content":"width=device-width,initial-scale=1"}]],"locales":{}}');var er=re(A2),P2=vh,$2=()=>{const e=Fh({history:P2(Ws("/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===Mt){const r=Ht(t.fullPath);if(r.path!==t.fullPath)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},L2=e=>{e.component("ClientOnly",Gs),e.component("Content",Lc),e.component("RouteLink",mt)},O2=(e,t,n)=>{const r=k(()=>t.currentRoute.value.path),o=gi((w,S)=>({get(){return w(),t.currentRoute.value.meta._pageChunk},set(y){t.currentRoute.value.meta._pageChunk=y,S()}})),s=k(()=>cn.resolveLayouts(n)),l=k(()=>cn.resolveRouteLocale(er.value.locales,r.value)),a=k(()=>cn.resolveSiteLocaleData(er.value,l.value)),i=k(()=>o.value.comp),c=k(()=>o.value.data),f=k(()=>c.value.frontmatter),d=k(()=>cn.resolvePageHeadTitle(c.value,a.value)),p=k(()=>cn.resolvePageHead(d.value,f.value,a.value)),h=k(()=>cn.resolvePageLang(c.value,a.value)),b=k(()=>cn.resolvePageLayout(c.value,s.value)),_={layouts:s,pageData:c,pageComponent:i,pageFrontmatter:f,pageHead:p,pageHeadTitle:d,pageLang:h,pageLayout:b,redirects:vs,routeLocale:l,routePath:r,routes:Dn,siteData:er,siteLocaleData:a};return e.provide(Ks,_),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>d.value},$lang:{get:()=>h.value},$page:{get:()=>c.value},$routeLocale:{get:()=>l.value},$site:{get:()=>er.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>Fe}}),_},R2=([e,t,n=""])=>{const r=Object.entries(t).map(([a,i])=>Pe(i)?`[${a}=${JSON.stringify(i)}]`:i?`[${a}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(a=>a.innerText===n)??null},M2=([e,t,n])=>{if(!Pe(e))return null;const r=document.createElement(e);return _o(t)&&Object.entries(t).forEach(([o,s])=>{Pe(s)?r.setAttribute(o,s):s&&r.setAttribute(o,"")}),Pe(n)&&r.appendChild(document.createTextNode(n)),r},I2=()=>{const e=zh(),t=Ac();let n=[];const r=()=>{e.value.forEach(l=>{const a=R2(l);a&&n.push(a)})},o=()=>{const l=[];return e.value.forEach(a=>{const i=M2(a);i&&l.push(i)}),l},s=()=>{document.documentElement.lang=t.value;const l=o();n.forEach((a,i)=>{const c=l.findIndex(f=>a.isEqualNode(f));c===-1?(a.remove(),delete n[i]):l.splice(c,1)}),l.forEach(a=>document.head.appendChild(a)),n=[...n.filter(a=>!!a),...l]};Nn(qh,s),Ce(()=>{r(),Ae(e,s,{immediate:!1})})},N2=Sp,D2=async()=>{var n;const e=N2({name:"Vuepress",setup(){var s;I2();for(const l of Ur)(s=l.setup)==null||s.call(l);const r=Ur.flatMap(({rootComponents:l=[]})=>l.map(a=>u(a))),o=Wh();return()=>[u(o.value),r]}}),t=$2();L2(e),O2(e,t,Ur);for(const r of Ur)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:er}));return e.use(t),{app:e,router:t}};D2().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{_o as A,Lg as B,Ag as C,pt as D,re as E,Ce as F,Eg as G,lt as H,Qs as I,Bt as J,Nv as K,Pe as L,yr as M,Jc as P,mt as R,pl as _,ne as a,nc as b,je as c,D2 as createVueApp,oo as d,Se as e,x0 as f,U as g,Pt as h,$t as i,Xt as j,oe as k,k as l,u as m,se as n,Le as o,Ae as p,Og as q,Ee as r,Qc as s,Er as t,Wn as u,Pg as v,Nf as w,$g as x,xo as y,H2 as z}; diff --git a/assets/democracy.app.html-BgTvwzvd.js b/assets/democracy.app.html-BgTvwzvd.js new file mode 100644 index 0000000..bf83bee --- /dev/null +++ b/assets/democracy.app.html-BgTvwzvd.js @@ -0,0 +1 @@ +import{_ as n,c as t,b as a,o as r}from"./app-DFzJ4zlk.js";const s={};function i(c,e){return r(),t("div",null,e[0]||(e[0]=[a('

DEMOCRACY App

Die DEMOCRACY App ist ein Open-Source-Projekt, das die Gesetze und Beschlüsse des Deutschen Bundestages mit all ihren Dokumenten sammelt. Dann gibt sie ihren Nutzern die Möglichkeit, für jede Entscheidung, die das Parlament zu treffen hat, abzustimmen (annehmen, ablehnen oder enthalten). Nach der Abstimmung können die Benutzer in Prozenten sehen, wie viele Personen zugestimmt, abgelehnt oder sich enthalten haben.

Techstack

Das Backend ist in TypeScript geschrieben.

',4)]))}const h=n(s,[["render",i]]),o=JSON.parse('{"path":"/projekte/democracy.app.html","title":"DEMOCRACY App","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.24,"words":73},"filePathRelative":"projekte/democracy.app.md","excerpt":"\\n

Die DEMOCRACY App ist ein Open-Source-Projekt, das die Gesetze und Beschlüsse des Deutschen Bundestages mit all ihren Dokumenten sammelt. Dann gibt sie ihren Nutzern die Möglichkeit, für jede Entscheidung, die das Parlament zu treffen hat, abzustimmen (annehmen, ablehnen oder enthalten). Nach der Abstimmung können die Benutzer in Prozenten sehen, wie viele Personen zugestimmt, abgelehnt oder sich enthalten haben.

"}');export{h as comp,o as data}; diff --git a/assets/gradido.html-CUHh820v.js b/assets/gradido.html-CUHh820v.js new file mode 100644 index 0000000..7e61948 --- /dev/null +++ b/assets/gradido.html-CUHh820v.js @@ -0,0 +1 @@ +import{_ as a,c as n,b as r,o as t}from"./app-DFzJ4zlk.js";const d={};function i(s,e){return t(),n("div",null,e[0]||(e[0]=[r('

Gradido

Gradido ist ein Projekt, das eine alternative Währung zum Fiatgeld schaffen will.

Dazu haben wir Bernd Hückstedt bei der Umsetzung seiner Idee geholfen. Alexander Friedland entdeckte das Projekt und arbeitete als Frontend-Entwickler. Ulf Gebhardt war der Project Owner und der Dev-Op. Moriz Wahl war verantwortlich für das Backend und die Unit-Tests. Hannes Heine arbeitete am Backend und war agiler Coach. Mathias Lenz erstellte die End-to-End-Testszenarien und den Dev-Op. Wolfgang Huß hat ebenfalls am Backend gearbeitet.

Techstack

Das Frontend ist in Vue2 geschrieben. Das Backend verwendet NodeJS, Apollo, GraphQL. Die Datenbank ist auf der SQL-Plattform MariaDB. Die End-to-End Tests sind mit Cypress geschrieben.

',5)]))}const l=a(d,[["render",i]]),c=JSON.parse('{"path":"/projekte/gradido.html","title":"Gradido","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.38,"words":115},"filePathRelative":"projekte/gradido.md","excerpt":"\\n

Gradido ist ein Projekt, das eine alternative Währung zum Fiatgeld schaffen will.

\\n

Dazu haben wir Bernd Hückstedt bei der Umsetzung seiner Idee geholfen.\\nAlexander Friedland entdeckte das Projekt und arbeitete als Frontend-Entwickler.\\nUlf Gebhardt war der Project Owner und der Dev-Op.\\nMoriz Wahl war verantwortlich für das Backend und die Unit-Tests.\\nHannes Heine arbeitete am Backend und war agiler Coach.\\nMathias Lenz erstellte die End-to-End-Testszenarien und den Dev-Op.\\nWolfgang Huß hat ebenfalls am Backend gearbeitet.

"}');export{l as comp,c as data}; diff --git a/assets/hannes-heine.html-DTUHv6XE.js b/assets/hannes-heine.html-DTUHv6XE.js new file mode 100644 index 0000000..5c14b38 --- /dev/null +++ b/assets/hannes-heine.html-DTUHv6XE.js @@ -0,0 +1 @@ +import{_ as r,c as n,b as a,o as i}from"./app-DFzJ4zlk.js";const t="/images/portrait/hannes-heine.jpg",l={};function o(h,e){return i(),n("div",null,e[0]||(e[0]=[a('

Hannes Heine

Präsentation

Hannes Heine

Ich bin in Deutschland geboren und in Frankreich aufgewachsen, daher spreche ich beide Sprachen fließend. In meiner Freizeit spiele ich gerne Videospiele, mache Reiki und alle Arten von Sport. Als Kind war ich, abgesehen von meinem Interesse für Sport, immer sehr gut in den Naturwissenschaften. In der 10. Klasse stieß ich auf das Programmieren, die Anfangszeit war so aufregend, dass ich den Eindruck hatte, ich könnte mit einem kleinen Gerät zaubern. Das hat mich so sehr begeistert, dass ich nach meinem Abitur 2008 3 Jahre in der schönen Stadt Toulouse studiert habe (Mathematik, Mechanik und Informatik). Danach zog ich zurück nach Deutschland in die Stadt, in der ich geboren wurde - Hamburg.

Arbeit

Arbeit in Festanstellung

Meine Rolle war die eines Software-Ingenieurs. Meine Aufgaben waren hauptsächlich die Arbeit am OkotoPOS-Projekt mit viel Datentransfer von einer Anwendung zur anderen und ein wenig Frontend (Java, JUnit, Jersey, hibernate, etc.).

Dort war meine Rolle die eines Software-Ingenieurs. Ich half bei der Planung und Entwicklung des Im- und Exports von Daten für verschiedene Clients im Censhare Backend (Java, JaxRS, XPATH, XSLT, XLIFF, JavaPOI, etc.).

Freiberufliche Projekte

Meine Aufgaben bestanden darin, bei der Entwicklung des Shopware-Shops (PHP, Laravel, etc.) und der firmeneigenen Anwendung (AngularJS) zu helfen. Diese wird von Herstellern verwendet, um das korrekte Gewicht des verkauften Produkts zurückzugeben.

  • Human Connection

Ich half bei der Übersetzung vom Deutschen ins Französische.

  • Gradido

Ich erledige Aufgaben vom Backend (GraphQL, TypeScript, TypeORM, etc.) bis zum Frontend (VueJS, Bootstrap, etc.).

  • Einrichtung von verschiedenen kleinen Shopware-Shops und CMS-Seiten

(Hosting, Konfiguration, etc.)

Ich bin hier auf Github zu finden.

Rolle

  • DevOps
  • Backend-Entwickler
  • Software & Datenbank Architekt
  • Scrum Master
  • Design-Eye

Gesprochene Sprachen

  • Französisch fließend
  • Deutsch fließend
  • Englisch in Wort und Schrift

Programmiersprachen und Frameworks

In meiner Zeit als Softwareentwickler habe ich viele verschiedene Sprachen gelernt. Die folgenden sind die, die ich am häufigsten verwendet habe.

Für Javascript

Für Java

Für PHP

Web basics

Webserver

Datenbank

Entwicklung

',40)]))}const p=r(l,[["render",o]]),c=JSON.parse('{"path":"/team/hannes-heine.html","title":"Hannes Heine","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":1.57,"words":472},"filePathRelative":"team/hannes-heine.md","excerpt":"\\n

Präsentation

\\n

\\"Hannes

\\n

Ich bin in Deutschland geboren und in Frankreich aufgewachsen, daher spreche ich beide Sprachen fließend. In meiner Freizeit spiele ich gerne Videospiele, mache Reiki und alle Arten von Sport.\\nAls Kind war ich, abgesehen von meinem Interesse für Sport, immer sehr gut in den Naturwissenschaften. In der 10. Klasse stieß ich auf das Programmieren, die Anfangszeit war so aufregend, dass ich den Eindruck hatte, ich könnte mit einem kleinen Gerät zaubern. Das hat mich so sehr begeistert, dass ich nach meinem Abitur 2008 3 Jahre in der schönen Stadt Toulouse studiert habe (Mathematik, Mechanik und Informatik).\\nDanach zog ich zurück nach Deutschland in die Stadt, in der ich geboren wurde - Hamburg.

"}');export{p as comp,c as data}; diff --git a/assets/historie.html-ooxMdhLn.js b/assets/historie.html-ooxMdhLn.js new file mode 100644 index 0000000..a9a0ffc --- /dev/null +++ b/assets/historie.html-ooxMdhLn.js @@ -0,0 +1 @@ +import{_ as a,c as o,a as n,b as s,d as t,e as l,w as i,r as d,o as u}from"./app-DFzJ4zlk.js";const m={};function f(g,e){const r=d("RouteLink");return u(),o("div",null,[e[52]||(e[52]=n("h1",{id:"historie",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#historie"},[n("span",null,"Historie")])],-1)),e[53]||(e[53]=n("p",null,"Dieser Abschnitt gibt einen Überblick darüber, wann welche Person ein Mitglied unseres Teams wurde und wie IT4C entstanden ist.",-1)),n("p",null,[e[3]||(e[3]=t("Alles begann ca. 2017, als ")),l(r,{to:"/team/alexander-friedland.html"},{default:i(()=>e[0]||(e[0]=[t("Alex")])),_:1}),e[4]||(e[4]=t(", der die ursprüngliche Website für das DEMOCRACY-Projekt erstellte, sich mit ")),l(r,{to:"/team/ulf-gebhardt.html"},{default:i(()=>e[1]||(e[1]=[t("Ulf")])),_:1}),e[5]||(e[5]=t(" in Karlsruhe traf, um den Stand der zu diesem Zeitpunkt an Universitäten verfügbaren Wahlmethoden zu evaluieren. Ulf begann mit DEMOCRACY zu arbeiten und als das Projekt seinen öffentlichen Auftritt hatte, nahm ")),l(r,{to:"/team/wolfgang-huss.html"},{default:i(()=>e[2]||(e[2]=[t("Wolle")])),_:1}),e[6]||(e[6]=t(" Kontakt auf, um als Influencer mit dem Projekt zu arbeiten."))]),e[54]||(e[54]=n("h2",{id:"human-connection",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#human-connection"},[n("span",null,"Human Connection")])],-1)),n("p",null,[e[12]||(e[12]=t("Die meisten von uns trafen sich 2019 wieder auf der Human Connection. Diesmal alle als Entwickler, um das angedachte soziale Netzwerk zu implementieren. ")),l(r,{to:"/team/wolfgang-huss.html"},{default:i(()=>e[7]||(e[7]=[t("Wolle")])),_:1}),e[13]||(e[13]=t(" war der erste, gefolgt von ")),l(r,{to:"/team/alexander-friedland.html"},{default:i(()=>e[8]||(e[8]=[t("Alex")])),_:1}),e[14]||(e[14]=t(" und ")),l(r,{to:"/team/ulf-gebhardt.html"},{default:i(()=>e[9]||(e[9]=[t("Ulf")])),_:1}),e[15]||(e[15]=t(". Während Ulf wieder zu DEMOCRACY ging, meldete sich ")),l(r,{to:"/team/hannes-heine.html"},{default:i(()=>e[10]||(e[10]=[t("Hannes")])),_:1}),e[16]||(e[16]=t(" freiwillig und ")),l(r,{to:"/team/moriz-wahl.html"},{default:i(()=>e[11]||(e[11]=[t("Moriz")])),_:1}),e[17]||(e[17]=t(" stieß zum Team. Das Projekt Human Connection endete 2020 und die entstandene Software wurde fortan unter dem Name ")),e[18]||(e[18]=n("em",null,"ocelot.social",-1)),e[19]||(e[19]=t(" weiter gepflegt."))]),e[55]||(e[55]=n("h2",{id:"ocelot-social-ende-von-human-connection",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#ocelot-social-ende-von-human-connection"},[n("span",null,"Ocelot.Social - Ende von Human Connection")])],-1)),n("p",null,[e[24]||(e[24]=t("Im letzten Quartal 2020 wurde Human Connection als Projekt beendet und der Quellcode unter dem Namen ")),e[25]||(e[25]=n("a",{href:"https://ocelot.social",target:"_blank",rel:"noopener noreferrer"},"ocelot.social",-1)),e[26]||(e[26]=t(" neu veröffentlicht. ")),l(r,{to:"/team/wolfgang-huss.html"},{default:i(()=>e[20]||(e[20]=[t("Wolle")])),_:1}),e[27]||(e[27]=t(", ")),l(r,{to:"/team/alexander-friedland.html"},{default:i(()=>e[21]||(e[21]=[t("Alex")])),_:1}),e[28]||(e[28]=t(", ")),l(r,{to:"/team/ulf-gebhardt.html"},{default:i(()=>e[22]||(e[22]=[t("Ulf")])),_:1}),e[29]||(e[29]=t(" und ")),l(r,{to:"/team/moriz-wahl.html"},{default:i(()=>e[23]||(e[23]=[t("Moriz")])),_:1}),e[30]||(e[30]=t(" führten das Projekt weiter und veröffentlichten ")),e[31]||(e[31]=n("a",{href:"https://wir.social",target:"_blank",rel:"noopener noreferrer"},"wir.social",-1)),e[32]||(e[32]=t(", um ")),e[33]||(e[33]=n("em",null,"ocelot.social",-1)),e[34]||(e[34]=t(" am Leben zu erhalten. Lasst uns das soziale Netzwerk live auf ")),e[35]||(e[35]=n("a",{href:"https://stage.ocelot.social",target:"_blank",rel:"noopener noreferrer"},"stage.ocelot.social",-1)),e[36]||(e[36]=t(" ausprobieren."))]),e[56]||(e[56]=n("h2",{id:"gradido",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#gradido"},[n("span",null,"Gradido")])],-1)),n("p",null,[e[43]||(e[43]=t("Im Jahr 2021 hat sich ein Großteil des Teams dem Projekt ")),e[44]||(e[44]=n("a",{href:"https://github.com/gradido/gradido",target:"_blank",rel:"noopener noreferrer"},"Gradido",-1)),e[45]||(e[45]=t(" angeschlossen. Wie immer war unser Scout ")),l(r,{to:"/team/alexander-friedland.html"},{default:i(()=>e[37]||(e[37]=[t("Alex")])),_:1}),e[46]||(e[46]=t(" der erste, gefolgt von ")),l(r,{to:"/team/ulf-gebhardt.html"},{default:i(()=>e[38]||(e[38]=[t("Ulf")])),_:1}),e[47]||(e[47]=t(", der zu dieser Zeit in Norwegen wohnte. Bald darauf stieß ")),l(r,{to:"/team/moriz-wahl.html"},{default:i(()=>e[39]||(e[39]=[t("Moriz")])),_:1}),e[48]||(e[48]=t(" dazu, und im Sommer 2021 kam ")),l(r,{to:"/team/hannes-heine.html"},{default:i(()=>e[40]||(e[40]=[t("Hannes")])),_:1}),e[49]||(e[49]=t(" an Bord. Als Ulf eine Reise nach Italien antrat, konnte ")),l(r,{to:"/team/wolfgang-huss.html"},{default:i(()=>e[41]||(e[41]=[t("Wolle")])),_:1}),e[50]||(e[50]=t(" schließlich überzeugt werden, sich anzuschließen, bald gefolgt von ")),l(r,{to:"/team/mathias-lenz.html"},{default:i(()=>e[42]||(e[42]=[t("Mathias")])),_:1}),e[51]||(e[51]=t("."))]),e[57]||(e[57]=s('

Yunite.me

Im Jahr 2022 trat das Yunite-Team an das Team heran, um ein neues soziales Netzwerk auf Basis von ocelot.social auf die Beine zu stellen. Das neue Netzwerk wurde am 01.11.2022 unter dem Namen yunite.me veröffentlicht.

IT4C

Mit Beginn des Jahres 2023 wurde IT4C as Name für das Entwicklerkollektiv gefunden und die [Website] (https://www.it4c.dev) eingerichtet, um es den Teammitgliedern zu ermöglichen, sich selbst und das Team als Ganzes zu präsentieren.

',4))])}const p=a(m,[["render",f]]),w=JSON.parse('{"path":"/historie.html","title":"Historie","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":1.36,"words":407},"filePathRelative":"historie.md","excerpt":"\\n

Dieser Abschnitt gibt einen Überblick darüber, wann welche Person ein Mitglied unseres Teams wurde und wie IT4C entstanden ist.

\\n

Alles begann ca. 2017, als Alex, der die ursprüngliche Website für das DEMOCRACY-Projekt erstellte, sich mit Ulf in Karlsruhe traf, um den Stand der zu diesem Zeitpunkt an Universitäten verfügbaren Wahlmethoden zu evaluieren. Ulf begann mit DEMOCRACY zu arbeiten und als das Projekt seinen öffentlichen Auftritt hatte, nahm Wolle Kontakt auf, um als Influencer mit dem Projekt zu arbeiten.

"}');export{p as comp,w as data}; diff --git a/assets/impressum.html-CgLCWLO4.js b/assets/impressum.html-CgLCWLO4.js new file mode 100644 index 0000000..931a37f --- /dev/null +++ b/assets/impressum.html-CgLCWLO4.js @@ -0,0 +1 @@ +import{_ as n,c as r,b as t,o as i}from"./app-DFzJ4zlk.js";const s={};function a(h,e){return i(),r("div",null,e[0]||(e[0]=[t('

Impressum

Angaben gemäß § 5 TMG

Ulf Gebhardt
Alsbacher Str. 22
64673 Zwingenberg
Deutschland
Telefon: +49 157 8484 1600
E-Mail: info@it4c.dev

Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV:

Ulf Gebhardt
Alsbacher Str. 22
64673 Zwingenberg
Deutschland

Haftungsausschluss:

Haftung für Inhalte

Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.

Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

Urheberrecht

Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Solltest du trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.

Datenschutz

Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne deine ausdrückliche Zustimmung nicht an Dritte weitergegeben. Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich. Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.

Rechtswirksamkeit dieses Haftungsausschlusses

Dieser Haftungsausschluss ist als Teil des Internetangebotes zu betrachten, von dem aus auf diese Seite verwiesen wurde. Sofern Teile oder einzelne Formulierungen dieses Textes der geltenden Rechtslage nicht, nicht mehr oder nicht vollständig entsprechen sollten, bleiben die übrigen Teile des Dokumentes in ihrem Inhalt und ihrer Gültigkeit davon unberührt.

',16)]))}const d=n(s,[["render",a]]),u=JSON.parse('{"path":"/impressum.html","title":"Impressum","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":1.79,"words":536},"filePathRelative":"impressum.md","excerpt":"\\n

Angaben gemäß § 5 TMG

\\n

Ulf Gebhardt
\\nAlsbacher Str. 22
\\n64673 Zwingenberg
\\nDeutschland
\\nTelefon: +49 157 8484 1600
\\nE-Mail: info@it4c.dev

"}');export{d as comp,u as data}; diff --git a/assets/index.html-BUHwOso0.js b/assets/index.html-BUHwOso0.js new file mode 100644 index 0000000..819963a --- /dev/null +++ b/assets/index.html-BUHwOso0.js @@ -0,0 +1 @@ +import{_ as t,c as a,e as o,r,o as n}from"./app-DFzJ4zlk.js";const s={};function c(l,i){const e=r("Catalog");return n(),a("div",null,[o(e)])}const p=t(s,[["render",c]]),_=JSON.parse('{"path":"/projekte/","title":"Projekte","lang":"de-DE","frontmatter":{"title":"Projekte","article":false,"feed":false,"sitemap":false},"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"excerpt":""}');export{p as comp,_ as data}; diff --git a/assets/index.html-BibaCLbd.js b/assets/index.html-BibaCLbd.js new file mode 100644 index 0000000..62a6bab --- /dev/null +++ b/assets/index.html-BibaCLbd.js @@ -0,0 +1 @@ +import{_ as t,c as a,e as o,r as n,o as r}from"./app-DFzJ4zlk.js";const s={};function c(l,i){const e=n("Catalog");return r(),a("div",null,[o(e)])}const _=t(s,[["render",c]]),f=JSON.parse('{"path":"/team/","title":"Team","lang":"de-DE","frontmatter":{"title":"Team","article":false,"feed":false,"sitemap":false},"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"excerpt":""}');export{_ as comp,f as data}; diff --git a/assets/index.html-CytUw73L.js b/assets/index.html-CytUw73L.js new file mode 100644 index 0000000..0bcab77 --- /dev/null +++ b/assets/index.html-CytUw73L.js @@ -0,0 +1 @@ +import{_ as g,c as h,a as t,e,w as s,r as a,o as u,d as c}from"./app-DFzJ4zlk.js";const p="/images/hero-bg-desktop.jpg",f="/images/hero-bg-mobile.jpg",b={},v={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 my-8"},x={class:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6 mt-10"},k={class:"grid md:grid-cols-2 gap-8"};function w(y,i){const r=a("ServiceCard"),o=a("ContentSection"),n=a("TeamMember"),d=a("ProjectCard"),l=a("ProcessStep"),m=a("ContactForm");return u(),h("div",null,[i[2]||(i[2]=t("section",{class:"full-width-section h-screen relative"},[t("img",{src:p,alt:"Technologie für den gesellschaftlichen Wandel",class:"w-full h-screen object-cover hidden md:block"}),t("div",{class:"absolute inset-0 bg-gradient-to-r from-[#22596c]/100 via-[#22596c]/80 to-transparent dark:from-[#22596c]/100 dark:via-[#22596c]/80 dark:to-transparent hidden md:block",style:{width:"65%"}}),t("div",{class:"w-full h-screen md:hidden relative overflow-hidden"},[t("img",{src:f,alt:"Technologie für den gesellschaftlichen Wandel",class:"absolute top-0 left-0 w-full h-auto object-cover max-h-none",style:{"min-width":"100%"}})]),t("div",{class:"absolute left-0 right-0 bottom-0 md:hidden bg-gradient-to-t from-[#22596c]/100 via-[#22596c]/100 via-[#22596c]/90 to-transparent dark:from-[#22596c]/100 dark:via-[#22596c]/100 dark:via-[#22596c]/90 dark:to-transparent",style:{height:"70vh"}}),t("div",{class:"absolute left-0 right-0 bottom-0 sm:hidden",style:{height:"80vh","background-image":"linear-gradient(to top, #22596c 70%, transparent 100%)"}}),t("div",{class:"absolute inset-0 flex flex-col md:justify-start md:pt-45 justify-end pb-8 md:pb-16"},[t("div",{class:"content-width mx-auto px-4 md:px-6"},[t("div",{class:"w-full md:w-3/5 lg:w-1/2 z-10 md:mt-0 relative"},[t("div",{role:"heading","aria-level":"1",class:"text-3xl md:text-4xl lg:text-5xl mb-6 text-white text-center sm:text-left font-montserrat leading-tight text-shadow"}," IT4C ‒ Technologie für den gesellschaftlichen Wandel "),t("p",{class:"text-xl md:text-2xl text-white text-center sm:text-left font-sourcesans mb-8 max-w-2xl text-shadow-sm"}," Wir sind Softwareentwickler, die deine alternative Vision verstehen und umsetzen. Mit technischer Expertise und persönlicher Betreuung unterstützen wir Projekte, die Positives bewirken. "),t("div",{class:"flex flex-col sm:flex-row gap-4"},[t("a",{href:"#kontakt",class:"hero-button hero-button-primary px-6 py-3 bg-[#ececec] !text-black rounded-full font-medium text-center shadow-md no-underline relative overflow-hidden"},[t("span",{class:"relative z-10"},"Projekt starten")]),t("a",{href:"#leistungen",class:"hero-button hero-button-secondary px-6 py-3 bg-black/20 !text-white rounded-full font-medium text-center border border-white shadow-md no-underline relative overflow-hidden"},[t("span",{class:"relative z-10"},"Unsere Leistungen")])])])])])],-1)),e(o,{id:"leistungen",title:"Leistungen"},{default:s(()=>[i[0]||(i[0]=t("p",null,[c(" In unserem "),t("b",null,"IT Team for Change"),c(" bündeln wir die Expertise engagierter Persönlichkeiten, die in den nachfolgenden Bereichen bewandert sind. ")],-1)),t("div",v,[e(r,{title:"Webentwicklung",items:["Frontend","Responsive Design","Barrierefreiheit","Backend"]}),e(r,{title:"Hosting",items:["Wordpress","Ocelot.social","Zugeschnittene Lösungen","Nachhaltige Serverinfrastrukturen"]}),e(r,{title:"Mobile Anwendungen",items:["Android","iOS","PWA"]}),e(r,{title:"Beratung & Betreuung",items:["Systemarchitektur","DevOps & Prozessbegleitung","Monitoring & Security","Technische Konzeption","Agiles Projektmanagement","Nachhaltigkeitsanalyse"]}),e(r,{title:"Software-Entwicklung",items:["API-Entwicklung","Datenbank-Design","Performance-Optimierung","Deployment-Automatisierung","Code-Qualität & Testing"]})])]),_:1}),e(o,{id:"team",title:"Team & Werte",backgroundColor:"bg-gray-50 dark:bg-gray-800"},{default:s(()=>[i[1]||(i[1]=t("p",null,"Wir glauben an die Kraft von Technologie für positiven Wandel. Unser Team verbindet technische Expertise mit nachhaltigem Denken und sozialer Verantwortung.",-1)),t("div",x,[e(n,{name:"Hannes",role:"Backend",profileUrl:"./team/hannes-heine.html",image:"./images/portrait/hannes-heine.jpg"}),e(n,{name:"Mathias",role:"Testing, Entwicklung",profileUrl:"./team/mathias-lenz.html",image:"./images/portrait/ml-portrait.jpg"}),e(n,{name:"Max",role:"Frontend",profileUrl:"/team/maximilian-harz.html",image:"./images/portrait/max.jpg"}),e(n,{name:"Moriz",role:"Backend",profileUrl:"/team/moriz-wahl.html",image:"./images/portrait/moriz-wahl.jpg"}),e(n,{name:"Sebastian",role:"Frontend, UX",profileUrl:"./team/sebastian-stein.html",image:"./images/portrait/sebastian-stein.jpg"}),e(n,{name:"Ulf",role:"Entwicklung, Hosting",profileUrl:"./team/ulf-gebhardt.html",image:"./images/portrait/ulf-gebhardt.jpg"}),e(n,{name:"Wolfgang",role:"Kommunikation, Entwicklung",profileUrl:"./team/wolfgang-huss.html",image:"./images/portrait/Wolfgang_Huss.jpeg"})])]),_:1}),e(o,{id:"projekte",title:"Projekte"},{default:s(()=>[t("div",k,[e(d,{title:"Ocelot.Social",description:"Ocelot.social ist eine Open-Source Alternative für soziale Netzwerke wie Facebook, Instagram oder TikTok",image:"./images/projects/ocelot.png",tags:["Social Media"],href:"/projekte/ocelot.social.html"}),e(d,{title:"Utopia Map",description:"Utopia Map ist eine interaktive Karte, die echte Verbindungen stärkt und Zusammenarbeit auf Augenhöhe ermöglicht",image:"./images/projects/utopia-map-cropped.png",tags:["Mapping","Gaming"],href:"/projekte/utopia.map.html"})])]),_:1}),e(o,{id:"prozess",title:"Unser Prozess",backgroundColor:"bg-gray-50 dark:bg-gray-800"},{default:s(()=>[e(l,{number:"1",title:"Kennenlernen & Vision",description:"Persönliches Gespräch und detaillierte Bedarfsanalyse"}),e(l,{number:"2",title:"Agile Entwicklung",description:"Technische Konzeption und iterative Umsetzung mit kontinuierlichem Feedback und automatisierten Tests"}),e(l,{number:"3",title:"Launch",description:"Deployment und Übergabe mit ausführlicher Dokumentation"}),e(l,{number:"4",title:"Support",description:"Langfristige Betreuung und Weiterentwicklung"})]),_:1}),e(o,{id:"kontakt",title:"Kontakt"},{default:s(()=>[e(m)]),_:1})])}const _=g(b,[["render",w]]),z=JSON.parse('{"path":"/","title":"","lang":"de-DE","frontmatter":{"layout":"BlankLayout"},"git":{},"readingTime":{"minutes":3.37,"words":1012},"filePathRelative":"index.md","excerpt":"
\\n \\n \\n \\n \\n
\\n \\n \\"Technologie\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n IT4C ‒ Technologie für den gesellschaftlichen Wandel\\n
\\n

\\n Wir sind Softwareentwickler, die deine alternative Vision verstehen und umsetzen. Mit technischer Expertise und persönlicher Betreuung unterstützen wir Projekte, die Positives bewirken.\\n

\\n \\n
\\n
\\n
\\n
"}');export{_ as comp,z as data}; diff --git a/assets/it4c.html-BVs7qriC.js b/assets/it4c.html-BVs7qriC.js new file mode 100644 index 0000000..d97b522 --- /dev/null +++ b/assets/it4c.html-BVs7qriC.js @@ -0,0 +1 @@ +import{_ as s,c as a,a as n,d as i,e as r,w as l,r as u,o as d}from"./app-DFzJ4zlk.js";const o={};function m(g,e){const t=u("RouteLink");return d(),a("div",null,[e[18]||(e[18]=n("h1",{id:"it4c",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#it4c"},[n("span",null,"IT4C")])],-1)),e[19]||(e[19]=n("p",null,[n("strong",null,"IT Team for Change"),i(" (IT4C) ist ein Team von Softwareentwicklern, das gemeinsam Software entwickelt. Unser Fokus liegt auf Out-of-the-Box-Projekten und disruptiver Ziviltechnik, um zum unvermeidlichen Wandel unserer Gesellschaft beizutragen.")],-1)),e[20]||(e[20]=n("p",null,"Wir glauben an einen Arbeitsprozess, der genau das richtige Maß an Autorität hat, um vernünftige Entscheidungen zu treffen, uns zu koordinieren und somit unsere Ziele zu erreichen. Die Leitung kann je nach Fachwissen und Verfügbarkeit zwischen den Teammitgliedern wechseln. Außerdem glauben wir, dass jeder, der seine Arbeit gerne macht, effektiver ist, als wenn er dazu gezwungen wird. Wir stellen sicher, dass jedes Mitglied die größtmögliche Freiheit hat, wie es arbeiten möchte.",-1)),n("p",null,[e[1]||(e[1]=i("Wir sind ein Team, das über ganz Europa verteilt ist und manchmal sogar darüber hinaus. Der Kern des Teams arbeitet seit 2019 zusammen - siehe ")),r(t,{to:"/historie.html"},{default:l(()=>e[0]||(e[0]=[i("Historie")])),_:1}),e[2]||(e[2]=i(". Unser gemeinsamer Nenner neben der Liebe zu sozialen Projekten und der Computertechnologie ist die deutsche Sprache, auch wenn die meiste professionelle Arbeit auf Englisch stattfindet."))]),e[21]||(e[21]=n("p",null,"Eines unserer Prinzipien, um Projekte nicht unwartbar zu machen, ist die Verbreitung von Wissen innerhalb des Teams und die Rekrutierung neuer Mitglieder, die lernen wollen, wie wir Softwareentwicklung betreiben. Wir leben den agilen Prozess mit kurzen Release-Zyklen und wöchentlichen Feedback-Schleifen, um sicherzustellen, dass unsere Software tatsächlich die Bedürfnisse unserer Auftraggeber und Nutzer erfüllt.",-1)),e[22]||(e[22]=n("h2",{id:"projekte",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#projekte"},[n("span",null,"Projekte")])],-1)),e[23]||(e[23]=n("p",null,"Einige Projekte, auf die wir stolz sind:",-1)),n("ul",null,[n("li",null,[r(t,{to:"/projekte/democracy.app.html"},{default:l(()=>e[3]||(e[3]=[i("DEMOCRACY App")])),_:1})]),n("li",null,[e[8]||(e[8]=i("Human-Connection ")),n("ul",null,[n("li",null,[r(t,{to:"/projekte/ocelot.social.html"},{default:l(()=>e[4]||(e[4]=[i("Ocelot.social")])),_:1})]),e[5]||(e[5]=n("li",null,"wir.social ",-1)),e[6]||(e[6]=n("li",null,"sender.fm ",-1)),e[7]||(e[7]=n("li",null,"Yunite.me ",-1))])]),n("li",null,[r(t,{to:"/projekte/gradido.html"},{default:l(()=>e[9]||(e[9]=[i("Gradido")])),_:1})])]),e[24]||(e[24]=n("h2",{id:"mitglieder-und-mitarbeiter",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#mitglieder-und-mitarbeiter"},[n("span",null,"Mitglieder und Mitarbeiter")])],-1)),n("ul",null,[n("li",null,[r(t,{to:"/team/alexander-friedland.html"},{default:l(()=>e[10]||(e[10]=[i("Alexander Friedland")])),_:1})]),n("li",null,[r(t,{to:"/team/hannes-heine.html"},{default:l(()=>e[11]||(e[11]=[i("Hannes Heine")])),_:1})]),n("li",null,[r(t,{to:"/team/mathias-lenz.html"},{default:l(()=>e[12]||(e[12]=[i("Mathias Lenz")])),_:1})]),n("li",null,[r(t,{to:"/team/maximilian-harz.html"},{default:l(()=>e[13]||(e[13]=[i("Maximilian Harz")])),_:1})]),n("li",null,[r(t,{to:"/team/moriz-wahl.html"},{default:l(()=>e[14]||(e[14]=[i("Moriz Wahl")])),_:1})]),n("li",null,[r(t,{to:"/team/sebastian-stein.html"},{default:l(()=>e[15]||(e[15]=[i("Sebastian Stein")])),_:1})]),n("li",null,[r(t,{to:"/team/ulf-gebhardt.html"},{default:l(()=>e[16]||(e[16]=[i("Ulf Gebhardt")])),_:1})]),n("li",null,[r(t,{to:"/team/wolfgang-huss.html"},{default:l(()=>e[17]||(e[17]=[i("Wolfgang Huß")])),_:1})])])])}const h=s(o,[["render",m]]),p=JSON.parse('{"path":"/it4c.html","title":"IT4C","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.97,"words":292},"filePathRelative":"it4c.md","excerpt":"\\n

IT Team for Change (IT4C) ist ein Team von Softwareentwicklern, das gemeinsam Software entwickelt. Unser Fokus liegt auf Out-of-the-Box-Projekten und disruptiver Ziviltechnik, um zum unvermeidlichen Wandel unserer Gesellschaft beizutragen.

\\n

Wir glauben an einen Arbeitsprozess, der genau das richtige Maß an Autorität hat, um vernünftige Entscheidungen zu treffen, uns zu koordinieren und somit unsere Ziele zu erreichen. Die Leitung kann je nach Fachwissen und Verfügbarkeit zwischen den Teammitgliedern wechseln. Außerdem glauben wir, dass jeder, der seine Arbeit gerne macht, effektiver ist, als wenn er dazu gezwungen wird. Wir stellen sicher, dass jedes Mitglied die größtmögliche Freiheit hat, wie es arbeiten möchte.

"}');export{h as comp,p as data}; diff --git a/assets/kontakt.html-ni-64aeI.js b/assets/kontakt.html-ni-64aeI.js new file mode 100644 index 0000000..da2bf4f --- /dev/null +++ b/assets/kontakt.html-ni-64aeI.js @@ -0,0 +1 @@ +import{_ as n,c as r,b as t,o as a}from"./app-DFzJ4zlk.js";const i={};function s(d,e){return a(),r("div",null,e[0]||(e[0]=[t('

Kontakt

Ob auf der Suche nach erfahrenen Entwicklern, um deine Geschäftsidee zu implementieren, ein bestehendes Team zu erweitern - oder bei Interesse an Zusammenarbeit: Nimm Kontakt mit uns auf!

Wir sind per E-Mail oder Mobiltelefon erreichbar (Deutsch oder Englisch).

Für Entwickler

Wenn du als Entwickler mit uns arbeiten möchtest, zeige uns gern dein Github Profil oder einen Lebenslauf.

Auch wenn du kein gutes Github-Profil hast oder gerade dein Studium abgeschlossen hast, kannst du uns gerne kontaktieren, wenn du daran interessiert bist, in einer professionellen Entwicklerumgebung zu arbeiten. Wir helfen dir dabei, dich in moderne Arbeitsabläufe, Technologien und das Innenleben eines Remote-Teams einzuarbeiten. Es wäre schön, wenn du IT aus Hingabe, nicht aus der Not heraus machst.

Auch über unseren Telegram Kanal kann man mit uns in Kontakt treten.

Für Kunden

Wenn du auf der Suche nach einem Entwicklerteam bist und unsere Expertise in Anspruch nehmen willst, schicke uns bitte eine detaillierte Projektbeschreibung, in der Ziele, Zeitrahmen, die sozialen Auswirkungen und die Frage, ob das Projekt Open- oder Closed-Source sein soll.

Wir werden mit dir zusammen arbeiten, um die Ziele auf nachhaltige Weise zu erreichen und sorgen dafür, das Wissen innerhalb des Teams zu verbreiten und bringen uns gern in deine bestehende IT-Abteilung ein, um die Skalierbarkeit zu gewährleisten.

',10)]))}const u=n(i,[["render",s]]),l=JSON.parse('{"path":"/kontakt.html","title":"Kontakt","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.76,"words":229},"filePathRelative":"kontakt.md","excerpt":"\\n

Ob auf der Suche nach erfahrenen Entwicklern, um deine Geschäftsidee zu implementieren, ein bestehendes Team zu erweitern - oder bei Interesse an Zusammenarbeit: Nimm Kontakt mit uns auf!

\\n

Wir sind per E-Mail oder Mobiltelefon erreichbar (Deutsch oder Englisch).

"}');export{u as comp,l as data}; diff --git a/assets/mathias-lenz.html-SbdLu3mv.js b/assets/mathias-lenz.html-SbdLu3mv.js new file mode 100644 index 0000000..d7af96c --- /dev/null +++ b/assets/mathias-lenz.html-SbdLu3mv.js @@ -0,0 +1 @@ +import{_ as i,c as l,b as n,a as r,d as t,e as s,w as o,r as h,o as u}from"./app-DFzJ4zlk.js";const p="/images/portrait/ml-portrait.jpg",g={};function d(c,e){const a=h("RouteLink");return u(),l("div",null,[e[4]||(e[4]=n('

Mathias

Mathias

Verwurzelt im DIY Werken und Interesse an Sprache, Mustern und menschlichen Verbindungen. Während der Schulzeit unternahm ich erste autodidaktische Schritte in Richtung Computersysteme und Programmierung. Während seines Studiums der Computerlinguistik verzweigte sich Mathias in verschiedene Bereiche der Computertechnologie.
Meine Motivation ist es, das Wissen und die praktischen Möglichkeiten zeitgemäßer Werkzeuge zu verbreiten, Skepsis gegenüber ihnen abzubauen und jeden Interessierten zu unterstützen, sie für sich zu nutzen. Und besonders die Facette der Qualitätssicherung in der Softwareentwicklung hat mich angesprochen.

Rolle

  • Testing (ISTQB zertifiziert)
    • Testkonzeption und -design
    • Testautomatisierung
    • Beratung zu Strategien und Werkzeugen
    • Manuelles Testen
    • Exploratives Testen
  • DevOps
  • Frontend-Entwicklung

Expertise & Projekte

',6)),r("ul",null,[r("li",null,[e[1]||(e[1]=t("Unterstützung des ")),s(a,{to:"/projekte/gradido.html"},{default:o(()=>e[0]||(e[0]=[t("Gradido Projekts")])),_:1}),e[2]||(e[2]=r("ul",null,[r("li",null,"Testkonzept"),r("li",null,"Testautomatisierung"),r("li",null,"Agile Testing"),r("li",null,"Frontend-Entwicklung"),r("li",null,"Übersetzung")],-1))]),e[3]||(e[3]=n("
  • Mitwirkung an eHealth-Projekten bei Web-Agenturen
    • Testkonzept und -planung
    • Konzeption
    • Testautomatisierung
    • Manuelles Testen
    • Exploratives Testen
  • Übersetzungen für OSS Projekte
  • Unterstützung einer quelloffenen 3D-Multiplayer Gaming Engine
    • Portierung: Java nach C++
    • Einrichtung und Pflege von Build-Systemen für Unix-Betriebssysteme
    • Patching
  • ",3))]),e[5]||(e[5]=n('

    Ansätze & Werkzeuge

    Testverfahren

    Testautomatisierung

    Testmanagement & -reporting

    Computersprachen

    Weitere Engagements und Interessen

    • Leckeres und gesundes Essen und Kochen
    • Musik - Rhythmen und Liedtexte
    • Menschliche Verbindungen
    • Literatur
    • Austausch von Zeit
    • Die Punkte miteinander verbinden

    Gesprochene Sprachen

    • Deutsch (Muttersprache)
    • Englisch (verhandlungssicher)

    Profil

    GitHub

    ',15))])}const f=i(g,[["render",d]]),k=JSON.parse('{"path":"/team/mathias-lenz.html","title":"Mathias","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":1.01,"words":302},"filePathRelative":"team/mathias-lenz.md","excerpt":"\\n

    \\"Mathias\\"

    \\n

    Verwurzelt im DIY Werken und Interesse an Sprache, Mustern und menschlichen Verbindungen.\\nWährend der Schulzeit unternahm ich erste autodidaktische Schritte in Richtung Computersysteme und Programmierung.\\nWährend seines Studiums der Computerlinguistik verzweigte sich Mathias in verschiedene Bereiche der Computertechnologie.
    \\nMeine Motivation ist es, das Wissen und die praktischen Möglichkeiten zeitgemäßer Werkzeuge zu verbreiten, Skepsis gegenüber ihnen abzubauen und jeden Interessierten zu unterstützen, sie für sich zu nutzen.\\nUnd besonders die Facette der Qualitätssicherung in der Softwareentwicklung hat mich angesprochen.

    "}');export{f as comp,k as data}; diff --git a/assets/maximilian-harz.html-Ct2dM9Rg.js b/assets/maximilian-harz.html-Ct2dM9Rg.js new file mode 100644 index 0000000..6af1eb3 --- /dev/null +++ b/assets/maximilian-harz.html-Ct2dM9Rg.js @@ -0,0 +1 @@ +import{_ as n,c as r,a as e,o as a}from"./app-DFzJ4zlk.js";const t="/images/portrait/max.jpg",l={};function m(o,i){return a(),r("div",null,i[0]||(i[0]=[e("h1",{id:"maximilian-harz",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#maximilian-harz"},[e("span",null,"Maximilian Harz")])],-1),e("p",null,[e("img",{src:t,alt:"Bild – Maximilian Harz"})],-1),e("p",null,"Seit meiner Jugend fasziniert mich die Möglichkeit, die eigene Gedankenwelt im Computer zum Leben zu erwecken. Meine ersten Hobbyprojekte waren private Webseiten und Browserspiele. Nach einem Informatikstudium an der Uni Saarbrücken war ich in verschiedenen Konstellationen als Softwareentwickler im Webbereich aktiv, z.B. als Frontend Engineer für die browser-native Blockchain Nimiq oder als technisch verantwortlicher Co-Founder einer leider nicht mehr existenten Second-Hand-Plattform.",-1),e("p",null,"In meiner Wahlheimat Gijón lernte ich Moriz kennen. Irgendwann sprachen wir über das Thema Beruf und im Frühjahr 2024 lud er mich zu einem IT4C Treffen ein. In dieser Runde fühlte ich mich sofort wohl. Seitdem verstärke ich das Team insbesondere als Frontend-Entwickler.",-1),e("p",null,"Nicht ganz nebenbei baue ich hier in Nordspanien ein kleines Permakultur-Projekt auf und renoviere ein altes Bauernhaus.",-1)]))}const c=n(l,[["render",m]]),d=JSON.parse('{"path":"/team/maximilian-harz.html","title":"Maximilian Harz","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.46,"words":137},"filePathRelative":"team/maximilian-harz.md","excerpt":"\\n

    Maximilian Harz

    \\n

    \\"Bild

    \\n

    Seit meiner Jugend fasziniert mich die Möglichkeit, die eigene Gedankenwelt im Computer zum Leben zu erwecken. Meine ersten Hobbyprojekte waren private Webseiten und Browserspiele. Nach einem Informatikstudium an der Uni Saarbrücken war ich in verschiedenen Konstellationen als Softwareentwickler im Webbereich aktiv, z.B. als Frontend Engineer für die browser-native Blockchain Nimiq oder als technisch verantwortlicher Co-Founder einer leider nicht mehr existenten Second-Hand-Plattform.

    "}');export{c as comp,d as data}; diff --git a/assets/moriz-wahl.html-BaoeU4ay.js b/assets/moriz-wahl.html-BaoeU4ay.js new file mode 100644 index 0000000..106cba0 --- /dev/null +++ b/assets/moriz-wahl.html-BaoeU4ay.js @@ -0,0 +1 @@ +import{_ as r,c as a,b as i,o as n}from"./app-DFzJ4zlk.js";const t="/images/portrait/moriz-wahl.jpg",l={};function o(h,e){return n(),a("div",null,e[0]||(e[0]=[i('

    Moriz Wahl

    Moriz Wahl

    Als ich 8 Jahre alt war, bekam ich einen ZX81. Seitdem hat meine Faszination für das Programmieren nie aufgehört.

    Rolle

    • Management
    • Unit Testing
    • Backend-Entwickler
    • Frontend-Entwickler
    • Typografie
    • Datenbank-Entwickler
    • Motivation

    Gesprochene Sprachen

    • Deutsch (Muttersprache)
    • Englisch (mündlich und schriftlich)
    • Spanisch (mündlich und schriftlich)

    Expertise & Projekte

    Nach meinem Studium arbeitete ich acht Jahre lang für le-tex, wo ich viel über Typografie, Datenkonvertierung, Prozessautomatisierung und Teammanagement.

    Ich habe für kleine Firmen gearbeitet, die Dienstleistungen für große Unternehmen anbieten. Dabei kam ich mit Logistik und Risikomanagement in Berührung.

    Im Jahr 2019 begann ich mit der Mitarbeit am Open-Source-Projekt Human Connection. ocelot.social und Gradido folgten.

    Computersprachen

    ',13)]))}const s=r(l,[["render",o]]),c=JSON.parse('{"path":"/team/moriz-wahl.html","title":"Moriz Wahl","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.55,"words":164},"filePathRelative":"team/moriz-wahl.md","excerpt":"\\n

    \\"Moriz

    \\n

    Als ich 8 Jahre alt war, bekam ich einen ZX81. Seitdem hat meine\\nFaszination für das Programmieren nie aufgehört.

    \\n

    Rolle

    \\n
      \\n
    • Management
    • \\n
    • Unit Testing
    • \\n
    • Backend-Entwickler
    • \\n
    • Frontend-Entwickler
    • \\n
    • Typografie
    • \\n
    • Datenbank-Entwickler
    • \\n
    • Motivation
    • \\n
    "}');export{s as comp,c as data}; diff --git a/assets/ocelot.social.html-DvHmLRyp.js b/assets/ocelot.social.html-DvHmLRyp.js new file mode 100644 index 0000000..b46cee9 --- /dev/null +++ b/assets/ocelot.social.html-DvHmLRyp.js @@ -0,0 +1 @@ +import{_ as o,c as r,a as n,e as i,b as a,d as l,r as s,o as c}from"./app-DFzJ4zlk.js";const d="/images/projects/ocelot.png",u={};function p(g,e){const t=s("CaptionedImage");return c(),r("div",null,[e[0]||(e[0]=n("h1",{id:"ocelot-social",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#ocelot-social"},[n("span",null,"Ocelot.Social")])],-1)),e[1]||(e[1]=n("p",null,[n("img",{src:d,alt:"Ocelot.Social"})],-1)),e[2]||(e[2]=n("p",null,"Dieses Projekt begann unter dem Namen Human Connection. Die Idee war, eine Alternative für soziale Netzwerke wie Facebook, Instagram oder TikTok zu schaffen, bei der die Nutzer nicht das Produkt sind. Nach der Schließung des Netzwerks von Human Connection wurde die Open-Source-Software weiterentwickelt.",-1)),e[3]||(e[3]=n("p",null,[n("em",null,"Ocelot.social"),l(" kann durch beliebige Betreiber auf eigenen Servern gehostet, mit eigenem Branding und zu eignen Nutzungsbedingungen angeboten werden. Es kann individuell konfiguriert werden und ist skalierbar sowie erweiterbar.")],-1)),e[4]||(e[4]=n("br",null,null,-1)),i(t,{src:"/images/projects/ocelot-newsfeed.png",caption:"Bild: Ein Newsfeed in Ocelot.social"}),e[5]||(e[5]=a('

    Teste die Demoversion.

    Mehr Infos auf ocelot.social und GitHub.

    Unser Angebot

    IT-Team-for-Change (IT4C) unterstützt Interessierte und Betreiber mit:

    • Beratung
    • Hosting
    • Software-Unterhalt
    • Weiterentwicklung der Software
    ',5))])}const f=o(u,[["render",p]]),k=JSON.parse('{"path":"/projekte/ocelot.social.html","title":"Ocelot.Social","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.43,"words":128},"filePathRelative":"projekte/ocelot.social.md","excerpt":"\\n

    \\"Ocelot.Social\\"

    \\n

    Dieses Projekt begann unter dem Namen Human Connection.\\nDie Idee war, eine Alternative für soziale Netzwerke wie Facebook, Instagram oder TikTok zu schaffen, bei der die Nutzer nicht das Produkt sind.\\nNach der Schließung des Netzwerks von Human Connection wurde die Open-Source-Software weiterentwickelt.

    "}');export{f as comp,k as data}; diff --git a/assets/photoswipe.esm-DXWKOczD.js b/assets/photoswipe.esm-DXWKOczD.js new file mode 100644 index 0000000..2eea077 --- /dev/null +++ b/assets/photoswipe.esm-DXWKOczD.js @@ -0,0 +1,4 @@ +/*! + * PhotoSwipe 5.4.4 - https://photoswipe.com + * (c) 2024 Dmytro Semenov + */function f(r,t,i){const e=document.createElement(t);return r&&(e.className=r),i&&i.appendChild(e),e}function p(r,t){return r.x=t.x,r.y=t.y,t.id!==void 0&&(r.id=t.id),r}function Z(r){r.x=Math.round(r.x),r.y=Math.round(r.y)}function A(r,t){const i=Math.abs(r.x-t.x),e=Math.abs(r.y-t.y);return Math.sqrt(i*i+e*e)}function x(r,t){return r.x===t.x&&r.y===t.y}function b(r,t,i){return Math.min(Math.max(r,t),i)}function I(r,t,i){let e=`translate3d(${r}px,${t||0}px,0)`;return i!==void 0&&(e+=` scale3d(${i},${i},1)`),e}function y(r,t,i,e){r.style.transform=I(t,i,e)}const W="cubic-bezier(.4,0,.22,1)";function D(r,t,i,e){r.style.transition=t?`${t} ${i}ms ${e||W}`:"none"}function L(r,t,i){r.style.width=typeof t=="number"?`${t}px`:t,r.style.height=typeof i=="number"?`${i}px`:i}function V(r){D(r)}function $(r){return"decode"in r?r.decode().catch(()=>{}):r.complete?Promise.resolve(r):new Promise((t,i)=>{r.onload=()=>t(r),r.onerror=i})}const _={IDLE:"idle",LOADING:"loading",LOADED:"loaded",ERROR:"error"};function U(r){return"button"in r&&r.button===1||r.ctrlKey||r.metaKey||r.altKey||r.shiftKey}function q(r,t,i=document){let e=[];if(r instanceof Element)e=[r];else if(r instanceof NodeList||Array.isArray(r))e=Array.from(r);else{const s=typeof r=="string"?r:t;s&&(e=Array.from(i.querySelectorAll(s)))}return e}function C(){return!!(navigator.vendor&&navigator.vendor.match(/apple/i))}let M=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{M=!0}}))}catch{}class G{constructor(){this._pool=[]}add(t,i,e,s){this._toggleListener(t,i,e,s)}remove(t,i,e,s){this._toggleListener(t,i,e,s,!0)}removeAll(){this._pool.forEach(t=>{this._toggleListener(t.target,t.type,t.listener,t.passive,!0,!0)}),this._pool=[]}_toggleListener(t,i,e,s,n,o){if(!t)return;const a=n?"removeEventListener":"addEventListener";i.split(" ").forEach(l=>{if(l){o||(n?this._pool=this._pool.filter(d=>d.type!==l||d.listener!==e||d.target!==t):this._pool.push({target:t,type:l,listener:e,passive:s}));const c=M?{passive:s||!1}:!1;t[a](l,e,c)}})}}function R(r,t){if(r.getViewportSizeFn){const i=r.getViewportSizeFn(r,t);if(i)return i}return{x:document.documentElement.clientWidth,y:window.innerHeight}}function S(r,t,i,e,s){let n=0;if(t.paddingFn)n=t.paddingFn(i,e,s)[r];else if(t.padding)n=t.padding[r];else{const o="padding"+r[0].toUpperCase()+r.slice(1);t[o]&&(n=t[o])}return Number(n)||0}function F(r,t,i,e){return{x:t.x-S("left",r,t,i,e)-S("right",r,t,i,e),y:t.y-S("top",r,t,i,e)-S("bottom",r,t,i,e)}}class K{constructor(t){this.slide=t,this.currZoomLevel=1,this.center={x:0,y:0},this.max={x:0,y:0},this.min={x:0,y:0}}update(t){this.currZoomLevel=t,this.slide.width?(this._updateAxis("x"),this._updateAxis("y"),this.slide.pswp.dispatch("calcBounds",{slide:this.slide})):this.reset()}_updateAxis(t){const{pswp:i}=this.slide,e=this.slide[t==="x"?"width":"height"]*this.currZoomLevel,n=S(t==="x"?"left":"top",i.options,i.viewportSize,this.slide.data,this.slide.index),o=this.slide.panAreaSize[t];this.center[t]=Math.round((o-e)/2)+n,this.max[t]=e>o?Math.round(o-e)+n:this.center[t],this.min[t]=e>o?n:this.center[t]}reset(){this.center.x=0,this.center.y=0,this.max.x=0,this.max.y=0,this.min.x=0,this.min.y=0}correctPan(t,i){return b(i,this.max[t],this.min[t])}}const T=4e3;class B{constructor(t,i,e,s){this.pswp=s,this.options=t,this.itemData=i,this.index=e,this.panAreaSize=null,this.elementSize=null,this.fit=1,this.fill=1,this.vFill=1,this.initial=1,this.secondary=1,this.max=1,this.min=1}update(t,i,e){const s={x:t,y:i};this.elementSize=s,this.panAreaSize=e;const n=e.x/s.x,o=e.y/s.y;this.fit=Math.min(1,no?n:o),this.vFill=Math.min(1,o),this.initial=this._getInitial(),this.secondary=this._getSecondary(),this.max=Math.max(this.initial,this.secondary,this._getMax()),this.min=Math.min(this.fit,this.initial,this.secondary),this.pswp&&this.pswp.dispatch("zoomLevelsUpdate",{zoomLevels:this,slideData:this.itemData})}_parseZoomLevelOption(t){const i=t+"ZoomLevel",e=this.options[i];if(e)return typeof e=="function"?e(this):e==="fill"?this.fill:e==="fit"?this.fit:Number(e)}_getSecondary(){let t=this._parseZoomLevelOption("secondary");return t||(t=Math.min(1,this.fit*3),this.elementSize&&t*this.elementSize.x>T&&(t=T/this.elementSize.x),t)}_getInitial(){return this._parseZoomLevelOption("initial")||this.fit}_getMax(){return this._parseZoomLevelOption("max")||Math.max(1,this.fit*4)}}class X{constructor(t,i,e){this.data=t,this.index=i,this.pswp=e,this.isActive=i===e.currIndex,this.currentResolution=0,this.panAreaSize={x:0,y:0},this.pan={x:0,y:0},this.isFirstSlide=this.isActive&&!e.opener.isOpen,this.zoomLevels=new B(e.options,t,i,e),this.pswp.dispatch("gettingData",{slide:this,data:this.data,index:i}),this.content=this.pswp.contentLoader.getContentBySlide(this),this.container=f("pswp__zoom-wrap","div"),this.holderElement=null,this.currZoomLevel=1,this.width=this.content.width,this.height=this.content.height,this.heavyAppended=!1,this.bounds=new K(this),this.prevDisplayedWidth=-1,this.prevDisplayedHeight=-1,this.pswp.dispatch("slideInit",{slide:this})}setIsActive(t){t&&!this.isActive?this.activate():!t&&this.isActive&&this.deactivate()}append(t){this.holderElement=t,this.container.style.transformOrigin="0 0",this.data&&(this.calculateSize(),this.load(),this.updateContentSize(),this.appendHeavy(),this.holderElement.appendChild(this.container),this.zoomAndPanToInitial(),this.pswp.dispatch("firstZoomPan",{slide:this}),this.applyCurrentZoomPan(),this.pswp.dispatch("afterSetContent",{slide:this}),this.isActive&&this.activate())}load(){this.content.load(!1),this.pswp.dispatch("slideLoad",{slide:this})}appendHeavy(){const{pswp:t}=this;this.heavyAppended||!t.opener.isOpen||t.mainScroll.isShifted()||!this.isActive&&!1||this.pswp.dispatch("appendHeavy",{slide:this}).defaultPrevented||(this.heavyAppended=!0,this.content.append(),this.pswp.dispatch("appendHeavyContent",{slide:this}))}activate(){this.isActive=!0,this.appendHeavy(),this.content.activate(),this.pswp.dispatch("slideActivate",{slide:this})}deactivate(){this.isActive=!1,this.content.deactivate(),this.currZoomLevel!==this.zoomLevels.initial&&this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize(),this.pswp.dispatch("slideDeactivate",{slide:this})}destroy(){this.content.hasSlide=!1,this.content.remove(),this.container.remove(),this.pswp.dispatch("slideDestroy",{slide:this})}resize(){this.currZoomLevel===this.zoomLevels.initial||!this.isActive?(this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize()):(this.calculateSize(),this.bounds.update(this.currZoomLevel),this.panTo(this.pan.x,this.pan.y))}updateContentSize(t){const i=this.currentResolution||this.zoomLevels.initial;if(!i)return;const e=Math.round(this.width*i)||this.pswp.viewportSize.x,s=Math.round(this.height*i)||this.pswp.viewportSize.y;!this.sizeChanged(e,s)&&!t||this.content.setDisplayedSize(e,s)}sizeChanged(t,i){return t!==this.prevDisplayedWidth||i!==this.prevDisplayedHeight?(this.prevDisplayedWidth=t,this.prevDisplayedHeight=i,!0):!1}getPlaceholderElement(){var t;return(t=this.content.placeholder)===null||t===void 0?void 0:t.element}zoomTo(t,i,e,s){const{pswp:n}=this;if(!this.isZoomable()||n.mainScroll.isShifted())return;n.dispatch("beforeZoomTo",{destZoomLevel:t,centerPoint:i,transitionDuration:e}),n.animations.stopAllPan();const o=this.currZoomLevel;s||(t=b(t,this.zoomLevels.min,this.zoomLevels.max)),this.setZoomLevel(t),this.pan.x=this.calculateZoomToPanOffset("x",i,o),this.pan.y=this.calculateZoomToPanOffset("y",i,o),Z(this.pan);const a=()=>{this._setResolution(t),this.applyCurrentZoomPan()};e?n.animations.startTransition({isPan:!0,name:"zoomTo",target:this.container,transform:this.getCurrentTransform(),onComplete:a,duration:e,easing:n.options.easing}):a()}toggleZoom(t){this.zoomTo(this.currZoomLevel===this.zoomLevels.initial?this.zoomLevels.secondary:this.zoomLevels.initial,t,this.pswp.options.zoomAnimationDuration)}setZoomLevel(t){this.currZoomLevel=t,this.bounds.update(this.currZoomLevel)}calculateZoomToPanOffset(t,i,e){if(this.bounds.max[t]-this.bounds.min[t]===0)return this.bounds.center[t];i||(i=this.pswp.getViewportCenterPoint()),e||(e=this.zoomLevels.initial);const n=this.currZoomLevel/e;return this.bounds.correctPan(t,(this.pan[t]-i[t])*n+i[t])}panTo(t,i){this.pan.x=this.bounds.correctPan("x",t),this.pan.y=this.bounds.correctPan("y",i),this.applyCurrentZoomPan()}isPannable(){return!!this.width&&this.currZoomLevel>this.zoomLevels.fit}isZoomable(){return!!this.width&&this.content.isZoomable()}applyCurrentZoomPan(){this._applyZoomTransform(this.pan.x,this.pan.y,this.currZoomLevel),this===this.pswp.currSlide&&this.pswp.dispatch("zoomPanUpdate",{slide:this})}zoomAndPanToInitial(){this.currZoomLevel=this.zoomLevels.initial,this.bounds.update(this.currZoomLevel),p(this.pan,this.bounds.center),this.pswp.dispatch("initialZoomPan",{slide:this})}_applyZoomTransform(t,i,e){e/=this.currentResolution||this.zoomLevels.initial,y(this.container,t,i,e)}calculateSize(){const{pswp:t}=this;p(this.panAreaSize,F(t.options,t.viewportSize,this.data,this.index)),this.zoomLevels.update(this.width,this.height,this.panAreaSize),t.dispatch("calcSlideSize",{slide:this})}getCurrentTransform(){const t=this.currZoomLevel/(this.currentResolution||this.zoomLevels.initial);return I(this.pan.x,this.pan.y,t)}_setResolution(t){t!==this.currentResolution&&(this.currentResolution=t,this.updateContentSize(),this.pswp.dispatch("resolutionChanged"))}}const Y=.35,j=.6,Q=.4,J=.5;function tt(r,t){return r*t/(1-t)}class it{constructor(t){this.gestures=t,this.pswp=t.pswp,this.startPan={x:0,y:0}}start(){this.pswp.currSlide&&p(this.startPan,this.pswp.currSlide.pan),this.pswp.animations.stopAll()}change(){const{p1:t,prevP1:i,dragAxis:e}=this.gestures,{currSlide:s}=this.pswp;if(e==="y"&&this.pswp.options.closeOnVerticalDrag&&s&&s.currZoomLevel<=s.zoomLevels.fit&&!this.gestures.isMultitouch){const n=s.pan.y+(t.y-i.y);if(!this.pswp.dispatch("verticalDrag",{panY:n}).defaultPrevented){this._setPanWithFriction("y",n,j);const o=1-Math.abs(this._getVerticalDragRatio(s.pan.y));this.pswp.applyBgOpacity(o),s.applyCurrentZoomPan()}}else this._panOrMoveMainScroll("x")||(this._panOrMoveMainScroll("y"),s&&(Z(s.pan),s.applyCurrentZoomPan()))}end(){const{velocity:t}=this.gestures,{mainScroll:i,currSlide:e}=this.pswp;let s=0;if(this.pswp.animations.stopAll(),i.isShifted()){const o=(i.x-i.getCurrSlideX())/this.pswp.viewportSize.x;t.x<-.5&&o<0||t.x<.1&&o<-.5?(s=1,t.x=Math.min(t.x,0)):(t.x>J&&o>0||t.x>-.1&&o>.5)&&(s=-1,t.x=Math.max(t.x,0)),i.moveIndexBy(s,!0,t.x)}e&&e.currZoomLevel>e.zoomLevels.max||this.gestures.isMultitouch?this.gestures.zoomLevels.correctZoomPan(!0):(this._finishPanGestureForAxis("x"),this._finishPanGestureForAxis("y"))}_finishPanGestureForAxis(t){const{velocity:i}=this.gestures,{currSlide:e}=this.pswp;if(!e)return;const{pan:s,bounds:n}=e,o=s[t],a=this.pswp.bgOpacity<1&&t==="y",l=o+tt(i[t],.995);if(a){const v=this._getVerticalDragRatio(o),w=this._getVerticalDragRatio(l);if(v<0&&w<-.4||v>0&&w>Q){this.pswp.close();return}}const c=n.correctPan(t,l);if(o===c)return;const d=c===l?1:.82,u=this.pswp.bgOpacity,m=c-o;this.pswp.animations.startSpring({name:"panGesture"+t,isPan:!0,start:o,end:c,velocity:i[t],dampingRatio:d,onUpdate:v=>{if(a&&this.pswp.bgOpacity<1){const w=1-(c-v)/m;this.pswp.applyBgOpacity(b(u+(1-u)*w,0,1))}s[t]=Math.floor(v),e.applyCurrentZoomPan()}})}_panOrMoveMainScroll(t){const{p1:i,dragAxis:e,prevP1:s,isMultitouch:n}=this.gestures,{currSlide:o,mainScroll:a}=this.pswp,h=i[t]-s[t],l=a.x+h;if(!h||!o)return!1;if(t==="x"&&!o.isPannable()&&!n)return a.moveTo(l,!0),!0;const{bounds:c}=o,d=o.pan[t]+h;if(this.pswp.options.allowPanToNext&&e==="x"&&t==="x"&&!n){const u=a.getCurrSlideX(),m=a.x-u,v=h>0,w=!v;if(d>c.min[t]&&v){if(c.min[t]<=this.startPan[t])return a.moveTo(l,!0),!0;this._setPanWithFriction(t,d)}else if(d0)return a.moveTo(Math.max(l,u),!0),!0;if(m<0)return a.moveTo(Math.min(l,u),!0),!0}else this._setPanWithFriction(t,d)}else t==="y"?!a.isShifted()&&c.min.y!==c.max.y&&this._setPanWithFriction(t,d):this._setPanWithFriction(t,d);return!1}_getVerticalDragRatio(t){var i,e;return(t-((i=(e=this.pswp.currSlide)===null||e===void 0?void 0:e.bounds.center.y)!==null&&i!==void 0?i:0))/(this.pswp.viewportSize.y/3)}_setPanWithFriction(t,i,e){const{currSlide:s}=this.pswp;if(!s)return;const{pan:n,bounds:o}=s;if(o.correctPan(t,i)!==i||e){const h=Math.round(i-n[t]);n[t]+=h*(e||Y)}else n[t]=i}}const et=.05,st=.15;function z(r,t,i){return r.x=(t.x+i.x)/2,r.y=(t.y+i.y)/2,r}class nt{constructor(t){this.gestures=t,this._startPan={x:0,y:0},this._startZoomPoint={x:0,y:0},this._zoomPoint={x:0,y:0},this._wasOverFitZoomLevel=!1,this._startZoomLevel=1}start(){const{currSlide:t}=this.gestures.pswp;t&&(this._startZoomLevel=t.currZoomLevel,p(this._startPan,t.pan)),this.gestures.pswp.animations.stopAllPan(),this._wasOverFitZoomLevel=!1}change(){const{p1:t,startP1:i,p2:e,startP2:s,pswp:n}=this.gestures,{currSlide:o}=n;if(!o)return;const a=o.zoomLevels.min,h=o.zoomLevels.max;if(!o.isZoomable()||n.mainScroll.isShifted())return;z(this._startZoomPoint,i,s),z(this._zoomPoint,t,e);let l=1/A(i,s)*A(t,e)*this._startZoomLevel;if(l>o.zoomLevels.initial+o.zoomLevels.initial/15&&(this._wasOverFitZoomLevel=!0),lh&&(l=h+(l-h)*et);o.pan.x=this._calculatePanForZoomLevel("x",l),o.pan.y=this._calculatePanForZoomLevel("y",l),o.setZoomLevel(l),o.applyCurrentZoomPan()}end(){const{pswp:t}=this.gestures,{currSlide:i}=t;(!i||i.currZoomLevele.zoomLevels.max?n=e.zoomLevels.max:(o=!1,n=s);const a=i.bgOpacity,h=i.bgOpacity<1,l=p({x:0,y:0},e.pan);let c=p({x:0,y:0},l);t&&(this._zoomPoint.x=0,this._zoomPoint.y=0,this._startZoomPoint.x=0,this._startZoomPoint.y=0,this._startZoomLevel=s,p(this._startPan,l)),o&&(c={x:this._calculatePanForZoomLevel("x",n),y:this._calculatePanForZoomLevel("y",n)}),e.setZoomLevel(n),c={x:e.bounds.correctPan("x",c.x),y:e.bounds.correctPan("y",c.y)},e.setZoomLevel(s);const d=!x(c,l);if(!d&&!o&&!h){e._setResolution(n),e.applyCurrentZoomPan();return}i.animations.stopAllPan(),i.animations.startSpring({isPan:!0,start:0,end:1e3,velocity:0,dampingRatio:1,naturalFrequency:40,onUpdate:u=>{if(u/=1e3,d||o){if(d&&(e.pan.x=l.x+(c.x-l.x)*u,e.pan.y=l.y+(c.y-l.y)*u),o){const m=s+(n-s)*u;e.setZoomLevel(m)}e.applyCurrentZoomPan()}h&&i.bgOpacity<1&&i.applyBgOpacity(b(a+(1-a)*u,0,1))},onComplete:()=>{e._setResolution(n),e.applyCurrentZoomPan()}})}}function E(r){return!!r.target.closest(".pswp__container")}class ot{constructor(t){this.gestures=t}click(t,i){const e=i.target.classList,s=e.contains("pswp__img"),n=e.contains("pswp__item")||e.contains("pswp__zoom-wrap");s?this._doClickOrTapAction("imageClick",t,i):n&&this._doClickOrTapAction("bgClick",t,i)}tap(t,i){E(i)&&this._doClickOrTapAction("tap",t,i)}doubleTap(t,i){E(i)&&this._doClickOrTapAction("doubleTap",t,i)}_doClickOrTapAction(t,i,e){var s;const{pswp:n}=this.gestures,{currSlide:o}=n,a=t+"Action",h=n.options[a];if(!n.dispatch(a,{point:i,originalEvent:e}).defaultPrevented){if(typeof h=="function"){h.call(n,i,e);return}switch(h){case"close":case"next":n[h]();break;case"zoom":o==null||o.toggleZoom(i);break;case"zoom-or-close":o!=null&&o.isZoomable()&&o.zoomLevels.secondary!==o.zoomLevels.initial?o.toggleZoom(i):n.options.clickToCloseNonZoomable&&n.close();break;case"toggle-controls":(s=this.gestures.pswp.element)===null||s===void 0||s.classList.toggle("pswp--ui-visible");break}}}}const rt=10,at=300,ht=25;class lt{constructor(t){this.pswp=t,this.dragAxis=null,this.p1={x:0,y:0},this.p2={x:0,y:0},this.prevP1={x:0,y:0},this.prevP2={x:0,y:0},this.startP1={x:0,y:0},this.startP2={x:0,y:0},this.velocity={x:0,y:0},this._lastStartP1={x:0,y:0},this._intervalP1={x:0,y:0},this._numActivePoints=0,this._ongoingPointers=[],this._touchEventEnabled="ontouchstart"in window,this._pointerEventEnabled=!!window.PointerEvent,this.supportsTouch=this._touchEventEnabled||this._pointerEventEnabled&&navigator.maxTouchPoints>1,this._numActivePoints=0,this._intervalTime=0,this._velocityCalculated=!1,this.isMultitouch=!1,this.isDragging=!1,this.isZooming=!1,this.raf=null,this._tapTimer=null,this.supportsTouch||(t.options.allowPanToNext=!1),this.drag=new it(this),this.zoomLevels=new nt(this),this.tapHandler=new ot(this),t.on("bindEvents",()=>{t.events.add(t.scrollWrap,"click",this._onClick.bind(this)),this._pointerEventEnabled?this._bindEvents("pointer","down","up","cancel"):this._touchEventEnabled?(this._bindEvents("touch","start","end","cancel"),t.scrollWrap&&(t.scrollWrap.ontouchmove=()=>{},t.scrollWrap.ontouchend=()=>{})):this._bindEvents("mouse","down","up")})}_bindEvents(t,i,e,s){const{pswp:n}=this,{events:o}=n,a=s?t+s:"";o.add(n.scrollWrap,t+i,this.onPointerDown.bind(this)),o.add(window,t+"move",this.onPointerMove.bind(this)),o.add(window,t+e,this.onPointerUp.bind(this)),a&&o.add(n.scrollWrap,a,this.onPointerUp.bind(this))}onPointerDown(t){const i=t.type==="mousedown"||t.pointerType==="mouse";if(i&&t.button>0)return;const{pswp:e}=this;if(!e.opener.isOpen){t.preventDefault();return}e.dispatch("pointerDown",{originalEvent:t}).defaultPrevented||(i&&(e.mouseDetected(),this._preventPointerEventBehaviour(t,"down")),e.animations.stopAll(),this._updatePoints(t,"down"),this._numActivePoints===1&&(this.dragAxis=null,p(this.startP1,this.p1)),this._numActivePoints>1?(this._clearTapTimer(),this.isMultitouch=!0):this.isMultitouch=!1)}onPointerMove(t){this._preventPointerEventBehaviour(t,"move"),this._numActivePoints&&(this._updatePoints(t,"move"),!this.pswp.dispatch("pointerMove",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===1&&!this.isDragging?(this.dragAxis||this._calculateDragDirection(),this.dragAxis&&!this.isDragging&&(this.isZooming&&(this.isZooming=!1,this.zoomLevels.end()),this.isDragging=!0,this._clearTapTimer(),this._updateStartPoints(),this._intervalTime=Date.now(),this._velocityCalculated=!1,p(this._intervalP1,this.p1),this.velocity.x=0,this.velocity.y=0,this.drag.start(),this._rafStopLoop(),this._rafRenderLoop())):this._numActivePoints>1&&!this.isZooming&&(this._finishDrag(),this.isZooming=!0,this._updateStartPoints(),this.zoomLevels.start(),this._rafStopLoop(),this._rafRenderLoop())))}_finishDrag(){this.isDragging&&(this.isDragging=!1,this._velocityCalculated||this._updateVelocity(!0),this.drag.end(),this.dragAxis=null)}onPointerUp(t){this._numActivePoints&&(this._updatePoints(t,"up"),!this.pswp.dispatch("pointerUp",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===0&&(this._rafStopLoop(),this.isDragging?this._finishDrag():!this.isZooming&&!this.isMultitouch&&this._finishTap(t)),this._numActivePoints<2&&this.isZooming&&(this.isZooming=!1,this.zoomLevels.end(),this._numActivePoints===1&&(this.dragAxis=null,this._updateStartPoints()))))}_rafRenderLoop(){(this.isDragging||this.isZooming)&&(this._updateVelocity(),this.isDragging?x(this.p1,this.prevP1)||this.drag.change():(!x(this.p1,this.prevP1)||!x(this.p2,this.prevP2))&&this.zoomLevels.change(),this._updatePrevPoints(),this.raf=requestAnimationFrame(this._rafRenderLoop.bind(this)))}_updateVelocity(t){const i=Date.now(),e=i-this._intervalTime;e<50&&!t||(this.velocity.x=this._getVelocity("x",e),this.velocity.y=this._getVelocity("y",e),this._intervalTime=i,p(this._intervalP1,this.p1),this._velocityCalculated=!0)}_finishTap(t){const{mainScroll:i}=this.pswp;if(i.isShifted()){i.moveIndexBy(0,!0);return}if(t.type.indexOf("cancel")>0)return;if(t.type==="mouseup"||t.pointerType==="mouse"){this.tapHandler.click(this.startP1,t);return}const e=this.pswp.options.doubleTapAction?at:0;this._tapTimer?(this._clearTapTimer(),A(this._lastStartP1,this.startP1){this.tapHandler.tap(this.startP1,t),this._clearTapTimer()},e))}_clearTapTimer(){this._tapTimer&&(clearTimeout(this._tapTimer),this._tapTimer=null)}_getVelocity(t,i){const e=this.p1[t]-this._intervalP1[t];return Math.abs(e)>1&&i>5?e/i:0}_rafStopLoop(){this.raf&&(cancelAnimationFrame(this.raf),this.raf=null)}_preventPointerEventBehaviour(t,i){this.pswp.applyFilters("preventPointerEvent",!0,t,i)&&t.preventDefault()}_updatePoints(t,i){if(this._pointerEventEnabled){const e=t,s=this._ongoingPointers.findIndex(n=>n.id===e.pointerId);i==="up"&&s>-1?this._ongoingPointers.splice(s,1):i==="down"&&s===-1?this._ongoingPointers.push(this._convertEventPosToPoint(e,{x:0,y:0})):s>-1&&this._convertEventPosToPoint(e,this._ongoingPointers[s]),this._numActivePoints=this._ongoingPointers.length,this._numActivePoints>0&&p(this.p1,this._ongoingPointers[0]),this._numActivePoints>1&&p(this.p2,this._ongoingPointers[1])}else{const e=t;this._numActivePoints=0,e.type.indexOf("touch")>-1?e.touches&&e.touches.length>0&&(this._convertEventPosToPoint(e.touches[0],this.p1),this._numActivePoints++,e.touches.length>1&&(this._convertEventPosToPoint(e.touches[1],this.p2),this._numActivePoints++)):(this._convertEventPosToPoint(t,this.p1),i==="up"?this._numActivePoints=0:this._numActivePoints++)}}_updatePrevPoints(){p(this.prevP1,this.p1),p(this.prevP2,this.p2)}_updateStartPoints(){p(this.startP1,this.p1),p(this.startP2,this.p2),this._updatePrevPoints()}_calculateDragDirection(){if(this.pswp.mainScroll.isShifted())this.dragAxis="x";else{const t=Math.abs(this.p1.x-this.startP1.x)-Math.abs(this.p1.y-this.startP1.y);if(t!==0){const i=t>0?"x":"y";Math.abs(this.p1[i]-this.startP1[i])>=rt&&(this.dragAxis=i)}}}_convertEventPosToPoint(t,i){return i.x=t.pageX-this.pswp.offset.x,i.y=t.pageY-this.pswp.offset.y,"pointerId"in t?i.id=t.pointerId:t.identifier!==void 0&&(i.id=t.identifier),i}_onClick(t){this.pswp.mainScroll.isShifted()&&(t.preventDefault(),t.stopPropagation())}}const ct=.35;class dt{constructor(t){this.pswp=t,this.x=0,this.slideWidth=0,this._currPositionIndex=0,this._prevPositionIndex=0,this._containerShiftIndex=-1,this.itemHolders=[]}resize(t){const{pswp:i}=this,e=Math.round(i.viewportSize.x+i.viewportSize.x*i.options.spacing),s=e!==this.slideWidth;s&&(this.slideWidth=e,this.moveTo(this.getCurrSlideX())),this.itemHolders.forEach((n,o)=>{s&&y(n.el,(o+this._containerShiftIndex)*this.slideWidth),t&&n.slide&&n.slide.resize()})}resetPosition(){this._currPositionIndex=0,this._prevPositionIndex=0,this.slideWidth=0,this._containerShiftIndex=-1}appendHolders(){this.itemHolders=[];for(let t=0;t<3;t++){const i=f("pswp__item","div",this.pswp.container);i.setAttribute("role","group"),i.setAttribute("aria-roledescription","slide"),i.setAttribute("aria-hidden","true"),i.style.display=t===1?"block":"none",this.itemHolders.push({el:i})}}canBeSwiped(){return this.pswp.getNumItems()>1}moveIndexBy(t,i,e){const{pswp:s}=this;let n=s.potentialIndex+t;const o=s.getNumItems();if(s.canLoop()){n=s.getLoopedIndex(n);const h=(t+o)%o;h<=o/2?t=h:t=h-o}else n<0?n=0:n>=o&&(n=o-1),t=n-s.potentialIndex;s.potentialIndex=n,this._currPositionIndex-=t,s.animations.stopMainScroll();const a=this.getCurrSlideX();if(!i)this.moveTo(a),this.updateCurrItem();else{s.animations.startSpring({isMainScroll:!0,start:this.x,end:a,velocity:e||0,naturalFrequency:30,dampingRatio:1,onUpdate:l=>{this.moveTo(l)},onComplete:()=>{this.updateCurrItem(),s.appendHeavy()}});let h=s.potentialIndex-s.currIndex;if(s.canLoop()){const l=(h+o)%o;l<=o/2?h=l:h=l-o}Math.abs(h)>1&&this.updateCurrItem()}return!!t}getCurrSlideX(){return this.slideWidth*this._currPositionIndex}isShifted(){return this.x!==this.getCurrSlideX()}updateCurrItem(){var t;const{pswp:i}=this,e=this._prevPositionIndex-this._currPositionIndex;if(!e)return;this._prevPositionIndex=this._currPositionIndex,i.currIndex=i.potentialIndex;let s=Math.abs(e),n;s>=3&&(this._containerShiftIndex+=e+(e>0?-3:3),s=3,this.itemHolders.forEach(o=>{var a;(a=o.slide)===null||a===void 0||a.destroy(),o.slide=void 0}));for(let o=0;o0?(n=this.itemHolders.shift(),n&&(this.itemHolders[2]=n,this._containerShiftIndex++,y(n.el,(this._containerShiftIndex+2)*this.slideWidth),i.setContent(n,i.currIndex-s+o+2))):(n=this.itemHolders.pop(),n&&(this.itemHolders.unshift(n),this._containerShiftIndex--,y(n.el,this._containerShiftIndex*this.slideWidth),i.setContent(n,i.currIndex+s-o-2)));Math.abs(this._containerShiftIndex)>50&&!this.isShifted()&&(this.resetPosition(),this.resize()),i.animations.stopAllPan(),this.itemHolders.forEach((o,a)=>{o.slide&&o.slide.setIsActive(a===1)}),i.currSlide=(t=this.itemHolders[1])===null||t===void 0?void 0:t.slide,i.contentLoader.updateLazy(e),i.currSlide&&i.currSlide.applyCurrentZoomPan(),i.dispatch("change")}moveTo(t,i){if(!this.pswp.canLoop()&&i){let e=(this.slideWidth*this._currPositionIndex-t)/this.slideWidth;e+=this.pswp.currIndex;const s=Math.round(t-this.x);(e<0&&s>0||e>=this.pswp.getNumItems()-1&&s<0)&&(t=this.x+s*ct)}this.x=t,this.pswp.container&&y(this.pswp.container,t),this.pswp.dispatch("moveMainScroll",{x:t,dragging:i??!1})}}const pt={Escape:27,z:90,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Tab:9},g=(r,t)=>t?r:pt[r];class ut{constructor(t){this.pswp=t,this._wasFocused=!1,t.on("bindEvents",()=>{t.options.trapFocus&&(t.options.initialPointerPos||this._focusRoot(),t.events.add(document,"focusin",this._onFocusIn.bind(this))),t.events.add(document,"keydown",this._onKeyDown.bind(this))});const i=document.activeElement;t.on("destroy",()=>{t.options.returnFocus&&i&&this._wasFocused&&i.focus()})}_focusRoot(){!this._wasFocused&&this.pswp.element&&(this.pswp.element.focus(),this._wasFocused=!0)}_onKeyDown(t){const{pswp:i}=this;if(i.dispatch("keydown",{originalEvent:t}).defaultPrevented||U(t))return;let e,s,n=!1;const o="key"in t;switch(o?t.key:t.keyCode){case g("Escape",o):i.options.escKey&&(e="close");break;case g("z",o):e="toggleZoom";break;case g("ArrowLeft",o):s="x";break;case g("ArrowUp",o):s="y";break;case g("ArrowRight",o):s="x",n=!0;break;case g("ArrowDown",o):n=!0,s="y";break;case g("Tab",o):this._focusRoot();break}if(s){t.preventDefault();const{currSlide:a}=i;i.options.arrowKeys&&s==="x"&&i.getNumItems()>1?e=n?"next":"prev":a&&a.currZoomLevel>a.zoomLevels.fit&&(a.pan[s]+=n?-80:80,a.panTo(a.pan.x,a.pan.y))}e&&(t.preventDefault(),i[e]())}_onFocusIn(t){const{template:i}=this.pswp;i&&document!==t.target&&i!==t.target&&!i.contains(t.target)&&i.focus()}}const mt="cubic-bezier(.4,0,.22,1)";class ft{constructor(t){var i;this.props=t;const{target:e,onComplete:s,transform:n,onFinish:o=()=>{},duration:a=333,easing:h=mt}=t;this.onFinish=o;const l=n?"transform":"opacity",c=(i=t[l])!==null&&i!==void 0?i:"";this._target=e,this._onComplete=s,this._finished=!1,this._onTransitionEnd=this._onTransitionEnd.bind(this),this._helperTimeout=setTimeout(()=>{D(e,l,a,h),this._helperTimeout=setTimeout(()=>{e.addEventListener("transitionend",this._onTransitionEnd,!1),e.addEventListener("transitioncancel",this._onTransitionEnd,!1),this._helperTimeout=setTimeout(()=>{this._finalizeAnimation()},a+500),e.style[l]=c},30)},0)}_onTransitionEnd(t){t.target===this._target&&this._finalizeAnimation()}_finalizeAnimation(){this._finished||(this._finished=!0,this.onFinish(),this._onComplete&&this._onComplete())}destroy(){this._helperTimeout&&clearTimeout(this._helperTimeout),V(this._target),this._target.removeEventListener("transitionend",this._onTransitionEnd,!1),this._target.removeEventListener("transitioncancel",this._onTransitionEnd,!1),this._finished||this._finalizeAnimation()}}const _t=12,vt=.75;class gt{constructor(t,i,e){this.velocity=t*1e3,this._dampingRatio=i||vt,this._naturalFrequency=e||_t,this._dampedFrequency=this._naturalFrequency,this._dampingRatio<1&&(this._dampedFrequency*=Math.sqrt(1-this._dampingRatio*this._dampingRatio))}easeFrame(t,i){let e=0,s;i/=1e3;const n=Math.E**(-this._dampingRatio*this._naturalFrequency*i);if(this._dampingRatio===1)s=this.velocity+this._naturalFrequency*t,e=(t+s*i)*n,this.velocity=e*-this._naturalFrequency+s*n;else if(this._dampingRatio<1){s=1/this._dampedFrequency*(this._dampingRatio*this._naturalFrequency*t+this.velocity);const o=Math.cos(this._dampedFrequency*i),a=Math.sin(this._dampedFrequency*i);e=n*(t*o+s*a),this.velocity=e*-this._naturalFrequency*this._dampingRatio+n*(-this._dampedFrequency*t*a+this._dampedFrequency*s*o)}return e}}class yt{constructor(t){this.props=t,this._raf=0;const{start:i,end:e,velocity:s,onUpdate:n,onComplete:o,onFinish:a=()=>{},dampingRatio:h,naturalFrequency:l}=t;this.onFinish=a;const c=new gt(s,h,l);let d=Date.now(),u=i-e;const m=()=>{this._raf&&(u=c.easeFrame(u,Date.now()-d),Math.abs(u)<1&&Math.abs(c.velocity)<50?(n(e),o&&o(),this.onFinish()):(d=Date.now(),n(u+e),this._raf=requestAnimationFrame(m)))};this._raf=requestAnimationFrame(m)}destroy(){this._raf>=0&&cancelAnimationFrame(this._raf),this._raf=0}}class wt{constructor(){this.activeAnimations=[]}startSpring(t){this._start(t,!0)}startTransition(t){this._start(t)}_start(t,i){const e=i?new yt(t):new ft(t);return this.activeAnimations.push(e),e.onFinish=()=>this.stop(e),e}stop(t){t.destroy();const i=this.activeAnimations.indexOf(t);i>-1&&this.activeAnimations.splice(i,1)}stopAll(){this.activeAnimations.forEach(t=>{t.destroy()}),this.activeAnimations=[]}stopAllPan(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isPan?(t.destroy(),!1):!0)}stopMainScroll(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isMainScroll?(t.destroy(),!1):!0)}isPanRunning(){return this.activeAnimations.some(t=>t.props.isPan)}}class Pt{constructor(t){this.pswp=t,t.events.add(t.element,"wheel",this._onWheel.bind(this))}_onWheel(t){t.preventDefault();const{currSlide:i}=this.pswp;let{deltaX:e,deltaY:s}=t;if(i&&!this.pswp.dispatch("wheel",{originalEvent:t}).defaultPrevented)if(t.ctrlKey||this.pswp.options.wheelToZoom){if(i.isZoomable()){let n=-s;t.deltaMode===1?n*=.05:n*=t.deltaMode?1:.002,n=2**n;const o=i.currZoomLevel*n;i.zoomTo(o,{x:t.clientX,y:t.clientY})}}else i.isPannable()&&(t.deltaMode===1&&(e*=18,s*=18),i.panTo(i.pan.x-e,i.pan.y-s))}}function St(r){if(typeof r=="string")return r;if(!r||!r.isCustomSVG)return"";const t=r;let i='",i}class xt{constructor(t,i){var e;const s=i.name||i.className;let n=i.html;if(t.options[s]===!1)return;typeof t.options[s+"SVG"]=="string"&&(n=t.options[s+"SVG"]),t.dispatch("uiElementCreate",{data:i});let o="";i.isButton?(o+="pswp__button ",o+=i.className||`pswp__button--${i.name}`):o+=i.className||`pswp__${i.name}`;let a=i.isButton?i.tagName||"button":i.tagName||"div";a=a.toLowerCase();const h=f(o,a);if(i.isButton){a==="button"&&(h.type="button");let{title:d}=i;const{ariaLabel:u}=i;typeof t.options[s+"Title"]=="string"&&(d=t.options[s+"Title"]),d&&(h.title=d);const m=u||d;m&&h.setAttribute("aria-label",m)}h.innerHTML=St(n),i.onInit&&i.onInit(h,t),i.onClick&&(h.onclick=d=>{typeof i.onClick=="string"?t[i.onClick]():typeof i.onClick=="function"&&i.onClick(d,h,t)});const l=i.appendTo||"bar";let c=t.element;l==="bar"?(t.topBar||(t.topBar=f("pswp__top-bar pswp__hide-on-close","div",t.scrollWrap)),c=t.topBar):(h.classList.add("pswp__hide-on-close"),l==="wrapper"&&(c=t.scrollWrap)),(e=c)===null||e===void 0||e.appendChild(t.applyFilters("uiElement",h,i))}}function N(r,t,i){r.classList.add("pswp__button--arrow"),r.setAttribute("aria-controls","pswp__items"),t.on("change",()=>{t.options.loop||(i?r.disabled=!(t.currIndex0))})}const It={name:"arrowPrev",className:"pswp__button--arrow--prev",title:"Previous",order:10,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'',outlineID:"pswp__icn-arrow"},onClick:"prev",onInit:N},bt={name:"arrowNext",className:"pswp__button--arrow--next",title:"Next",order:11,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'',outlineID:"pswp__icn-arrow"},onClick:"next",onInit:(r,t)=>{N(r,t,!0)}},At={name:"close",title:"Close",order:20,isButton:!0,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-close"},onClick:"close"},Lt={name:"zoom",title:"Zoom",order:10,isButton:!0,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-zoom"},onClick:"toggleZoom"},Ct={name:"preloader",appendTo:"bar",order:7,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-loading"},onInit:(r,t)=>{let i,e=null;const s=(a,h)=>{r.classList.toggle("pswp__preloader--"+a,h)},n=a=>{i!==a&&(i=a,s("active",a))},o=()=>{var a;if(!((a=t.currSlide)!==null&&a!==void 0&&a.content.isLoading())){n(!1),e&&(clearTimeout(e),e=null);return}e||(e=setTimeout(()=>{var h;n(!!(!((h=t.currSlide)===null||h===void 0)&&h.content.isLoading())),e=null},t.options.preloaderDelay))};t.on("change",o),t.on("loadComplete",a=>{t.currSlide===a.slide&&o()}),t.ui&&(t.ui.updatePreloaderVisibility=o)}},Tt={name:"counter",order:5,onInit:(r,t)=>{t.on("change",()=>{r.innerText=t.currIndex+1+t.options.indexIndicatorSep+t.getNumItems()})}};function O(r,t){r.classList.toggle("pswp--zoomed-in",t)}class zt{constructor(t){this.pswp=t,this.isRegistered=!1,this.uiElementsData=[],this.items=[],this.updatePreloaderVisibility=()=>{},this._lastUpdatedZoomLevel=void 0}init(){const{pswp:t}=this;this.isRegistered=!1,this.uiElementsData=[At,It,bt,Lt,Ct,Tt],t.dispatch("uiRegister"),this.uiElementsData.sort((i,e)=>(i.order||0)-(e.order||0)),this.items=[],this.isRegistered=!0,this.uiElementsData.forEach(i=>{this.registerElement(i)}),t.on("change",()=>{var i;(i=t.element)===null||i===void 0||i.classList.toggle("pswp--one-slide",t.getNumItems()===1)}),t.on("zoomPanUpdate",()=>this._onZoomPanUpdate())}registerElement(t){this.isRegistered?this.items.push(new xt(this.pswp,t)):this.uiElementsData.push(t)}_onZoomPanUpdate(){const{template:t,currSlide:i,options:e}=this.pswp;if(this.pswp.opener.isClosing||!t||!i)return;let{currZoomLevel:s}=i;if(this.pswp.opener.isOpen||(s=i.zoomLevels.initial),s===this._lastUpdatedZoomLevel)return;this._lastUpdatedZoomLevel=s;const n=i.zoomLevels.initial-i.zoomLevels.secondary;if(Math.abs(n)<.01||!i.isZoomable()){O(t,!1),t.classList.remove("pswp--zoom-allowed");return}t.classList.add("pswp--zoom-allowed");const o=s===i.zoomLevels.initial?i.zoomLevels.secondary:i.zoomLevels.initial;O(t,o<=s),(e.imageClickAction==="zoom"||e.imageClickAction==="zoom-or-close")&&t.classList.add("pswp--click-to-zoom")}}function Et(r){const t=r.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width}}function Ot(r,t,i){const e=r.getBoundingClientRect(),s=e.width/t,n=e.height/i,o=s>n?s:n,a=(e.width-t*o)/2,h=(e.height-i*o)/2,l={x:e.left+a,y:e.top+h,w:t*o};return l.innerRect={w:e.width,h:e.height,x:a,y:h},l}function Zt(r,t,i){const e=i.dispatch("thumbBounds",{index:r,itemData:t,instance:i});if(e.thumbBounds)return e.thumbBounds;const{element:s}=t;let n,o;if(s&&i.options.thumbSelector!==!1){const a=i.options.thumbSelector||"img";o=s.matches(a)?s:s.querySelector(a)}return o=i.applyFilters("thumbEl",o,t,r),o&&(t.thumbCropped?n=Ot(o,t.width||t.w||0,t.height||t.h||0):n=Et(o)),i.applyFilters("thumbBounds",n,t,r)}class Dt{constructor(t,i){this.type=t,this.defaultPrevented=!1,i&&Object.assign(this,i)}preventDefault(){this.defaultPrevented=!0}}class Mt{constructor(){this._listeners={},this._filters={},this.pswp=void 0,this.options=void 0}addFilter(t,i,e=100){var s,n,o;this._filters[t]||(this._filters[t]=[]),(s=this._filters[t])===null||s===void 0||s.push({fn:i,priority:e}),(n=this._filters[t])===null||n===void 0||n.sort((a,h)=>a.priority-h.priority),(o=this.pswp)===null||o===void 0||o.addFilter(t,i,e)}removeFilter(t,i){this._filters[t]&&(this._filters[t]=this._filters[t].filter(e=>e.fn!==i)),this.pswp&&this.pswp.removeFilter(t,i)}applyFilters(t,...i){var e;return(e=this._filters[t])===null||e===void 0||e.forEach(s=>{i[0]=s.fn.apply(this,i)}),i[0]}on(t,i){var e,s;this._listeners[t]||(this._listeners[t]=[]),(e=this._listeners[t])===null||e===void 0||e.push(i),(s=this.pswp)===null||s===void 0||s.on(t,i)}off(t,i){var e;this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter(s=>i!==s)),(e=this.pswp)===null||e===void 0||e.off(t,i)}dispatch(t,i){var e;if(this.pswp)return this.pswp.dispatch(t,i);const s=new Dt(t,i);return(e=this._listeners[t])===null||e===void 0||e.forEach(n=>{n.call(this,s)}),s}}class Rt{constructor(t,i){if(this.element=f("pswp__img pswp__img--placeholder",t?"img":"div",i),t){const e=this.element;e.decoding="async",e.alt="",e.src=t,e.setAttribute("role","presentation")}this.element.setAttribute("aria-hidden","true")}setDisplayedSize(t,i){this.element&&(this.element.tagName==="IMG"?(L(this.element,250,"auto"),this.element.style.transformOrigin="0 0",this.element.style.transform=I(0,0,t/250)):L(this.element,t,i))}destroy(){var t;(t=this.element)!==null&&t!==void 0&&t.parentNode&&this.element.remove(),this.element=null}}class Ft{constructor(t,i,e){this.instance=i,this.data=t,this.index=e,this.element=void 0,this.placeholder=void 0,this.slide=void 0,this.displayedImageWidth=0,this.displayedImageHeight=0,this.width=Number(this.data.w)||Number(this.data.width)||0,this.height=Number(this.data.h)||Number(this.data.height)||0,this.isAttached=!1,this.hasSlide=!1,this.isDecoding=!1,this.state=_.IDLE,this.data.type?this.type=this.data.type:this.data.src?this.type="image":this.type="html",this.instance.dispatch("contentInit",{content:this})}removePlaceholder(){this.placeholder&&!this.keepPlaceholder()&&setTimeout(()=>{this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0)},1e3)}load(t,i){if(this.slide&&this.usePlaceholder())if(this.placeholder){const e=this.placeholder.element;e&&!e.parentElement&&this.slide.container.prepend(e)}else{const e=this.instance.applyFilters("placeholderSrc",this.data.msrc&&this.slide.isFirstSlide?this.data.msrc:!1,this);this.placeholder=new Rt(e,this.slide.container)}this.element&&!i||this.instance.dispatch("contentLoad",{content:this,isLazy:t}).defaultPrevented||(this.isImageContent()?(this.element=f("pswp__img","img"),this.displayedImageWidth&&this.loadImage(t)):(this.element=f("pswp__content","div"),this.element.innerHTML=this.data.html||""),i&&this.slide&&this.slide.updateContentSize(!0))}loadImage(t){var i,e;if(!this.isImageContent()||!this.element||this.instance.dispatch("contentLoadImage",{content:this,isLazy:t}).defaultPrevented)return;const s=this.element;this.updateSrcsetSizes(),this.data.srcset&&(s.srcset=this.data.srcset),s.src=(i=this.data.src)!==null&&i!==void 0?i:"",s.alt=(e=this.data.alt)!==null&&e!==void 0?e:"",this.state=_.LOADING,s.complete?this.onLoaded():(s.onload=()=>{this.onLoaded()},s.onerror=()=>{this.onError()})}setSlide(t){this.slide=t,this.hasSlide=!0,this.instance=t.pswp}onLoaded(){this.state=_.LOADED,this.slide&&this.element&&(this.instance.dispatch("loadComplete",{slide:this.slide,content:this}),this.slide.isActive&&this.slide.heavyAppended&&!this.element.parentNode&&(this.append(),this.slide.updateContentSize(!0)),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder())}onError(){this.state=_.ERROR,this.slide&&(this.displayError(),this.instance.dispatch("loadComplete",{slide:this.slide,isError:!0,content:this}),this.instance.dispatch("loadError",{slide:this.slide,content:this}))}isLoading(){return this.instance.applyFilters("isContentLoading",this.state===_.LOADING,this)}isError(){return this.state===_.ERROR}isImageContent(){return this.type==="image"}setDisplayedSize(t,i){if(this.element&&(this.placeholder&&this.placeholder.setDisplayedSize(t,i),!this.instance.dispatch("contentResize",{content:this,width:t,height:i}).defaultPrevented&&(L(this.element,t,i),this.isImageContent()&&!this.isError()))){const e=!this.displayedImageWidth&&t;this.displayedImageWidth=t,this.displayedImageHeight=i,e?this.loadImage(!1):this.updateSrcsetSizes(),this.slide&&this.instance.dispatch("imageSizeChange",{slide:this.slide,width:t,height:i,content:this})}}isZoomable(){return this.instance.applyFilters("isContentZoomable",this.isImageContent()&&this.state!==_.ERROR,this)}updateSrcsetSizes(){if(!this.isImageContent()||!this.element||!this.data.srcset)return;const t=this.element,i=this.instance.applyFilters("srcsetSizesWidth",this.displayedImageWidth,this);(!t.dataset.largestUsedSize||i>parseInt(t.dataset.largestUsedSize,10))&&(t.sizes=i+"px",t.dataset.largestUsedSize=String(i))}usePlaceholder(){return this.instance.applyFilters("useContentPlaceholder",this.isImageContent(),this)}lazyLoad(){this.instance.dispatch("contentLazyLoad",{content:this}).defaultPrevented||this.load(!0)}keepPlaceholder(){return this.instance.applyFilters("isKeepingPlaceholder",this.isLoading(),this)}destroy(){this.hasSlide=!1,this.slide=void 0,!this.instance.dispatch("contentDestroy",{content:this}).defaultPrevented&&(this.remove(),this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0),this.isImageContent()&&this.element&&(this.element.onload=null,this.element.onerror=null,this.element=void 0))}displayError(){if(this.slide){var t,i;let e=f("pswp__error-msg","div");e.innerText=(t=(i=this.instance.options)===null||i===void 0?void 0:i.errorMsg)!==null&&t!==void 0?t:"",e=this.instance.applyFilters("contentErrorElement",e,this),this.element=f("pswp__content pswp__error-msg-container","div"),this.element.appendChild(e),this.slide.container.innerText="",this.slide.container.appendChild(this.element),this.slide.updateContentSize(!0),this.removePlaceholder()}}append(){if(this.isAttached||!this.element)return;if(this.isAttached=!0,this.state===_.ERROR){this.displayError();return}if(this.instance.dispatch("contentAppend",{content:this}).defaultPrevented)return;const t="decode"in this.element;this.isImageContent()?t&&this.slide&&(!this.slide.isActive||C())?(this.isDecoding=!0,this.element.decode().catch(()=>{}).finally(()=>{this.isDecoding=!1,this.appendImage()})):this.appendImage():this.slide&&!this.element.parentNode&&this.slide.container.appendChild(this.element)}activate(){this.instance.dispatch("contentActivate",{content:this}).defaultPrevented||!this.slide||(this.isImageContent()&&this.isDecoding&&!C()?this.appendImage():this.isError()&&this.load(!1,!0),this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","false"))}deactivate(){this.instance.dispatch("contentDeactivate",{content:this}),this.slide&&this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","true")}remove(){this.isAttached=!1,!this.instance.dispatch("contentRemove",{content:this}).defaultPrevented&&(this.element&&this.element.parentNode&&this.element.remove(),this.placeholder&&this.placeholder.element&&this.placeholder.element.remove())}appendImage(){this.isAttached&&(this.instance.dispatch("contentAppendImage",{content:this}).defaultPrevented||(this.slide&&this.element&&!this.element.parentNode&&this.slide.container.appendChild(this.element),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder()))}}const Bt=5;function k(r,t,i){const e=t.createContentFromData(r,i);let s;const{options:n}=t;if(n){s=new B(n,r,-1);let o;t.pswp?o=t.pswp.viewportSize:o=R(n,t);const a=F(n,o,r,i);s.update(e.width,e.height,a)}return e.lazyLoad(),s&&e.setDisplayedSize(Math.ceil(e.width*s.initial),Math.ceil(e.height*s.initial)),e}function Nt(r,t){const i=t.getItemData(r);if(!t.dispatch("lazyLoadSlide",{index:r,itemData:i}).defaultPrevented)return k(i,t,r)}class kt{constructor(t){this.pswp=t,this.limit=Math.max(t.options.preload[0]+t.options.preload[1]+1,Bt),this._cachedItems=[]}updateLazy(t){const{pswp:i}=this;if(i.dispatch("lazyLoad").defaultPrevented)return;const{preload:e}=i.options,s=t===void 0?!0:t>=0;let n;for(n=0;n<=e[1];n++)this.loadSlideByIndex(i.currIndex+(s?n:-n));for(n=1;n<=e[0];n++)this.loadSlideByIndex(i.currIndex+(s?-n:n))}loadSlideByIndex(t){const i=this.pswp.getLoopedIndex(t);let e=this.getContentByIndex(i);e||(e=Nt(i,this.pswp),e&&this.addToCache(e))}getContentBySlide(t){let i=this.getContentByIndex(t.index);return i||(i=this.pswp.createContentFromData(t.data,t.index),this.addToCache(i)),i.setSlide(t),i}addToCache(t){if(this.removeByIndex(t.index),this._cachedItems.push(t),this._cachedItems.length>this.limit){const i=this._cachedItems.findIndex(e=>!e.isAttached&&!e.hasSlide);i!==-1&&this._cachedItems.splice(i,1)[0].destroy()}}removeByIndex(t){const i=this._cachedItems.findIndex(e=>e.index===t);i!==-1&&this._cachedItems.splice(i,1)}getContentByIndex(t){return this._cachedItems.find(i=>i.index===t)}destroy(){this._cachedItems.forEach(t=>t.destroy()),this._cachedItems=[]}}class Ht extends Mt{getNumItems(){var t;let i=0;const e=(t=this.options)===null||t===void 0?void 0:t.dataSource;e&&"length"in e?i=e.length:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),e.items&&(i=e.items.length));const s=this.dispatch("numItems",{dataSource:e,numItems:i});return this.applyFilters("numItems",s.numItems,e)}createContentFromData(t,i){return new Ft(t,this,i)}getItemData(t){var i;const e=(i=this.options)===null||i===void 0?void 0:i.dataSource;let s={};Array.isArray(e)?s=e[t]:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),s=e.items[t]);let n=s;n instanceof Element&&(n=this._domElementToItemData(n));const o=this.dispatch("itemData",{itemData:n||{},index:t});return this.applyFilters("itemData",o.itemData,t)}_getGalleryDOMElements(t){var i,e;return(i=this.options)!==null&&i!==void 0&&i.children||(e=this.options)!==null&&e!==void 0&&e.childSelector?q(this.options.children,this.options.childSelector,t)||[]:[t]}_domElementToItemData(t){const i={element:t},e=t.tagName==="A"?t:t.querySelector("a");if(e){i.src=e.dataset.pswpSrc||e.href,e.dataset.pswpSrcset&&(i.srcset=e.dataset.pswpSrcset),i.width=e.dataset.pswpWidth?parseInt(e.dataset.pswpWidth,10):0,i.height=e.dataset.pswpHeight?parseInt(e.dataset.pswpHeight,10):0,i.w=i.width,i.h=i.height,e.dataset.pswpType&&(i.type=e.dataset.pswpType);const n=t.querySelector("img");if(n){var s;i.msrc=n.currentSrc||n.src,i.alt=(s=n.getAttribute("alt"))!==null&&s!==void 0?s:""}(e.dataset.pswpCropped||e.dataset.cropped)&&(i.thumbCropped=!0)}return this.applyFilters("domItemData",i,t,e)}lazyLoadData(t,i){return k(t,this,i)}}const P=.003;class Wt{constructor(t){this.pswp=t,this.isClosed=!0,this.isOpen=!1,this.isClosing=!1,this.isOpening=!1,this._duration=void 0,this._useAnimation=!1,this._croppedZoom=!1,this._animateRootOpacity=!1,this._animateBgOpacity=!1,this._placeholder=void 0,this._opacityElement=void 0,this._cropContainer1=void 0,this._cropContainer2=void 0,this._thumbBounds=void 0,this._prepareOpen=this._prepareOpen.bind(this),t.on("firstZoomPan",this._prepareOpen)}open(){this._prepareOpen(),this._start()}close(){if(this.isClosed||this.isClosing||this.isOpening)return;const t=this.pswp.currSlide;this.isOpen=!1,this.isOpening=!1,this.isClosing=!0,this._duration=this.pswp.options.hideAnimationDuration,t&&t.currZoomLevel*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps(),setTimeout(()=>{this._start()},this._croppedZoom?30:0)}_prepareOpen(){if(this.pswp.off("firstZoomPan",this._prepareOpen),!this.isOpening){const t=this.pswp.currSlide;this.isOpening=!0,this.isClosing=!1,this._duration=this.pswp.options.showAnimationDuration,t&&t.zoomLevels.initial*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps()}}_applyStartProps(){const{pswp:t}=this,i=this.pswp.currSlide,{options:e}=t;if(e.showHideAnimationType==="fade"?(e.showHideOpacity=!0,this._thumbBounds=void 0):e.showHideAnimationType==="none"?(e.showHideOpacity=!1,this._duration=0,this._thumbBounds=void 0):this.isOpening&&t._initialThumbBounds?this._thumbBounds=t._initialThumbBounds:this._thumbBounds=this.pswp.getThumbBounds(),this._placeholder=i==null?void 0:i.getPlaceholderElement(),t.animations.stopAll(),this._useAnimation=!!(this._duration&&this._duration>50),this._animateZoom=!!this._thumbBounds&&(i==null?void 0:i.content.usePlaceholder())&&(!this.isClosing||!t.mainScroll.isShifted()),!this._animateZoom)this._animateRootOpacity=!0,this.isOpening&&i&&(i.zoomAndPanToInitial(),i.applyCurrentZoomPan());else{var s;this._animateRootOpacity=(s=e.showHideOpacity)!==null&&s!==void 0?s:!1}if(this._animateBgOpacity=!this._animateRootOpacity&&this.pswp.options.bgOpacity>P,this._opacityElement=this._animateRootOpacity?t.element:t.bg,!this._useAnimation){this._duration=0,this._animateZoom=!1,this._animateBgOpacity=!1,this._animateRootOpacity=!0,this.isOpening&&(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1));return}if(this._animateZoom&&this._thumbBounds&&this._thumbBounds.innerRect){var n;this._croppedZoom=!0,this._cropContainer1=this.pswp.container,this._cropContainer2=(n=this.pswp.currSlide)===null||n===void 0?void 0:n.holderElement,t.container&&(t.container.style.overflow="hidden",t.container.style.width=t.viewportSize.x+"px")}else this._croppedZoom=!1;this.isOpening?(this._animateRootOpacity?(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1)):(this._animateBgOpacity&&t.bg&&(t.bg.style.opacity=String(P)),t.element&&(t.element.style.opacity="1")),this._animateZoom&&(this._setClosedStateZoomPan(),this._placeholder&&(this._placeholder.style.willChange="transform",this._placeholder.style.opacity=String(P)))):this.isClosing&&(t.mainScroll.itemHolders[0]&&(t.mainScroll.itemHolders[0].el.style.display="none"),t.mainScroll.itemHolders[2]&&(t.mainScroll.itemHolders[2].el.style.display="none"),this._croppedZoom&&t.mainScroll.x!==0&&(t.mainScroll.resetPosition(),t.mainScroll.resize()))}_start(){this.isOpening&&this._useAnimation&&this._placeholder&&this._placeholder.tagName==="IMG"?new Promise(t=>{let i=!1,e=!0;$(this._placeholder).finally(()=>{i=!0,e||t(!0)}),setTimeout(()=>{e=!1,i&&t(!0)},50),setTimeout(t,250)}).finally(()=>this._initiate()):this._initiate()}_initiate(){var t,i;(t=this.pswp.element)===null||t===void 0||t.style.setProperty("--pswp-transition-duration",this._duration+"ms"),this.pswp.dispatch(this.isOpening?"openingAnimationStart":"closingAnimationStart"),this.pswp.dispatch("initialZoom"+(this.isOpening?"In":"Out")),(i=this.pswp.element)===null||i===void 0||i.classList.toggle("pswp--ui-visible",this.isOpening),this.isOpening?(this._placeholder&&(this._placeholder.style.opacity="1"),this._animateToOpenState()):this.isClosing&&this._animateToClosedState(),this._useAnimation||this._onAnimationComplete()}_onAnimationComplete(){const{pswp:t}=this;if(this.isOpen=this.isOpening,this.isClosed=this.isClosing,this.isOpening=!1,this.isClosing=!1,t.dispatch(this.isOpen?"openingAnimationEnd":"closingAnimationEnd"),t.dispatch("initialZoom"+(this.isOpen?"InEnd":"OutEnd")),this.isClosed)t.destroy();else if(this.isOpen){var i;this._animateZoom&&t.container&&(t.container.style.overflow="visible",t.container.style.width="100%"),(i=t.currSlide)===null||i===void 0||i.applyCurrentZoomPan()}}_animateToOpenState(){const{pswp:t}=this;this._animateZoom&&(this._croppedZoom&&this._cropContainer1&&this._cropContainer2&&(this._animateTo(this._cropContainer1,"transform","translate3d(0,0,0)"),this._animateTo(this._cropContainer2,"transform","none")),t.currSlide&&(t.currSlide.zoomAndPanToInitial(),this._animateTo(t.currSlide.container,"transform",t.currSlide.getCurrentTransform()))),this._animateBgOpacity&&t.bg&&this._animateTo(t.bg,"opacity",String(t.options.bgOpacity)),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","1")}_animateToClosedState(){const{pswp:t}=this;this._animateZoom&&this._setClosedStateZoomPan(!0),this._animateBgOpacity&&t.bgOpacity>.01&&t.bg&&this._animateTo(t.bg,"opacity","0"),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","0")}_setClosedStateZoomPan(t){if(!this._thumbBounds)return;const{pswp:i}=this,{innerRect:e}=this._thumbBounds,{currSlide:s,viewportSize:n}=i;if(this._croppedZoom&&e&&this._cropContainer1&&this._cropContainer2){const o=-n.x+(this._thumbBounds.x-e.x)+e.w,a=-n.y+(this._thumbBounds.y-e.y)+e.h,h=n.x-e.w,l=n.y-e.h;t?(this._animateTo(this._cropContainer1,"transform",I(o,a)),this._animateTo(this._cropContainer2,"transform",I(h,l))):(y(this._cropContainer1,o,a),y(this._cropContainer2,h,l))}s&&(p(s.pan,e||this._thumbBounds),s.currZoomLevel=this._thumbBounds.w/s.width,t?this._animateTo(s.container,"transform",s.getCurrentTransform()):s.applyCurrentZoomPan())}_animateTo(t,i,e){if(!this._duration){t.style[i]=e;return}const{animations:s}=this.pswp,n={duration:this._duration,easing:this.pswp.options.easing,onComplete:()=>{s.activeAnimations.length||this._onAnimationComplete()},target:t};n[i]=e,s.startTransition(n)}}const Vt={allowPanToNext:!0,spacing:.1,loop:!0,pinchToClose:!0,closeOnVerticalDrag:!0,hideAnimationDuration:333,showAnimationDuration:333,zoomAnimationDuration:333,escKey:!0,arrowKeys:!0,trapFocus:!0,returnFocus:!0,maxWidthToAnimate:4e3,clickToCloseNonZoomable:!0,imageClickAction:"zoom-or-close",bgClickAction:"close",tapAction:"toggle-controls",doubleTapAction:"zoom",indexIndicatorSep:" / ",preloaderDelay:2e3,bgOpacity:.8,index:0,errorMsg:"The image cannot be loaded",preload:[1,2],easing:"cubic-bezier(.4,0,.22,1)"};class $t extends Ht{constructor(t){super(),this.options=this._prepareOptions(t||{}),this.offset={x:0,y:0},this._prevViewportSize={x:0,y:0},this.viewportSize={x:0,y:0},this.bgOpacity=1,this.currIndex=0,this.potentialIndex=0,this.isOpen=!1,this.isDestroying=!1,this.hasMouse=!1,this._initialItemData={},this._initialThumbBounds=void 0,this.topBar=void 0,this.element=void 0,this.template=void 0,this.container=void 0,this.scrollWrap=void 0,this.currSlide=void 0,this.events=new G,this.animations=new wt,this.mainScroll=new dt(this),this.gestures=new lt(this),this.opener=new Wt(this),this.keyboard=new ut(this),this.contentLoader=new kt(this)}init(){if(this.isOpen||this.isDestroying)return!1;this.isOpen=!0,this.dispatch("init"),this.dispatch("beforeOpen"),this._createMainStructure();let t="pswp--open";return this.gestures.supportsTouch&&(t+=" pswp--touch"),this.options.mainClass&&(t+=" "+this.options.mainClass),this.element&&(this.element.className+=" "+t),this.currIndex=this.options.index||0,this.potentialIndex=this.currIndex,this.dispatch("firstUpdate"),this.scrollWheel=new Pt(this),(Number.isNaN(this.currIndex)||this.currIndex<0||this.currIndex>=this.getNumItems())&&(this.currIndex=0),this.gestures.supportsTouch||this.mouseDetected(),this.updateSize(),this.offset.y=window.pageYOffset,this._initialItemData=this.getItemData(this.currIndex),this.dispatch("gettingData",{index:this.currIndex,data:this._initialItemData,slide:void 0}),this._initialThumbBounds=this.getThumbBounds(),this.dispatch("initialLayout"),this.on("openingAnimationEnd",()=>{const{itemHolders:i}=this.mainScroll;i[0]&&(i[0].el.style.display="block",this.setContent(i[0],this.currIndex-1)),i[2]&&(i[2].el.style.display="block",this.setContent(i[2],this.currIndex+1)),this.appendHeavy(),this.contentLoader.updateLazy(),this.events.add(window,"resize",this._handlePageResize.bind(this)),this.events.add(window,"scroll",this._updatePageScrollOffset.bind(this)),this.dispatch("bindEvents")}),this.mainScroll.itemHolders[1]&&this.setContent(this.mainScroll.itemHolders[1],this.currIndex),this.dispatch("change"),this.opener.open(),this.dispatch("afterInit"),!0}getLoopedIndex(t){const i=this.getNumItems();return this.options.loop&&(t>i-1&&(t-=i),t<0&&(t+=i)),b(t,0,i-1)}appendHeavy(){this.mainScroll.itemHolders.forEach(t=>{var i;(i=t.slide)===null||i===void 0||i.appendHeavy()})}goTo(t){this.mainScroll.moveIndexBy(this.getLoopedIndex(t)-this.potentialIndex)}next(){this.goTo(this.potentialIndex+1)}prev(){this.goTo(this.potentialIndex-1)}zoomTo(...t){var i;(i=this.currSlide)===null||i===void 0||i.zoomTo(...t)}toggleZoom(){var t;(t=this.currSlide)===null||t===void 0||t.toggleZoom()}close(){!this.opener.isOpen||this.isDestroying||(this.isDestroying=!0,this.dispatch("close"),this.events.removeAll(),this.opener.close())}destroy(){var t;if(!this.isDestroying){this.options.showHideAnimationType="none",this.close();return}this.dispatch("destroy"),this._listeners={},this.scrollWrap&&(this.scrollWrap.ontouchmove=null,this.scrollWrap.ontouchend=null),(t=this.element)===null||t===void 0||t.remove(),this.mainScroll.itemHolders.forEach(i=>{var e;(e=i.slide)===null||e===void 0||e.destroy()}),this.contentLoader.destroy(),this.events.removeAll()}refreshSlideContent(t){this.contentLoader.removeByIndex(t),this.mainScroll.itemHolders.forEach((i,e)=>{var s,n;let o=((s=(n=this.currSlide)===null||n===void 0?void 0:n.index)!==null&&s!==void 0?s:0)-1+e;if(this.canLoop()&&(o=this.getLoopedIndex(o)),o===t&&(this.setContent(i,t,!0),e===1)){var a;this.currSlide=i.slide,(a=i.slide)===null||a===void 0||a.setIsActive(!0)}}),this.dispatch("change")}setContent(t,i,e){if(this.canLoop()&&(i=this.getLoopedIndex(i)),t.slide){if(t.slide.index===i&&!e)return;t.slide.destroy(),t.slide=void 0}if(!this.canLoop()&&(i<0||i>=this.getNumItems()))return;const s=this.getItemData(i);t.slide=new X(s,i,this),i===this.currIndex&&(this.currSlide=t.slide),t.slide.append(t.el)}getViewportCenterPoint(){return{x:this.viewportSize.x/2,y:this.viewportSize.y/2}}updateSize(t){if(this.isDestroying)return;const i=R(this.options,this);!t&&x(i,this._prevViewportSize)||(p(this._prevViewportSize,i),this.dispatch("beforeResize"),p(this.viewportSize,this._prevViewportSize),this._updatePageScrollOffset(),this.dispatch("viewportSize"),this.mainScroll.resize(this.opener.isOpen),!this.hasMouse&&window.matchMedia("(any-hover: hover)").matches&&this.mouseDetected(),this.dispatch("resize"))}applyBgOpacity(t){this.bgOpacity=Math.max(t,0),this.bg&&(this.bg.style.opacity=String(this.bgOpacity*this.options.bgOpacity))}mouseDetected(){if(!this.hasMouse){var t;this.hasMouse=!0,(t=this.element)===null||t===void 0||t.classList.add("pswp--has_mouse")}}_handlePageResize(){this.updateSize(),/iPhone|iPad|iPod/i.test(window.navigator.userAgent)&&setTimeout(()=>{this.updateSize()},500)}_updatePageScrollOffset(){this.setScrollOffset(0,window.pageYOffset)}setScrollOffset(t,i){this.offset.x=t,this.offset.y=i,this.dispatch("updateScrollOffset")}_createMainStructure(){this.element=f("pswp","div"),this.element.setAttribute("tabindex","-1"),this.element.setAttribute("role","dialog"),this.template=this.element,this.bg=f("pswp__bg","div",this.element),this.scrollWrap=f("pswp__scroll-wrap","section",this.element),this.container=f("pswp__container","div",this.scrollWrap),this.scrollWrap.setAttribute("aria-roledescription","carousel"),this.container.setAttribute("aria-live","off"),this.container.setAttribute("id","pswp__items"),this.mainScroll.appendHolders(),this.ui=new zt(this),this.ui.init(),(this.options.appendToEl||document.body).appendChild(this.element)}getThumbBounds(){return Zt(this.currIndex,this.currSlide?this.currSlide.data:this._initialItemData,this)}canLoop(){return this.options.loop&&this.getNumItems()>2}_prepareOptions(t){return window.matchMedia("(prefers-reduced-motion), (update: slow)").matches&&(t.showHideAnimationType="none",t.zoomAnimationDuration=0),{...Vt,...t}}}export{$t as default}; diff --git a/assets/sebastian-stein.html-Cekunqz-.js b/assets/sebastian-stein.html-Cekunqz-.js new file mode 100644 index 0000000..d042ee2 --- /dev/null +++ b/assets/sebastian-stein.html-Cekunqz-.js @@ -0,0 +1 @@ +import{_ as i,c as n,b as t,o as s}from"./app-DFzJ4zlk.js";const r="/images/portrait/sebastian-stein.jpg",a={};function h(c,e){return s(),n("div",null,e[0]||(e[0]=[t('

    Sebastian Stein

    Bild – Sebastian Stein

    Mit Begeisterung bringe ich Ideen zum Leben und finde es faszinierend, wenn Projekte Gestalt annehmen und Wirklichkeit werden. Bei meiner Arbeit verbinde ich zwei wichtige Perspektiven: Einerseits den technischen Blick, wie sich Lösungen effektiv und wartungsfreundlich umsetzen lassen. Andererseits die psychologische Seite, bei der ich mich in die Wünsche der User hineinversetze, um zu verstehen, was wirklich gebraucht wird.

    Story

    Meine Reise in der Informatik begann mit 16 Jahren, als ich mir das Programmieren selbst beibrachte. Vor meinem Studium der Technischen Informatik konnte ich bereits erste Erfahrungen als Hilfskraft in einem Softwareunternehmen sammeln. Während des Studiums verwirklichte ich mein erstes großes Projekt – das war mein eigentliches Lehrmeister-Erlebnis, bei dem ich enorm viel mitnehmen konnte. Nach dem Abschluss wurde ich direkt von dem Unternehmen übernommen, bei dem ich meine Diplomarbeit geschrieben hatte. Nach eineinhalb Jahren in fester Anstellung zog es mich dann in die Selbstständigkeit, um meinen eigenen Weg zu gehen und Projekte freier umzusetzen zu können.

    Rolle

    • Frontend-Entwickler
    • UX-Konzeption

    Sprachen

    • Deutsch (Muttersprache)
    • Englisch (mündlich und schriftlich)
    ',9)]))}const l=i(a,[["render",h]]),m=JSON.parse('{"path":"/team/sebastian-stein.html","title":"Sebastian Stein","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.6,"words":180},"filePathRelative":"team/sebastian-stein.md","excerpt":"\\n

    Sebastian Stein

    \\n

    \\"Bild

    \\n

    Mit Begeisterung bringe ich Ideen zum Leben und finde es faszinierend, wenn Projekte Gestalt annehmen und Wirklichkeit werden.\\nBei meiner Arbeit verbinde ich zwei wichtige Perspektiven: Einerseits den technischen Blick, wie sich Lösungen effektiv und wartungsfreundlich umsetzen lassen. Andererseits die psychologische Seite, bei der ich mich in die Wünsche der User hineinversetze, um zu verstehen, was wirklich gebraucht wird.

    "}');export{l as comp,m as data}; diff --git a/assets/style-QfSJ-RE3.css b/assets/style-QfSJ-RE3.css new file mode 100644 index 0000000..e4ddd14 --- /dev/null +++ b/assets/style-QfSJ-RE3.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600&display=swap";.vp-contributors{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;justify-content:flex-start;margin:2rem 0 1rem}.vp-contributors .contributor{display:flex;gap:.25rem;align-items:center}.vp-contributors .contributor:after{display:none!important}.vp-contributors .contributor .avatar{-o-object-fit:contain;object-fit:contain;width:36px;height:36px;border-radius:50%}.vp-contributors a.contributor{text-decoration:none!important}:root{--code-padding-x: 1.25rem;--code-padding-y: 1rem;--code-border-radius: 6px;--code-line-height: 1.6;--code-font-size: .875em;--code-font-family: consolas, monaco, "Andale Mono", "Ubuntu Mono", monospace}div[class*=language-]{position:relative;border-radius:var(--code-border-radius);background-color:var(--code-c-bg)}div[class*=language-]:before{content:attr(data-ext);position:absolute;top:.8em;right:1em;z-index:3;color:var(--code-c-text);font-size:.75rem}div[class*=language-] pre{position:relative;z-index:1;overflow-x:auto;margin:0;border-radius:var(--code-border-radius);font-size:var(--code-font-size);font-family:var(--code-font-family);line-height:var(--code-line-height)}div[class*=language-] pre code{display:block;box-sizing:border-box;width:-moz-fit-content;width:fit-content;min-width:100%;padding:var(--code-padding-y) var(--code-padding-x);background-color:#0000!important;color:var(--code-c-text);overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}:root{--code-c-text: #9e9e9e;--code-c-highlight-bg: rgba(142 150 170 / 14%)}.shiki span{color:var(--shiki-light, inherit)}[data-theme=dark] .shiki span{color:var(--shiki-dark, inherit)}div[data-highlighter=shiki]{background-color:var(--code-c-bg, var(--shiki-light-bg))}[data-theme=dark] div[data-highlighter=shiki]{background-color:var(--code-c-bg, var(--shiki-dark-bg))}:root{--code-line-number-width: 3rem}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-line-number-width);height:100%;border-right:1px solid var(--code-c-highlight-bg, var(--code-c-text));border-radius:var(--code-border-radius) 0 0 var(--code-border-radius);transition:border var(--vp-t-color)}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--code-line-number-width)}div[class*=language-].line-numbers-mode code{padding-left:1rem}div[class*=language-].line-numbers-mode .line-numbers{counter-reset:line-number;position:absolute;top:0;left:0;width:var(--code-line-number-width);padding-top:var(--code-padding-y);color:var(--code-c-line-number, var(--code-c-text));font-size:var(--code-font-size);line-height:var(--code-line-height);text-align:center}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:3;font-family:var(--code-font-family);-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);counter-increment:line-number}div[class*=language-] .line.highlighted{display:inline-block;width:100%;margin:0 calc(-1*var(--code-padding-x));padding:0 var(--code-padding-x);background-color:var(--code-c-highlight-bg)}:root{--code-title-c-text: var(--vp-c-text-mute);--code-title-c-bg: var(--code-c-bg);--code-title-divider: var(--code-c-highlight-bg, var(--code-c-text))}.code-block-title div[class*=language-]{border-top-left-radius:0;border-top-right-radius:0}.code-block-title .code-block-title-bar{overflow-x:auto;margin:.75rem 0 -.75rem;padding:0 12px;border-bottom:solid 1px var(--code-title-divider);border-radius:6px 6px 0 0;background:var(--code-title-c-bg);white-space:nowrap;transition:background var(--vp-t-color)}@media (max-width: 419px){.code-block-title .code-block-title-bar{margin:.75rem -1.5rem -.75rem;border-radius:0}}.code-block-title .code-block-title-bar .title{position:relative;display:inline-block;margin:0;padding:8px 12px;color:var(--code-title-c-text);font-weight:500;font-size:.875em;line-height:1.7;transition:background var(--vp-t-color)}:root{--vp-c-bg: #fff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #fff;--vp-c-text: rgb(60, 60, 67);--vp-c-border: #c2c2c4;--vp-c-gutter: #e2e2e3;--vp-c-shadow: rgba(0, 0, 0, .15);--vp-c-control: rgba(142, 150, 170, .1);--vp-c-control-hover: rgba(142, 150, 170, .16);--vp-c-control-disabled: #eaeaea;--vp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", STHeiti, "Microsoft YaHei", SimSun, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", STHeiti, "Microsoft YaHei", SimSun, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--navbar-height: 3.75rem;--navbar-padding-x: 1.5rem;--navbar-padding-y: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-padding-x: 1rem;--navbar-mobile-padding-y: .5rem;--sidebar-width: 18rem;--sidebar-mobile-width: 16rem;--content-width: 780px;--home-page-width: 1160px;--vp-t-color: .3s ease;--vp-t-transform: .3s ease;--vp-c-accent: rgb(42.5361702128, 112.4170212766, 135.9638297872);--vp-c-accent-bg: rgb(54.6893617021, 144.5361702128, 174.8106382979);--vp-c-accent-hover: rgb(60.7659574468, 160.5957446809, 194.2340425532);--vp-c-accent-soft: rgba(20.4, 142.4682926829, 183.6, .14);--vp-c-accent-text: var(--vp-c-white);--vp-c-bg-soft: rgba(255, 255, 255, .9);--vp-c-bg-elv-soft: rgba(255, 255, 255, .9);--vp-c-text-mute: rgba(60, 60, 67, .78);--vp-c-text-subtle: rgba(60, 60, 67, .56);--vp-c-border-hard: rgb(184.0875, 184.0875, 186.4125)}[data-theme=dark]{--vp-c-bg: #101828;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-text: rgba(235, 235, 245, .86);--vp-c-border: #3c3f44;--vp-c-gutter: #000;--vp-c-shadow: rgba(0, 0, 0, .3);--vp-c-control: rgba(101, 117, 133, .12);--vp-c-control-hover: rgba(101, 117, 133, .18);--vp-c-control-disabled: #363636;--vp-c-accent: rgb(80.1893617021, 170.0361702128, 200.3106382979);--vp-c-accent-bg: rgb(57.7276595745, 152.5659574468, 184.5223404255);--vp-c-accent-hover: rgb(54.6893617021, 144.5361702128, 174.8106382979);--vp-c-accent-soft: rgba(20.4, 142.4682926829, 183.6, .16);--vp-c-bg-soft: rgba(16, 24, 40, .9);--vp-c-bg-elv-soft: rgba(32, 33, 39, .9);--vp-c-text-mute: rgba(235, 235, 245, .602);--vp-c-text-subtle: rgba(235, 235, 245, .3784);--vp-c-border-hard: rgb(68.953125, 72.40078125, 78.146875)}.hint-container{position:relative;background:var(--hint-c-soft);transition:background var(--vp-t-color),color var(--vp-t-color)}@media print{.hint-container{page-break-inside:avoid}}.hint-container>.hint-container-title{color:var(--hint-c-title)}.hint-container :not(pre)>code{background:var(--hint-c-soft)}.hint-container .hint-container-title{position:relative;margin-block:.75em;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-block:.75rem;padding:.25em 1em;border-radius:.5em;color:inherit;font-size:var(--hint-font-size)}@media print{.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{border-inline-start-width:.25em;border-inline-start-style:solid}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75em}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;inset-inline-start:0;top:calc(50% - .6125em);width:1.25em;height:1.25em;font-size:1.25em}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-c-accent)}.hint-container.important{--hint-c-accent: var(--important-c-accent);--hint-c-title: var(--important-c-text);--hint-c-soft: var(--important-c-soft)}.hint-container.important>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.info{--hint-c-accent: var(--info-c-accent);--hint-c-title: var(--info-c-text);--hint-c-soft: var(--info-c-soft)}.hint-container.info>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.note{--hint-c-accent: var(--note-c-accent);--hint-c-title: var(--note-c-text);--hint-c-soft: var(--note-c-soft)}.hint-container.note>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.tip{--hint-c-accent: var(--tip-c-accent);--hint-c-title: var(--tip-c-text);--hint-c-soft: var(--tip-c-soft)}.hint-container.tip>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.warning{--hint-c-accent: var(--warning-c-accent);--hint-c-title: var(--warning-c-text);--hint-c-soft: var(--warning-c-soft)}.hint-container.warning>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.caution{--hint-c-accent: var(--caution-c-accent);--hint-c-title: var(--caution-c-text);--hint-c-soft: var(--caution-c-soft)}.hint-container.caution>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.details{position:relative;display:block;margin-block:.75rem;padding:1.25rem 1rem;border-radius:.5rem;background:var(--detail-c-bg);transition:background var(--vp-t-transform),color var(--vp-t-transform)}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-c-accent)}.hint-container.details :not(pre)>code{background:var(--detail-c-soft)}.hint-container.details summary{position:relative;margin:-1rem;padding-block:1em;padding-inline:3em 1.5em;list-style:none;font-size:var(--hint-font-size);cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:#0000;font-size:0}.hint-container.details summary:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;content:" ";position:absolute;inset-inline-start:.8em;top:calc(50% - .5em);width:1em;height:1em;font-size:1.25rem;line-height:normal;transition:color,var(--vp-t-color),transform var(--vp-t-transform);transform:rotate(90deg)}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:before{transform:rotate(180deg)}:root{--hint-font-size: .92rem;--important-c-accent: var(--vp-c-purple-bg);--important-c-text: var(--vp-c-purple-text);--important-c-soft: var(--vp-c-purple-soft);--info-c-accent: var(--vp-c-blue-bg);--info-c-text: var(--vp-c-blue-text);--info-c-soft: var(--vp-c-blue-soft);--note-c-accent: var(--vp-c-grey-bg);--note-c-text: var(--vp-c-grey-text);--note-c-soft: var(--vp-c-grey-soft);--tip-c-accent: var(--vp-c-green-bg);--tip-c-text: var(--vp-c-green-text);--tip-c-soft: var(--vp-c-green-soft);--warning-c-accent: var(--vp-c-yellow-bg);--warning-c-text: var(--vp-c-yellow-text);--warning-c-soft: var(--vp-c-yellow-soft);--caution-c-accent: var(--vp-c-red-bg);--caution-c-text: var(--vp-c-red-text);--caution-c-soft: var(--vp-c-red-soft);--detail-c-bg: var(--vp-c-control);--detail-c-icon: var(--vp-c-border);--detail-c-soft: var(--vp-c-grey-soft)}.vp-back-to-top-button{position:fixed!important;inset-inline-end:1rem;bottom:4rem;z-index:100;width:48px;height:48px;padding:12px;border-width:0;border-radius:50%;background:var(--back-to-top-c-bg);color:var(--back-to-top-c-accent-bg);box-shadow:2px 2px 10px 4px var(--back-to-top-c-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-c-accent-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:24px;height:24px;margin:0 auto;background:var(--back-to-top-c-icon);-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;inset-inline-end:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='4'%20d='M24.008%2014.1V42M12%2026l12-12l12%2012M12%206h24'%20/%3e%3c/svg%3e");--back-to-top-c-bg: var(--vp-c-bg);--back-to-top-c-accent-bg: var(--vp-c-accent-bg);--back-to-top-c-accent-hover: var(--vp-c-accent-hover);--back-to-top-c-shadow: var(--vp-c-shadow);--back-to-top-c-icon: currentcolor}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:#0000;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:before{content:"";display:inline-block;width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-c-text);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-c-hover)}.vp-copy-code-button.copied:before{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-c-hover);color:var(--copy-code-c-text);font-weight:500;line-height:1.25rem;white-space:nowrap}.no-copy-code .vp-copy-code-button{display:none}body:not(.no-copy-code) div[class*=language-]:hover:before{display:none}body:not(.no-copy-code) div[class*=language-]:hover .vp-copy-code-button{opacity:1}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2' /%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4' /%3e%3c/svg%3e");--copy-code-c-text: var(--code-c-line-number);--copy-code-c-hover: var(--code-c-highlight-bg)}.vp-icon{--fa-fw-width: 1em;display:inline-block;width:var(--icon-width, auto);height:var(--icon-height, auto);font-size:var(--icon-size, 1em);line-height:1}.vp-icon[sizing=width]{--icon-width: 1em}.vp-icon[sizing=height]{--icon-height: 1em}.vp-icon[sizing=both]{--icon-width: 1em;--icon-height: 1em}.vp-icon:is(i){vertical-align:var(--icon-vertical-align)}.vp-icon:not(i){vertical-align:var(--icon-vertical-align, -.125em)}:root{--photo-swipe-c-bullet: var(--vp-c-bg-elv);--photo-swipe-c-bullet-active: var(--vp-c-accent)}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:var(--photo-swipe-c-bullet);transition:width .3s,color .3s}.photo-swipe-bullet.active{width:30px;background:var(--photo-swipe-c-bullet-active)}:root{--badge-c-tip-text: var(--vp-c-green-text);--badge-c-tip-bg: var(--vp-c-green-soft);--badge-c-warning-text: var(--vp-c-yellow-text);--badge-c-warning-bg: var(--vp-c-yellow-soft);--badge-c-danger-text: var(--vp-c-red-text);--badge-c-danger-bg: var(--vp-c-red-soft);--badge-c-important-text: var(--vp-c-purple-text);--badge-c-important-bg: var(--vp-c-purple-soft);--badge-c-info-text: var(--vp-c-blue-text);--badge-c-info-bg: var(--vp-c-blue-soft);--badge-c-note-text: var(--vp-c-grey-text);--badge-c-note-bg: var(--vp-c-grey-soft)}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-c-accent-soft);color:var(--vp-c-accent);font-size:14px;line-height:18px;transition:background var(--vp-t-color),color var(--vp-t-color)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-c-tip-bg);color:var(--badge-c-tip-text)}.vp-badge.warning{background:var(--badge-c-warning-bg);color:var(--badge-c-warning-text)}.vp-badge.danger{background:var(--badge-c-danger-bg);color:var(--badge-c-danger-text)}.vp-badge.important{background:var(--badge-c-important-bg);color:var(--badge-c-important-text)}.vp-badge.info{background:var(--badge-c-info-bg);color:var(--badge-c-info-text)}.vp-badge.note{background:var(--badge-c-note-bg);color:var(--badge-c-note-text)}@media screen{.sr-only{position:absolute;overflow:hidden;clip-path:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}.vp-catalog{margin-top:.5rem;margin-bottom:.5rem}.vp-catalog-item{counter-increment:catalog-item}.vp-catalog-main-title{margin-top:calc(1rem - var(--catalog-header-offset));margin-bottom:.5rem;padding-top:var(--catalog-header-offset);font-weight:500;font-size:1.75rem}.vp-catalog-main-title:first-child{margin-bottom:.5rem!important}.vp-catalog-main-title:only-child{margin-bottom:0!important}.vp-catalog-main-title .vp-link{text-decoration:none!important}.vp-catalog-child-title{margin-bottom:.5rem!important}.vp-catalog-child-title.has-children{margin-top:calc(1rem - var(--catalog-header-offset));padding-top:var(--catalog-header-offset);border-bottom:1px solid var(--catalog-c-gutter);font-weight:500;font-size:1.3rem;transition:border-color .3s}.vp-catalog-child-title.has-children:only-child{margin-bottom:0!important}.vp-catalog-child-title .vp-link{text-decoration:none!important}.vp-catalog-sub-title{font-weight:500;font-size:1.1rem}.vp-catalog-sub-title:only-child{margin-bottom:0!important}.vp-catalog-title{color:inherit;text-decoration:none}.vp-catalog-title:hover{color:var(--catalog-c-accent)}.vp-catalog.index ol{padding-inline-start:0}.vp-catalog.index li{list-style-type:none}.vp-catalog.index .vp-catalog-list{padding-inline-start:0}.vp-catalog.index .vp-catalog-item{list-style-type:none}.vp-catalog.index .vp-catalog-title:before{content:"§" counter(catalog-item,upper-roman) " "}.vp-catalog.index .vp-child-catalogs{counter-reset:child-catalog}.vp-catalog.index .vp-child-catalog{counter-increment:child-catalog}.vp-catalog.index .vp-child-catalog .vp-catalog-title:before{content:counter(catalog-item) "." counter(child-catalog) " "}.vp-catalog.index .vp-sub-catalogs{padding-inline-start:.5rem}.vp-catalog-list{counter-reset:catalog-item;margin:0}.vp-catalog-list.deep{padding-inline-start:0}.vp-catalog-list.deep .vp-catalog-item{list-style-type:none}.vp-catalog-list .font-icon{vertical-align:baseline;margin-inline-end:.25rem}.vp-child-catalogs{margin:0}.vp-child-catalog{list-style-type:disc}.vp-sub-catalogs{counter-reset:sub-catalog}.vp-sub-catalog{counter-increment:sub-catalog}.vp-sub-catalog .vp-link:before{content:counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "}.vp-sub-catalogs-wrapper{display:flex;flex-wrap:wrap}.vp-sub-catalog-link{display:inline-block;margin:.25rem .5rem;padding:.25rem .5rem;border-radius:.375rem;background-color:var(--catalog-c-control);line-height:1.5;overflow-wrap:break-word;transition:background-color .3s,color .3s}.vp-sub-catalog-link:hover{background-color:var(--catalog-c-control-hover);color:var(--catalog-c-accent);text-decoration:none!important}.vp-catalog-header-anchor{float:left;margin-top:.125em;margin-left:-1em;font-size:.85em;text-decoration:none;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.vp-catalog-header-anchor{display:none}}[dir=rtl] .vp-catalog-header-anchor{float:right;margin-right:-1em;margin-left:0}h2:hover .vp-catalog-header-anchor,h3:hover .vp-catalog-header-anchor{text-decoration:none;opacity:1}.vp-catalog-header-anchor:focus-visible{opacity:1}.vp-empty-catalog{font-size:1.25rem;text-align:center}:root{--catalog-c-accent: var(--vp-c-accent);--catalog-c-accent-text: var(--vp-c-accent-text);--catalog-c-control: var(--vp-c-bg-alt);--catalog-c-control-hover: var(--vp-c-bg-alt);--catalog-c-gutter: var(--vp-c-gutter);--catalog-header-offset: var(--header-offset, 3.6rem)}:root{--nprogress-c: var(--vp-c-accent);--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{position:fixed;top:0;left:0;z-index:var(--nprogress-z-index);width:100%;height:2px;background:var(--nprogress-c)}.slimsearch-button{display:inline-flex;align-items:center;box-sizing:content-box;height:1.25rem;margin-inline:1rem 0;margin-top:0;margin-bottom:0;padding:.5rem;border:1px solid rgba(0,0,0,0);border-radius:1rem;background:#0000;background:var(--vp-c-control);color:var(--vp-c-text);font-weight:500;cursor:pointer;transition:background var(--vp-t-color),color var(--vp-t-color)}@media print{.slimsearch-button{display:none}}@media (max-width: 959px){.slimsearch-button{border-radius:50%}}.slimsearch-button:hover{border:1px solid var(--vp-c-accent-bg);background-color:var(--vp-c-control-hover)}.slimsearch-button .search-icon{width:1.25rem;height:1.25rem}.slimsearch-placeholder{margin-inline:.25rem;font-size:1rem}@media (max-width: 959px){.slimsearch-placeholder{display:none}}.slimsearch-key-hints{font-size:.75rem}@media (max-width: 959px){.slimsearch-key-hints{display:none}}.slimsearch-key{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25rem;border:1px solid var(--vp-c-border);border-radius:4px;box-shadow:1px 1px 4px 0 var(--vp-c-shadow);line-height:1;letter-spacing:-.1em;transition:background var(--vp-t-color),color var(--vp-t-color),border var(--vp-t-color),box-shadow var(--vp-t-transform)}@keyframes slimsearch-fade-in{0%{opacity:.2}to{opacity:1}}.slimsearch-modal-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:997;display:flex;align-items:center;justify-content:center;overflow:auto;cursor:default}.slimsearch-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:.25s slimsearch-fade-in}.slimsearch-modal{position:absolute;z-index:999;display:flex;flex-flow:column;width:calc(100% - 6rem);max-width:50em;border-radius:10px;background:var(--vp-c-bg);box-shadow:2px 2px 10px 0 var(--vp-c-shadow);transition:background var(--vp-t-color);animation:.15s pwa-opened}@media (max-width: 1280px){.slimsearch-modal{animation:.25s pwa-mobile}}@media (max-width: 719px){.slimsearch-modal{top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;max-width:unset;padding:env(--safe-area-inset-top) env(--safe-area-inset-right) env(--safe-area-inset-bottom) env(--safe-area-inset-left)}}.slimsearch-box{display:flex;margin:1rem}.slimsearch-box form{position:relative;display:flex;flex:1}.slimsearch-box label{position:absolute;inset-inline-start:.5rem;top:calc(50% - .75rem);color:var(--vp-c-accent)}.slimsearch-box label .search-icon{width:1.5rem;height:1.5rem}.slimsearch-clear-button{position:absolute;inset-inline-end:.75rem;top:calc(50% - 10px);padding:0;border-width:0;background:#0000;color:var(--vp-c-accent-bg);cursor:pointer}.slimsearch-clear-button:hover{border-radius:50%;background-color:#0000001a}.slimsearch-close-button{display:none;margin-inline:.5rem -.5rem;padding:.5rem;border-width:0;background:#0000;color:var(--vp-c-text-mute);font-size:1rem;cursor:pointer}@media (max-width: 719px){.slimsearch-close-button{display:block}}.slimsearch-input{flex:1;width:0;margin:0;padding-block:.25rem;padding-inline:2.5rem 2rem;border:0;border:2px solid var(--vp-c-accent-bg);border-radius:8px;background:var(--vp-c-bg);color:var(--vp-c-text);outline:none;font-size:1.25rem;line-height:2.5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slimsearch-input::-webkit-search-cancel-button{display:none}.slimsearch-suggestions{position:absolute;inset:calc(100% + 4px) 0 auto;z-index:20;overflow:visible;overflow-y:auto;max-height:50vh;margin:0;padding:0;border-radius:.5rem;background-color:var(--vp-c-bg);box-shadow:2px 2px 10px 0 var(--vp-c-shadow);list-style:none;line-height:1.5}.slimsearch-suggestion{padding:.25rem 1rem;border-top:1px solid var(--vp-c-border);cursor:pointer}.slimsearch-suggestion:first-child{border-top:none}.slimsearch-suggestion.active,.slimsearch-suggestion:hover{background-color:var(--vp-c-bg-alt)}.slimsearch-auto-complete{display:none;float:right;margin:0 .5rem;padding:.25rem;border:1px solid var(--vp-c-border);border-radius:.25rem;box-shadow:1px 1px 4px 0 var(--vp-c-shadow);font-size:.75rem;line-height:1}.slimsearch-suggestion.active .slimsearch-auto-complete{display:block}.slimsearch-result-wrapper{flex-grow:1;overflow-y:auto;min-height:40vh;max-height:calc(80vh - 10rem);padding:0 1rem}@media (max-width: 719px){.slimsearch-result-wrapper{min-height:unset;max-height:unset}}.slimsearch-result-wrapper.loading,.slimsearch-result-wrapper.empty{display:flex;align-items:center;justify-content:center;padding:1.5rem;font-weight:600;font-size:1.3rem;text-align:center}.slimsearch-hints{margin-top:1rem;padding:.75rem .5rem;box-shadow:0 -1px 4px 0 var(--vp-c-shadow);line-height:1}.slimsearch-hint{display:inline-flex;align-items:center;margin:0 .5rem}.slimsearch-hint kbd{margin:0 .5rem;padding:2px;border:1px solid var(--vp-c-border);border-radius:4px;box-shadow:1px 1px 4px 0 var(--vp-c-shadow)}.slimsearch-hint kbd+kbd{margin-inline-start:-.25rem}.slimsearch-hint svg{display:block;width:15px;height:15px}.redirect-modal-fade-enter-active,.redirect-modal-fade-leave-active{transition:opacity .5s}.redirect-modal-fade-enter,.redirect-modal-fade-leave-to{opacity:0}.redirect-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--redirect-z-index);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media print{.redirect-modal-mask{display:none}}.redirect-modal-wrapper{position:relative;z-index:1500;overflow:hidden;max-width:80vw;padding:1rem 2rem;border-radius:.5rem;background:var(--redirect-c-bg);box-shadow:0 2px 6px 0 var(--redirect-c-shadow)}.redirect-modal-hint{margin-top:.5rem;color:var(--vp-c-text-mute);font-size:.875rem;text-align:start}.redirect-modal-hint input[type=checkbox]{position:relative;vertical-align:text-bottom;height:1em;margin-inline-end:18px;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.redirect-modal-hint input[type=checkbox]:after{content:" ";position:absolute;top:0;display:inline-block;box-sizing:border-box;width:14px;height:14px;padding-inline-start:0;border:1px solid var(--vp-c-border);border-radius:50%;background:var(--vp-c-control);text-align:center;visibility:visible}.redirect-modal-hint input[type=checkbox]:checked:after{content:"";border-color:var(--vp-c-accent-bg);background:var(--vp-c-accent-bg)}.redirect-modal-hint input[type=checkbox]:checked:before{content:"";position:absolute;inset-inline-start:5px;top:2px;z-index:1;width:2px;height:6px;border:solid var(--vp-c-white);border-width:0 2px 2px 0;transform:rotate(45deg)}.redirect-modal-hint label{display:inline-block}.redirect-modal-action{display:block;width:100%;margin:1rem 0;padding:.5rem .75rem;border:none;border-radius:.5rem;background-color:var(--redirect-c-control);color:inherit;cursor:pointer}.redirect-modal-action:hover{background-color:var(--redirect-c-control-hover)}.redirect-modal-action.primary{background-color:var(--redirect-c-accent-bg);color:var(--redirect-c-accent-text)}.redirect-modal-action.primary:hover{background-color:var(--redirect-c-accent-hover)}:root{--redirect-z-index: 1499;--redirect-c-bg: var(--vp-c-bg-elv);--redirect-c-text: var(--vp-c-text);--redirect-c-accent-bg: var(--vp-c-accent-bg);--redirect-c-accent-hover: var(--vp-c-accent-hover);--redirect-c-accent-text: var(--vp-c-accent-text);--redirect-c-control: var(--vp-c-control);--redirect-c-control-hover: var(--vp-c-control-hover);--redirect-c-shadow: var(--vp-c-shadow)}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}:root{--vp-c-white: #fff;--vp-c-black: #000;--vp-c-grey-text: #656869;--vp-c-grey-hover: #e4e4e9;--vp-c-grey-bg: #ebebef;--vp-c-grey-soft: rgb(142 150 170 / 14%);--vp-c-indigo-text: #3451b2;--vp-c-indigo-hover: #3a5ccc;--vp-c-indigo-bg: #5672cd;--vp-c-indigo-soft: rgb(100 108 255 / 14%);--vp-c-purple-text: #6f42c1;--vp-c-purple-hover: #7e4cc9;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 14%);--vp-c-blue-text: #2888a7;--vp-c-blue-hover: #2d98ba;--vp-c-blue-bg: #2fa1c5;--vp-c-blue-soft: rgb(27 178 229 / 14%);--vp-c-green-text: #18794e;--vp-c-green-hover: #299764;--vp-c-green-bg: #30a46c;--vp-c-green-soft: rgb(16 185 129 / 14%);--vp-c-yellow-text: #915930;--vp-c-yellow-hover: #946300;--vp-c-yellow-bg: #c28100;--vp-c-yellow-soft: rgb(234 179 8 / 14%);--vp-c-red-text: #b8272c;--vp-c-red-hover: #d5393e;--vp-c-red-bg: #e0575b;--vp-c-red-soft: rgb(244 63 94 / 14%)}[data-theme=dark]{--vp-c-white: #000;--vp-c-black: #fff;--vp-c-grey-text: #939499;--vp-c-grey-hover: #414853;--vp-c-grey-bg: #32363f;--vp-c-grey-soft: rgb(101 117 133 / 16%);--vp-c-indigo-text: #a8b1ff;--vp-c-indigo-hover: #5c73e7;--vp-c-indigo-bg: #3e63dd;--vp-c-indigo-soft: rgb(100 108 255 / 16%);--vp-c-blue-text: #c9e8f2;--vp-c-blue-hover: #a6d9ea;--vp-c-blue-bg: #2785a3;--vp-c-blue-soft: rgb(27 178 229 / 16%);--vp-c-purple-text: #c8abfa;--vp-c-purple-hover: #a879e6;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 16%);--vp-c-green-text: #3dd68c;--vp-c-green-hover: #30a46c;--vp-c-green-bg: #298459;--vp-c-green-soft: rgb(16 185 129 / 16%);--vp-c-yellow-text: #f9b44e;--vp-c-yellow-hover: #da8b17;--vp-c-yellow-bg: #a46a0a;--vp-c-yellow-soft: rgb(234 179 8 / 16%);--vp-c-red-text: #f66f81;--vp-c-red-hover: #f14158;--vp-c-red-bg: #b62a3c;--vp-c-red-soft: rgb(244 63 94 / 16%)}[data-theme=dark]{color-scheme:dark}html,body{background:var(--vp-c-bg, #fff);accent-color:var(--vp-c-accent, #299764);transition:background-color var(--vp-t-color)}html{font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}@media print{html{font-size:12pt}}html[data-theme=dark]{color-scheme:dark}body{min-height:100vh;margin:0;padding:0;color:var(--vp-c-text, rgb(60, 60, 67));font-size:1rem;font-synthesis:style}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid var(--vp-c-gutter, #e2e2e3);font-size:1.65rem;transition:border-color var(--vp-t-color)}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}a{color:var(--vp-c-accent, #299764);font-weight:500;text-decoration:none;overflow-wrap:break-word}a.header-anchor{position:relative;color:inherit;text-decoration:none}a.header-anchor:before{content:"¶";position:absolute;top:.4167em;left:-.75em;display:none;color:var(--vp-c-accent, #299764);font-size:.75em}[dir=rtl] a.header-anchor:before{right:-.75em}a.header-anchor:hover:before{display:block}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{display:block;outline:auto}strong{font-weight:600}blockquote{margin:1rem 0;padding-block:.25rem;padding-inline:1rem 0;border-inline-start:.2rem solid var(--vp-c-border-hard, #b8b8ba);color:var(--vp-c-text-mute, rgba(60, 60, 67, .78));font-size:1rem;overflow-wrap:break-word;transition:border-color var(--vp-t-color),color var(--vp-t-color)}blockquote>p{margin:0}hr{border:0;border-bottom:1px solid var(--vp-c-gutter, #e2e2e3);transition:border-color var(--vp-t-color)}:not(pre)>code{margin:0;padding:3px 6px;border-radius:4px;background:var(--vp-c-grey-soft, rgba(142, 150, 170, .14));font-size:.875em;overflow-wrap:break-word;transition:background-color var(--vp-t-color),color var(--vp-t-color)}p a code{color:var(--vp-c-accent, #299764);font-weight:400}table code{padding:.1rem .4rem}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid var(--vp-c-border, #c2c2c4);border-radius:.25em;box-shadow:1px 1px 4px 0 var(--vp-c-shadow, rgba(0, 0, 0, .15));line-height:1;letter-spacing:-.1em;text-align:center}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tbody tr:nth-child(odd){background:var(--vp-c-bg-alt, #f6f8fa);transition:background-color var(--vp-t-color)}th,td{padding:.6em 1em;border:1px solid var(--vp-c-border-hard, #d1d4d7);transition:border-color var(--vp-t-color)}pre{text-align:left;direction:ltr;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}@media print{pre{white-space:pre-wrap}}pre code{padding:0;border-radius:0}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a.header-anchor{text-decoration:none}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important}}:root{--external-link-icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");--external-link-c-icon: var(--vp-c-text-mute)}#app{--navbar-c-bg: var(--vp-c-bg-elv-soft);--sidebar-c-bg: var(--vp-c-bg-soft);--sidebar-space: var(--sidebar-width);--catalog-header-offset: var(--navbar-height);--message-offset: var(--navbar-height)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-padding-y: var(--navbar-mobile-padding-y);--navbar-padding-x: var(--navbar-mobile-padding-x);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)) , 100vw )}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")}:root{color-scheme:light}body{font-family:var(--vp-font)}@media (min-width: 1440px){body{font-size:17px}}h1,h2,h3,h4,h5,h6{font-family:var(--vp-font-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}code{font-family:var(--vp-font-mono)}@media print{@page{--vp-c-bg: #fff !important;--vp-c-text: #000 !important}div[class*=language-]{position:relative!important}}div[class*=language-]{margin:.75rem 0;transition:background-color var(--vp-t-color),color var(--vp-t-color)}@media (max-width: 419px){[vp-content]>div[class*=language-]{--code-border-radius: 0;margin:.75rem -1.5rem}}@media print{div[class*=language-] pre code{padding:.5rem}}div[class*=language-] .line.diff,div[class*=language-] .line.highlighted{transition:background-color var(--vp-t-color)}:root{--code-c-text: #383a42;--code-c-bg: #ecf4fa;--code-c-highlight-bg: rgb(215.75625, 233.00625, 245.94375);--code-c-line-number: rgba(56, 58, 66, .67)}[data-theme=dark]{--code-c-text: #abb2bf;--code-c-bg: #282c34;--code-c-highlight-bg: rgb(46.6326086957, 53.1775362319, 66.2673913043);--code-c-line-number: rgba(171, 178, 191, .67)}.vp-external-link-icon:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-inline-start:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .external-link:not(.no-external-link-icon):after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-inline-start:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon [vp-content] a[href*="://"]:not(.no-external-link-icon):after,.external-link-icon [vp-content] a[target=_blank]:not(.no-external-link-icon):after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-inline-start:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}@media print{[vp-content]{margin:0!important;padding-inline:0!important}}[vp-content].custom{margin:0;padding:0}[vp-content]:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){[vp-content]:not(.custom){padding:1.5rem}}@media (max-width: 419px){[vp-content]:not(.custom){padding:1rem 1.5rem}}@media print{[vp-content]:not(.custom){max-width:unset}}[vp-content]:not(.custom){padding-top:0}[vp-content]:not(.custom)>*:first-child{margin-top:0}[vp-content]:not(.custom)>h1,[vp-content]:not(.custom)>h2,[vp-content]:not(.custom)>h3,[vp-content]:not(.custom)>h4,[vp-content]:not(.custom)>h5,[vp-content]:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar [vp-content]:not(.custom)>h1,.theme-container.no-navbar [vp-content]:not(.custom)>h2,.theme-container.no-navbar [vp-content]:not(.custom)>h3,.theme-container.no-navbar [vp-content]:not(.custom)>h4,.theme-container.no-navbar [vp-content]:not(.custom)>h5,.theme-container.no-navbar [vp-content]:not(.custom)>h6{margin-top:1.5rem;padding-top:0}[vp-content]:not(.custom)>p,[vp-content]:not(.custom)>ul p,[vp-content]:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){[vp-content]:not(.custom)>p,[vp-content]:not(.custom)>ul p,[vp-content]:not(.custom)>ol p{text-align:start}}@media print{[vp-content]:not(.custom)>p,[vp-content]:not(.custom)>ul p,[vp-content]:not(.custom)>ol p{text-align:start}}[vp-content] a:not(.header-anchor):hover{text-decoration:underline}[vp-content] img{max-width:100%}[vp-content] table img{max-width:unset}:root{scrollbar-width:thin}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--vp-c-accent-bg)}::-webkit-scrollbar-thumb:active{background:var(--vp-c-accent-hover)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}.vp-catalog-title .vp-icon{margin-inline-end:.25rem}[vp-comment]{max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){[vp-comment]{padding:1.5rem}}@media (max-width: 419px){[vp-comment]{padding:1rem 1.5rem}}@media print{[vp-comment]{max-width:unset}}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding-block:4px;padding-inline:6px 12px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--vp-c-bg);box-shadow:none}:root{--fa-fw-width: 1em}@media (max-width: 419px){.hint-container{margin-inline:-.75rem}}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem}@media (max-width: 959px){.vp-breadcrumb{padding-inline:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}.vp-breadcrumb{position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .vp-icon{margin-inline-end:.25em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--vp-c-accent)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--vp-c-text-mute);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--vp-c-text-mute)}.toggle-sidebar-wrapper{position:fixed;inset-inline-start:var(--sidebar-space);top:var(--navbar-height);bottom:0;z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:inset-inline-start var(--vp-t-transform)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}@media print{.toggle-sidebar-wrapper{display:none}}.toggle-sidebar-wrapper:hover{background:#7f7f7f0d;cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-flow:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{inset-inline-start:0}.theme-container.no-sidebar .vp-page{padding-inline:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--vp-c-shadow);transform:translate(0)}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-feature-wrapper{position:relative}.vp-feature-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-feature-bg.light{display:inline-block}.vp-feature-bg.dark,[data-theme=dark] .vp-feature-bg.light{display:none}[data-theme=dark] .vp-feature-bg.dark{display:inline-block}.vp-feature{position:relative;z-index:1;margin:0 auto;padding:1.5rem 1rem;color:var(--vp-c-text-mute);text-align:center}.vp-feature-bg+.vp-feature{color:#222}[data-theme=dark] .vp-feature-bg+.vp-feature{color:#eee}.vp-feature-bg+.vp-feature .vp-icon{color:inherit}.vp-feature-image{height:10rem;margin:0 auto}@media (max-width: 959px){.vp-feature-image{height:8rem}}.vp-feature-image.light{display:inline-block}.vp-feature-image.dark,[data-theme=dark] .vp-feature-image.light{display:none}[data-theme=dark] .vp-feature-image.dark{display:inline-block}.vp-feature-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--vp-font);text-align:center}@media (max-width: 959px){.vp-feature-header{font-size:2.5rem}}@media (max-width: 719px){.vp-feature-header{font-size:2.25rem}}@media (max-width: 419px){.vp-feature-header{font-size:2rem}}.vp-feature-description{font-size:1.125rem}.vp-features{z-index:1;display:flex;flex-wrap:wrap;place-content:stretch center;align-items:stretch;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--vp-c-border)}.vp-feature-item{position:relative;display:block;flex-basis:calc(33% - 3rem);margin:.5rem;padding:1rem;border-radius:.5rem;color:inherit;transition:background var(--vp-t-color),box-shadow var(--vp-t-transform),transform var(--vp-t-transform)}@media (min-width: 1440px){.vp-feature-item{flex-basis:calc(25% - 3rem)}}@media (max-width: 959px){.vp-feature-item{flex-basis:calc(50% - 3rem)}}@media (max-width: 719px){.vp-feature-item{flex-basis:100%;font-size:.95rem}}@media (max-width: 419px){.vp-feature-item{margin:.5rem 0;font-size:.9rem}}.vp-feature-item.link{cursor:pointer;transition:transform var(--vp-t-transform)}@media print{.vp-feature-item.link{text-decoration:none}}.vp-feature-item.link:hover{background-color:var(--vp-c-grey-soft)}.vp-feature-bg+.vp-feature .vp-feature-item.link:hover{background-color:transparent;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.vp-feature-item.link:hover:before{content:"➜";display:block;float:right}.vp-feature-item.link:active{transform:scale(.96)}.vp-feature-item .vp-icon{display:inline-block;height:1.1em;margin-inline-end:.5rem;color:var(--vp-c-accent);font-weight:400;font-size:1.1em}.vp-feature-item:only-child{flex-basis:100%}.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:calc(50% - 3rem)}@media (max-width: 719px){.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:100%}}.vp-feature-title{margin:.25rem 0 .5rem;font-weight:700;font-size:1.3rem;font-family:var(--vp-font)}@media (max-width: 419px){.vp-feature-title{font-size:1.2rem}}.vp-feature-details{margin:0;line-height:1.4}.vp-hero-info-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-inline:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline:1.5rem}}@media (min-width: 959px){.vp-hero-info{display:flex;align-items:center;justify-content:space-evenly}}.vp-hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:50%;background-size:cover}.vp-hero-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.vp-hero-mask.light{display:block}[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark{display:none}[data-theme=dark] .vp-hero-mask.dark{display:block}.vp-hero-infos{z-index:1;margin:0 .5rem}.vp-hero-image{display:block;max-width:100%;max-height:18rem;margin:1rem}@media (max-width: 959px){.vp-hero-image{margin:2rem auto}}@media (max-width: 719px){.vp-hero-image{max-height:16rem;margin:1.5rem auto}}@media (max-width: 419px){.vp-hero-image{max-height:14rem}}.vp-hero-image.light{display:block}[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark{display:none}[data-theme=dark] .vp-hero-image.dark{display:block}.vp-hero-title{margin:.5rem 0;background:linear-gradient(120deg,var(--vp-c-accent-hover),var(--vp-c-accent) 30%,rgb(66.0829787234,42.5361702128,135.9638297872) 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;font-size:3.6rem;font-family:var(--vp-font);line-height:1.5;-webkit-text-fill-color:transparent}@media (max-width: 719px){.vp-hero-title{margin:0}}@media (max-width: 959px){.vp-hero-title{font-size:2.5rem;text-align:center}}@media (max-width: 719px){.vp-hero-title{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-hero-title{margin:0 auto;font-size:2rem}}.vp-hero-title [data-theme=dark]{background:linear-gradient(120deg,var(--vp-c-accent-hover),var(--vp-c-accent) 30%,rgb(110.4638297872,80.1893617021,200.3106382979) 100%)}#main-description,.vp-hero-actions{margin:1.8rem 0}@media (max-width: 719px){#main-description,.vp-hero-actions{margin:1.5rem 0}}@media (max-width: 959px){#main-description,.vp-hero-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){#main-description,.vp-hero-actions{margin:1.2rem 0}}#main-description{max-width:35rem;color:var(--vp-c-text-mute);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){#main-description{font-size:1.4rem}}@media (max-width: 419px){#main-description{font-size:1.2rem}}.vp-hero-action{display:inline-block;overflow:hidden;min-width:4rem;margin:.5rem;padding:.5em 1.5rem;border-radius:2rem;background:var(--vp-c-control);color:var(--vp-c-text);font-size:1.2rem;text-align:center;transition:color var(--vp-t-color),color var(--vp-t-color),transform var(--vp-t-transform)}@media (max-width: 719px){.vp-hero-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-hero-action{font-size:1rem}}@media print{.vp-hero-action{text-decoration:none}}.vp-hero-action:hover{background:var(--vp-c-control-hover)}.vp-hero-action.primary{border-color:var(--vp-c-accent-bg);background:var(--vp-c-accent-bg);color:var(--vp-c-white)}.vp-hero-action.primary:hover{border-color:var(--vp-c-accent-hover);background:var(--vp-c-accent-hover)}.theme-container:not(.pure) .vp-hero-action:active{transform:scale(.96)}.vp-hero-action .vp-icon{margin-inline-end:.25em}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(odd) .vp-highlight{flex-flow:row-reverse}.vp-highlight{z-index:1;display:flex;flex:1;align-items:center;justify-content:flex-end;max-width:var(--home-page-width);margin:0 auto;padding:1.5rem 2.5rem}@media (max-width: 719px){.vp-highlight{display:block;padding-inline:1.5rem;text-align:center}}.vp-highlight-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-highlight-bg.light{display:inline-block}.vp-highlight-bg.dark,[data-theme=dark] .vp-highlight-bg.light{display:none}[data-theme=dark] .vp-highlight-bg.dark{display:inline-block}.vp-highlight-image{width:12rem;margin:2rem 4rem}@media (max-width: 959px){.vp-highlight-image{width:10rem}}@media (max-width: 719px){.vp-highlight-image{width:8rem;margin:0 auto}}.vp-highlight-image.light{display:inline-block}.vp-highlight-image.dark,[data-theme=dark] .vp-highlight-image.light{display:none}[data-theme=dark] .vp-highlight-image.dark{display:inline-block}.vp-highlight-info-wrapper{display:flex;flex:1;justify-content:center;padding:2rem}@media (max-width: 719px){.vp-highlight-info-wrapper{padding:1rem 0}}.vp-highlight-info-wrapper:only-child{flex:1 0 100%}.vp-highlight-info{text-align:start}.vp-highlight-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--vp-font)}@media (max-width: 959px){.vp-highlight-header{font-size:2.5rem}}@media (max-width: 719px){.vp-highlight-header{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-highlight-header{font-size:2rem}}.vp-highlight-description{font-size:1.125rem}.vp-highlights{margin-inline-start:-1.25em;padding-inline-start:0}.vp-highlights :not(pre)>code{color:var(--vp-c-text)}.vp-highlight-item-wrapper{position:relative;padding-block:.5em;padding-inline:.5em 1.75em;border-radius:.5rem;list-style:none}.vp-highlight-item-wrapper.link{cursor:pointer;transition:transform var(--vp-t-transform)}.vp-highlight-item-wrapper.link:hover{background-color:var(--vp-c-bg-alt)}.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper.link:hover{background-color:transparent;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.vp-highlight-item-wrapper.link:hover:before{content:"➜";display:block;float:right}.vp-highlight-item-wrapper.link:active{transform:scale(.96)}.vp-highlight-item-wrapper::marker{font-weight:700}.vp-highlight-item{display:list-item;color:inherit;list-style:initial}@media print{.vp-highlight-item{text-decoration:none}}.vp-highlight-title{margin:0;font-weight:600;font-size:1.125rem;font-family:var(--vp-font)}.vp-highlight-title .vp-icon{margin-inline-end:.25em}.vp-highlight-details{margin:.5rem 0 0}.vp-project-home{--content-width: var(--home-page-width);display:block;flex:1;padding-top:var(--navbar-height)}@media screen{.vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info{max-width:var(--home-page-width)}}@media screen{.vp-project-home .vp-feature{max-width:var(--home-page-width)}}.vp-project-home [vp-content]{padding-bottom:1.5rem!important}.vp-project-home [vp-content]:empty{padding:0!important}.is-focusing [vp-navbar]>*,.is-focusing [vp-sidebar],.is-focusing [vp-footer],.is-focusing [vp-comment],.is-focusing .vp-breadcrumb,.is-focusing .vp-page-meta,.is-focusing .vp-page-nav{opacity:.5;filter:blur(.095rem);transition:filter .35s,opacity .35s}@media (min-width: 1440px){.is-focusing [vp-toc]{opacity:.5;filter:blur(.095rem);transition:filter .35s,opacity .35s}}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--vp-t-transform)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{width:var(--content-width);margin-inline:auto}@media (max-width: 719px){.page-cover{width:100%}}.page-cover img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:25vh;border-radius:.5rem}@media (max-width: 719px){.page-cover img{border-radius:0}}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-flow:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-radius:3rem;background:var(--vp-c-accent-bg);color:var(--vp-c-white);outline:none;font-size:1rem;transition:background var(--vp-t-color)}.vp-page.not-found .action-button:hover{background:var(--vp-c-accent-hover);cursor:pointer}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top:1px solid var(--vp-c-border);background:var(--vp-c-bg);color:var(--vp-c-text-mute);text-align:center;transition:border-top-color var(--vp-t-color),background var(--vp-t-color),padding var(--vp-t-transform)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-inline:auto;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--vp-c-border)}@media (max-width: 959px){.vp-page-nav{padding-inline:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .auto-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--vp-c-border);border-radius:.25rem}.vp-page-nav .auto-link:hover{background:var(--vp-c-control)}.vp-page-nav .auto-link .hint{color:var(--vp-c-text-mute);font-size:.875rem;line-height:2}.vp-page-nav .auto-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:.75rem}[data-theme=dark] .vp-page-nav .auto-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .auto-link .arrow.down{transform:rotate(180deg)}[dir=rtl] .vp-page-nav .auto-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .auto-link .arrow.end{transform:rotate(90deg)}[dir=rtl] .vp-page-nav .auto-link .arrow.end,.vp-page-nav .auto-link .arrow.start{transform:rotate(-90deg)}[dir=rtl] .vp-page-nav .auto-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .vp-icon{margin-inline-end:.25em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .vp-icon{margin-inline-start:.25em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem}@media (max-width: 959px){.vp-page-title{padding-inline:1.5rem}}@media print{.vp-page-title{max-width:unset}}.vp-page-title{position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media print{.vp-page-title{padding-inline:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .vp-icon{margin-inline-end:.25em;color:var(--vp-c-accent)}[vp-content]:not(.custom)>h1:first-child,[vp-content]:not(.custom)>h2:first-child,[vp-content]:not(.custom)>h3:first-child,[vp-content]:not(.custom)>h4:first-child,[vp-content]:not(.custom)>h5:first-child,[vp-content]:not(.custom)>h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}[vp-content]:not(.custom)>h1:first-child{display:none}@keyframes cursor-blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.vp-portfolio{position:relative;z-index:1;overflow:hidden;box-sizing:border-box}.vp-portfolio:not(.bg){background:var(--vp-c-accent-soft)}.vp-portfolio:not(.bg):after{content:"";position:absolute;inset-inline-start:-200px;top:-200px;z-index:-1;width:1000px;height:1000px;border-radius:50%;background-color:var(--vp-c-white)}@media (max-width: 959px){.vp-portfolio:not(.bg):after{display:none}}.vp-portfolio-mask{position:absolute;top:0;right:0;bottom:0;left:0}.vp-portfolio-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;background:#888;opacity:.2}.vp-portfolio-mask.light{display:block}[data-theme=dark] .vp-portfolio-mask.light,.vp-portfolio-mask.dark{display:none}[data-theme=dark] .vp-portfolio-mask.dark{display:block}.vp-portfolio-avatar{position:absolute;inset-inline-start:0;top:0;bottom:0;display:flex;align-items:end;justify-content:center;width:50vw;height:100vh;border-radius:10px}@media (min-width: 1440px){.vp-portfolio-avatar{width:60vw}}@media (max-width: 959px){.vp-portfolio-avatar{width:100vw}}.vp-portfolio-avatar img{max-height:93vh}.vp-portfolio-avatar img.light{display:block}[data-theme=dark] .vp-portfolio-avatar img.light,.vp-portfolio-avatar img.dark{display:none}[data-theme=dark] .vp-portfolio-avatar img.dark{display:block}.vp-portfolio-container{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:100vh;padding-top:120px;padding-bottom:70px}.vp-portfolio-info{position:relative;flex:0 0 50%;box-sizing:border-box;max-width:50%;padding:0 25px}@media (max-width: 959px){.vp-portfolio-info{position:absolute;right:15px;bottom:15px;left:15px;flex:0 0 100%;max-width:unset;padding:2rem 1.5rem;border-radius:.5rem;background:var(--vp-c-bg-soft);text-align:center}}.vp-portfolio-info .vp-social-medias{justify-content:start}@media (max-width: 959px){.vp-portfolio-info .vp-social-medias{justify-content:center}}.vp-portfolio-welcome{margin:0 0 10px;padding:0;color:var(--vp-c-accent);font-weight:600;font-size:28px}@media (max-width: 959px){.vp-portfolio-welcome{font-size:18px}}.vp-portfolio-name{margin:0 0 10px;padding:0;color:var(--vp-c-black);font-weight:700;font-size:64px}@media (min-width: 1440px){.vp-portfolio-name{font-size:72px}}@media (max-width: 959px){.vp-portfolio-name{font-size:36px}}.vp-portfolio-title{position:relative;margin:0;padding:0;border-bottom:none;color:var(--vp-c-accent);font-weight:600;font-size:25px}@media (max-width: 959px){.vp-portfolio-title{font-size:18px}}.vp-portfolio-title:after{content:"";display:inline-block;vertical-align:top;width:2px;height:1.3em;background:var(--vp-c-accent-bg);animation-name:cursor-blink;animation-duration:1s;animation-iteration-count:infinite}.vp-portfolio-medias{display:flex;flex-wrap:wrap;justify-content:center;padding-top:20px}@media (min-width: 959px){.vp-portfolio-medias{justify-content:flex-start}}.vp-portfolio-media{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--vp-c-accent-bg);color:var(--vp-c-white);transition:ease all .35s}.vp-portfolio-media:hover{background-color:var(--vp-c-accent-hover);cursor:pointer}.vp-portfolio-media:after{--balloon-font-size: 10px;padding:.2em .4em!important}.vp-portfolio-media+a{margin-inline-start:5px}[vp-content].vp-portfolio-content{--content-width: min(84%, 1200px);--header-underline: rgba(42.5361702128, 112.4170212766, 135.9638297872, .4);display:flex;flex-flow:column;align-items:center}@media (min-width: 1280px){[vp-content].vp-portfolio-content{font-size:18px}}@media (max-width: 419px){[vp-content].vp-portfolio-content{font-size:14px}}[data-theme=dark] [vp-content].vp-portfolio-content{--header-underline: rgba(80.1893617021, 170.0361702128, 200.3106382979, .4)}[vp-content].vp-portfolio-content>h2,[vp-content].vp-portfolio-content>h3,[vp-content].vp-portfolio-content>h4,[vp-content].vp-portfolio-content>h5,[vp-content].vp-portfolio-content>h6{margin-bottom:1rem;border-bottom:none;text-align:center}[vp-content].vp-portfolio-content>h2{font-size:2.5rem}@media (max-width: 419px){[vp-content].vp-portfolio-content>h2{font-size:2rem}}[vp-content].vp-portfolio-content>h3{font-size:2rem}@media (max-width: 419px){[vp-content].vp-portfolio-content>h3{font-size:1.75rem}}[vp-content].vp-portfolio-content>p{align-self:stretch}[vp-content].vp-portfolio-content .header-anchor>span{background:linear-gradient(var(--header-underline),var(--header-underline)) no-repeat;background-position:-.1em calc(100% - .05em);background-size:calc(100% + .1em) .2em;text-shadow:.05em 0 var(--vp-c-bg),-.05em 0 var(--vp-c-bg)}[vp-content].vp-portfolio-content .header-anchor>span:before,[vp-content].vp-portfolio-content .header-anchor>span:after{content:"";position:relative;bottom:.05em;display:inline-block;vertical-align:text-bottom;width:.1em;height:.2em;background-color:var(--header-underline)}[vp-content].vp-portfolio-content .header-anchor>span:before{inset-inline-start:-.1em;border-radius:.2em 0 0 .2em}[vp-content].vp-portfolio-content .header-anchor>span:after{inset-inline-end:-.1em;border-radius:0 .2em .2em 0}.vp-skip-link{inset-inline-start:.25rem;top:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--vp-c-bg);color:var(--vp-c-accent);box-shadow:var(--vp-c-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip-path:none;clip:auto;width:auto;height:auto}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--vp-c-grey-soft);color:var(--vp-c-text-mute);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--vp-t-color),color var(--vp-t-color)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable{cursor:pointer}.page-category-item.clickable:not([class*=color]):hover{color:var(--vp-c-accent-hover)}.page-category-item.color0{background:#fde5e7;color:#ec2f3e}[data-theme=dark] .page-category-item.color0{background:#340509;color:#ba111f}.page-category-item.color0.clickable:hover{background:#f9bec3}[data-theme=dark] .page-category-item.color0.clickable:hover{background:#53080e}.page-category-item.color1{background:#ffeee8;color:#fb7649}[data-theme=dark] .page-category-item.color1{background:#441201;color:#f54205}.page-category-item.color1.clickable:hover{background:#fed4c6}[data-theme=dark] .page-category-item.color1.clickable:hover{background:#6d1d02}.page-category-item.color2{background:#fef5e7;color:#f5b041}[data-theme=dark] .page-category-item.color2{background:#3e2703;color:#e08e0b}.page-category-item.color2.clickable:hover{background:#fce6c4}[data-theme=dark] .page-category-item.color2.clickable:hover{background:#633f05}.page-category-item.color3{background:#eafaf1;color:#55d98d}[data-theme=dark] .page-category-item.color3{background:#0c331c;color:#29b866}.page-category-item.color3.clickable:hover{background:#caf3db}[data-theme=dark] .page-category-item.color3.clickable:hover{background:#12522d}.page-category-item.color4{background:#e6f9ee;color:#36d278}[data-theme=dark] .page-category-item.color4{background:#092917;color:#219552}.page-category-item.color4.clickable:hover{background:#c0f1d5}[data-theme=dark] .page-category-item.color4.clickable:hover{background:#0f4224}.page-category-item.color5{background:#e1fcfc;color:#16e1e1}[data-theme=dark] .page-category-item.color5{background:#042929;color:#0e9595}.page-category-item.color5.clickable:hover{background:#b4f8f8}[data-theme=dark] .page-category-item.color5.clickable:hover{background:#064242}.page-category-item.color6{background:#e4f0fe;color:#2589f6}[data-theme=dark] .page-category-item.color6{background:#021b36;color:#0862c3}.page-category-item.color6.clickable:hover{background:#bbdafc}[data-theme=dark] .page-category-item.color6.clickable:hover{background:#042c57}.page-category-item.color7{background:#f7f1fd;color:#bb8ced}[data-theme=dark] .page-category-item.color7{background:#2a0b4b;color:#9851e4}.page-category-item.color7.clickable:hover{background:#eadbfa}[data-theme=dark] .page-category-item.color7.clickable:hover{background:#431277}.page-category-item.color8{background:#fdeaf5;color:#ef59ab}[data-theme=dark] .page-category-item.color8{background:#400626;color:#e81689}.page-category-item.color8.clickable:hover{background:#facbe5}[data-theme=dark] .page-category-item.color8.clickable:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--vp-c-border-hard);border-radius:.75em;background:var(--vp-c-bg);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;place-content:stretch flex-start;align-items:center;color:var(--vp-c-text-mute);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--vp-c-accent)}.vp-page-meta{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem}@media (max-width: 959px){.vp-page-meta{padding-inline:1.5rem}}@media print{.vp-page-meta{max-width:unset}}.vp-page-meta{display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media print{.vp-page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--vp-c-text)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--vp-c-text-mute);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.vp-page-meta .update-time,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .update-time,.vp-page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--vp-c-grey-soft);background:linear-gradient(135deg,transparent .75em,var(--vp-c-grey-soft) 0) top,linear-gradient(45deg,transparent .75em,var(--vp-c-grey-soft) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--vp-c-text-mute);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--vp-t-color),color var(--vp-t-color)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable{cursor:pointer}.page-tag-item.clickable:not([class*=color]):hover{color:var(--vp-c-accent)}.page-tag-item.color0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,rgb(252.6123893805,228.9876106195,230.8725663717) 0) top,linear-gradient(45deg,transparent .75em,rgb(252.6123893805,228.9876106195,230.8725663717) 0) bottom;color:#ec2f3e}[data-theme=dark] .page-tag-item.color0{background:#340509;background:linear-gradient(135deg,transparent .75em,rgb(51.75,4.75,8.5) 0) top,linear-gradient(45deg,transparent .75em,rgb(51.75,4.75,8.5) 0) bottom;color:#ba111f}.page-tag-item.color0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,rgb(249.0309734513,189.9690265487,194.6814159292) 0) top,linear-gradient(45deg,transparent .75em,rgb(249.0309734513,189.9690265487,194.6814159292) 0) bottom}[data-theme=dark] .page-tag-item.color0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,rgb(82.8,7.6,13.6) 0) top,linear-gradient(45deg,transparent .75em,rgb(82.8,7.6,13.6) 0) bottom}.page-tag-item.color1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,rgb(254.5,237.9,232.3) 0) top,linear-gradient(45deg,transparent .75em,rgb(254.5,237.9,232.3) 0) bottom;color:#fb7649}[data-theme=dark] .page-tag-item.color1{background:#441201;background:linear-gradient(135deg,transparent .75em,rgb(68.0021551724,18.2737068966,1.4978448276) 0) top,linear-gradient(45deg,transparent .75em,rgb(68.0021551724,18.2737068966,1.4978448276) 0) bottom;color:#f54205}.page-tag-item.color1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,rgb(253.75,212.25,198.25) 0) top,linear-gradient(45deg,transparent .75em,rgb(253.75,212.25,198.25) 0) bottom}[data-theme=dark] .page-tag-item.color1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,rgb(108.8034482759,29.2379310345,2.3965517241) 0) top,linear-gradient(45deg,transparent .75em,rgb(108.8034482759,29.2379310345,2.3965517241) 0) bottom}.page-tag-item.color2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,rgb(253.8,245.1,231.3) 0) top,linear-gradient(45deg,transparent .75em,rgb(253.8,245.1,231.3) 0) bottom;color:#f5b041}[data-theme=dark] .page-tag-item.color2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,rgb(62.1054216867,39.3072289157,3.1445783133) 0) top,linear-gradient(45deg,transparent .75em,rgb(62.1054216867,39.3072289157,3.1445783133) 0) bottom;color:#e08e0b}.page-tag-item.color2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,rgb(252,230.25,195.75) 0) top,linear-gradient(45deg,transparent .75em,rgb(252,230.25,195.75) 0) bottom}[data-theme=dark] .page-tag-item.color2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,rgb(99.3686746988,62.8915662651,5.0313253012) 0) top,linear-gradient(45deg,transparent .75em,rgb(99.3686746988,62.8915662651,5.0313253012) 0) bottom}.page-tag-item.color3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,rgb(233.784,250.216,240.752) 0) top,linear-gradient(45deg,transparent .75em,rgb(233.784,250.216,240.752) 0) bottom;color:#55d98d}[data-theme=dark] .page-tag-item.color3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,rgb(11.5,51,28.25) 0) top,linear-gradient(45deg,transparent .75em,rgb(11.5,51,28.25) 0) bottom;color:#29b866}.page-tag-item.color3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,rgb(201.96,243.04,219.38) 0) top,linear-gradient(45deg,transparent .75em,rgb(201.96,243.04,219.38) 0) bottom}[data-theme=dark] .page-tag-item.color3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,rgb(18.4,81.6,45.2) 0) top,linear-gradient(45deg,transparent .75em,rgb(18.4,81.6,45.2) 0) bottom}.page-tag-item.color4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,rgb(229.8415841584,249.3584158416,238.0752475248) 0) top,linear-gradient(45deg,transparent .75em,rgb(229.8415841584,249.3584158416,238.0752475248) 0) bottom;color:#36d278}[data-theme=dark] .page-tag-item.color4{background:#092917;background:linear-gradient(135deg,transparent .75em,rgb(9.25,41.25,22.75) 0) top,linear-gradient(45deg,transparent .75em,rgb(9.25,41.25,22.75) 0) bottom;color:#219552}.page-tag-item.color4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,rgb(192.103960396,240.896039604,212.6881188119) 0) top,linear-gradient(45deg,transparent .75em,rgb(192.103960396,240.896039604,212.6881188119) 0) bottom}[data-theme=dark] .page-tag-item.color4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,rgb(14.8,66,36.4) 0) top,linear-gradient(45deg,transparent .75em,rgb(14.8,66,36.4) 0) bottom}.page-tag-item.color5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,rgb(225.0082872928,252.0917127072,252.0917127072) 0) top,linear-gradient(45deg,transparent .75em,rgb(225.0082872928,252.0917127072,252.0917127072) 0) bottom;color:#16e1e1}[data-theme=dark] .page-tag-item.color5{background:#042929;background:linear-gradient(135deg,transparent .75em,rgb(4,41.25,41.25) 0) top,linear-gradient(45deg,transparent .75em,rgb(4,41.25,41.25) 0) bottom;color:#0e9595}.page-tag-item.color5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,rgb(180.020718232,247.729281768,247.729281768) 0) top,linear-gradient(45deg,transparent .75em,rgb(180.020718232,247.729281768,247.729281768) 0) bottom}[data-theme=dark] .page-tag-item.color5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,rgb(6.4,66,66) 0) top,linear-gradient(45deg,transparent .75em,rgb(6.4,66,66) 0) bottom}.page-tag-item.color6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,rgb(227.7309734513,240.2973451327,253.8690265487) 0) top,linear-gradient(45deg,transparent .75em,rgb(227.7309734513,240.2973451327,253.8690265487) 0) bottom;color:#2589f6}[data-theme=dark] .page-tag-item.color6{background:#021b36;background:linear-gradient(135deg,transparent .75em,rgb(2.25,27.25,54.25) 0) top,linear-gradient(45deg,transparent .75em,rgb(2.25,27.25,54.25) 0) bottom;color:#0862c3}.page-tag-item.color6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,rgb(186.8274336283,218.2433628319,252.1725663717) 0) top,linear-gradient(45deg,transparent .75em,rgb(186.8274336283,218.2433628319,252.1725663717) 0) bottom}[data-theme=dark] .page-tag-item.color6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,rgb(3.6,43.6,86.8) 0) top,linear-gradient(45deg,transparent .75em,rgb(3.6,43.6,86.8) 0) bottom}.page-tag-item.color7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,rgb(246.5,240.6,252.8) 0) top,linear-gradient(45deg,transparent .75em,rgb(246.5,240.6,252.8) 0) bottom;color:#bb8ced}[data-theme=dark] .page-tag-item.color7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,rgb(41.9638554217,11.3975903614,74.6024096386) 0) top,linear-gradient(45deg,transparent .75em,rgb(41.9638554217,11.3975903614,74.6024096386) 0) bottom;color:#9851e4}.page-tag-item.color7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,rgb(233.75,219,249.5) 0) top,linear-gradient(45deg,transparent .75em,rgb(233.75,219,249.5) 0) bottom}[data-theme=dark] .page-tag-item.color7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,rgb(67.1421686747,18.2361445783,119.3638554217) 0) top,linear-gradient(45deg,transparent .75em,rgb(67.1421686747,18.2361445783,119.3638554217) 0) bottom}.page-tag-item.color8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,rgb(253,234.2,244.5) 0) top,linear-gradient(45deg,transparent .75em,rgb(253,234.2,244.5) 0) bottom;color:#ef59ab}[data-theme=dark] .page-tag-item.color8{background:#400626;background:linear-gradient(135deg,transparent .75em,rgb(64.3157894737,6.1842105263,38.0328947368) 0) top,linear-gradient(45deg,transparent .75em,rgb(64.3157894737,6.1842105263,38.0328947368) 0) bottom;color:#e81689}.page-tag-item.color8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,rgb(250,203,228.75) 0) top,linear-gradient(45deg,transparent .75em,rgb(250,203,228.75) 0) bottom}[data-theme=dark] .page-tag-item.color8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,rgb(102.9052631579,9.8947368421,60.8526315789) 0) top,linear-gradient(45deg,transparent .75em,rgb(102.9052631579,9.8947368421,60.8526315789) 0) bottom}.vp-toc-placeholder{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem}@media (max-width: 959px){.vp-toc-placeholder{padding-inline:1.5rem}}@media print{.vp-toc-placeholder{max-width:unset}}.vp-toc-placeholder{position:sticky;top:calc(var(--navbar-height) + .5rem);z-index:99;display:none;max-width:var(--content-width, 740px)}@media (max-width: 719px){.hide-navbar .vp-toc-placeholder{top:.5rem}}@media (min-width: 1440px){.vp-toc-placeholder{top:calc(var(--navbar-height) + 2rem)}}@media print{.vp-toc-placeholder{display:none!important}}.vp-toc-placeholder+[vp-content]:not(.custom){padding-top:0}.has-toc .vp-toc-placeholder{display:block}#toc{margin-bottom:1rem;border-radius:8px;background:var(--vp-c-bg-alt)}@media (min-width: 1440px){#toc{position:absolute;inset-inline-start:calc(100% + 1rem);min-width:10rem;max-width:15rem;margin-bottom:0;border-radius:0;background:transparent}}.vp-toc-header{padding:.5rem 1rem;font-weight:600}@media (min-width: 1440px){.vp-toc-header{padding-top:0;font-size:.875rem}}.vp-toc-header .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}[data-theme=dark] .vp-toc-header .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-toc-header .arrow.down{transform:rotate(180deg)}[dir=rtl] .vp-toc-header .arrow.down{transform:rotate(-180deg)}.vp-toc-header .arrow.end{transform:rotate(90deg)}[dir=rtl] .vp-toc-header .arrow.end,.vp-toc-header .arrow.start{transform:rotate(-90deg)}[dir=rtl] .vp-toc-header .arrow.start{transform:rotate(90deg)}@media (min-width: 1440px){.vp-toc-header .arrow{display:none}}.vp-toc-header .print-button{display:none}@media (min-width: 1440px){.vp-toc-header .print-button{display:inline-block}}.vp-toc-wrapper{position:relative;overflow:hidden auto;height:0;max-height:8rem;margin:0 .5rem;text-overflow:ellipsis;white-space:nowrap;scroll-behavior:smooth;transition:height .5s}@media (min-width: 1440px){.vp-toc-wrapper{height:auto;max-height:75vh}}.vp-toc-wrapper.open{height:auto;margin-top:.5rem;padding-bottom:.5rem}@media (min-width: 1440px){.vp-toc-wrapper.open{margin-top:0;padding-bottom:0}}.vp-toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}.vp-toc-wrapper::-webkit-scrollbar{width:3px}.vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:var(--vp-c-border)}.vp-toc-wrapper>.vp-toc-list{padding-inline-start:8px}@media (min-width: 1440px){.vp-toc-wrapper>.vp-toc-list:before{content:" ";position:absolute;inset-inline-start:4px;top:0;bottom:0;z-index:-1;width:2px;background:var(--vp-c-border)}}.vp-toc-list{position:relative;margin:0;padding:0}.vp-toc-marker{position:absolute;inset-inline-start:4px;top:0;z-index:2;display:none;width:2px;height:1.7rem;background:var(--vp-c-accent-bg);transition:top var(--vp-t-transform)}@media (min-width: 1440px){.vp-toc-marker{display:block}}.vp-toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--vp-c-text-mute);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.vp-toc-link.level2{padding-inline-start:0px;font-size:14px}.vp-toc-link.level3{padding-inline-start:8px;font-size:13px}.vp-toc-link.level4{padding-inline-start:16px;font-size:12px}.vp-toc-link.level5{padding-inline-start:24px;font-size:11px}.vp-toc-link.level6{padding-inline-start:32px;font-size:10px}.vp-toc-item{position:relative;box-sizing:border-box;height:1.7rem;list-style:none;line-height:1.7rem}@media (min-width: 1440px){.vp-toc-item{padding:0 .5rem}}.vp-toc-item:hover>.vp-toc-link{color:var(--vp-c-accent)}.vp-toc-item.active>.vp-toc-link{color:var(--vp-c-accent);font-weight:700}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding-block:12px;padding-inline-end:4px;border-bottom:1px solid var(--vp-c-border);font-size:16px;line-height:1.5rem}.nav-screen-links .auto-link{display:inline-block;width:100%;color:var(--vp-c-text);font-weight:400}.nav-screen-links .auto-link:hover{color:var(--vp-c-text)}.nav-screen-links .auto-link.route-link-active{color:var(--vp-c-accent)}.vp-nav-screen-menu-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--vp-c-text);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.vp-nav-screen-menu-title:hover,.vp-nav-screen-menu-title.active{color:var(--vp-c-text)}.vp-nav-screen-menu-title .text{flex:1}.vp-nav-screen-menu-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}[data-theme=dark] .vp-nav-screen-menu-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-nav-screen-menu-title .arrow.down{transform:rotate(180deg)}[dir=rtl] .vp-nav-screen-menu-title .arrow.down{transform:rotate(-180deg)}.vp-nav-screen-menu-title .arrow.end{transform:rotate(90deg)}[dir=rtl] .vp-nav-screen-menu-title .arrow.end,.vp-nav-screen-menu-title .arrow.start{transform:rotate(-90deg)}[dir=rtl] .vp-nav-screen-menu-title .arrow.start{transform:rotate(90deg)}.vp-nav-screen-menu{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.vp-nav-screen-menu.hide{height:0;margin:0;transform:scaleY(0)}.vp-nav-screen-menu .auto-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.vp-nav-screen-menu .auto-link:hover,.vp-nav-screen-menu .auto-link.route-link-active{color:var(--vp-c-accent)}.vp-nav-screen-menu-item{color:inherit;line-height:1.7rem}.vp-nav-screen-menu-subtitle{margin:0;padding-inline-start:.25rem;color:var(--vp-c-text-mute);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.vp-nav-screen-menu-subtitle .auto-link{padding:0}.vp-nav-screen-menu-subitems{margin:0;padding:0;list-style:none}.vp-nav-screen-menu-subitem{padding-inline-start:.5rem;font-size:.9em}.vp-nav-screen{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--vp-c-bg)}@media (max-width: 719px){.vp-nav-screen{display:block}}.vp-nav-screen.fade-enter-active,.vp-nav-screen.fade-leave-active{transition:opacity .25s}.vp-nav-screen.fade-enter-active .vp-nav-screen-container,.vp-nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}.vp-nav-screen.fade-enter-from,.vp-nav-screen.fade-leave-to{opacity:0}.vp-nav-screen.fade-enter-from .vp-nav-screen-container,.vp-nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}.vp-nav-screen .vp-icon{margin-inline-end:.25em}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,[data-theme=dark] .vp-nav-logo.light{display:none}[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--vp-c-text);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--vp-c-accent)}.vp-dropdown-wrapper{cursor:pointer}.vp-dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.vp-dropdown-wrapper .auto-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--vp-c-text);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--vp-t-color)}.vp-dropdown-wrapper .auto-link:hover,.vp-dropdown-wrapper .auto-link.route-link-active{color:var(--vp-c-accent)}.vp-dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--vp-c-text);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.vp-dropdown-title:hover{border-color:transparent}.vp-dropdown-title .vp-icon{margin-inline-end:.25em}.vp-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.2em}[data-theme=dark] .vp-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-dropdown-title .arrow.down{transform:rotate(180deg)}[dir=rtl] .vp-dropdown-title .arrow.down{transform:rotate(-180deg)}.vp-dropdown-title .arrow.end{transform:rotate(90deg)}[dir=rtl] .vp-dropdown-title .arrow.end,.vp-dropdown-title .arrow.start{transform:rotate(-90deg)}[dir=rtl] .vp-dropdown-title .arrow.start{transform:rotate(90deg)}.vp-dropdown{position:absolute;inset-inline-end:0;top:100%;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--vp-c-gutter);border-radius:.5rem;background:var(--vp-c-bg-elv);box-shadow:2px 2px 10px var(--vp-c-shadow);list-style-type:none;text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}.vp-dropdown-wrapper:hover .vp-dropdown,.vp-dropdown-wrapper.open .vp-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.vp-dropdown-item{color:inherit;line-height:1.7rem}.vp-dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--vp-c-text-mute);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.vp-dropdown-item:first-child .vp-dropdown-subtitle{padding-top:0}.vp-dropdown-subitems{margin:0;padding:0 0 .25rem;list-style-type:none}.vp-dropdown-item:last-child .vp-dropdown-subitems{padding-bottom:0}.vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-nav-item:first-child{margin-inline-start:0}.vp-nav-item:last-child{margin-inline-end:0}.vp-nav-item>.auto-link{color:var(--vp-c-text)}.vp-nav-item>.auto-link:before{content:" ";position:absolute;inset:auto 50% 0;height:2px;border-radius:1px;background:var(--vp-c-accent-hover);visibility:hidden;transition:inset .2s ease-in-out}.vp-nav-item>.auto-link.route-link-active{color:var(--vp-c-accent)}.vp-nav-item>.auto-link:hover:before,.vp-nav-item>.auto-link.route-link-active:before{inset:auto 0 0;visibility:visible}.vp-nav-item .i18n-icon{color:var(--vp-c-text-mute)}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-padding-y) * 2 );position:fixed;inset:0 0 auto;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-padding-y) var(--navbar-padding-x);background:var(--navbar-c-bg);box-shadow:0 2px 8px var(--vp-c-shadow);line-height:var(--navbar-line-height);white-space:nowrap;-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);transition:transform var(--vp-t-transform)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .auto-link{padding:0 .25rem;color:var(--vp-c-text)}.vp-navbar .auto-link.route-link-active{color:var(--vp-c-accent)}.vp-navbar .auto-link .vp-icon{margin-inline-end:.25em}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:left}[dir=rtl] .vp-navbar-start{justify-content:right}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:right}[dir=rtl] .vp-navbar-end{justify-content:left}.vp-navbar .vp-action{margin:0!important}.vp-navbar .vp-action-link{display:inline-block;margin:auto;padding:6px;color:var(--vp-c-text-mute);line-height:1}.vp-navbar .vp-action-link:hover,.vp-navbar .vp-action-link:active{color:var(--vp-c-accent-bg)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--vp-c-text);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--vp-c-accent-bg);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-padding-x)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--vp-c-text);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}[data-theme=light]::view-transition-old(root),[data-theme=dark]::view-transition-new(root){z-index:1}[data-theme=light]::view-transition-new(root),[data-theme=dark]::view-transition-old(root){z-index:99999}.vp-color-mode-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--vp-c-text-mute);cursor:pointer;transition:color var(--vp-t-color)}.vp-color-mode-switch:hover{color:var(--vp-c-accent-bg)}.vp-color-mode-switch .icon{width:1.25rem;height:1.25rem}.vp-color-mode-title{display:block;margin:0;padding:0 .25rem;color:var(--vp-c-text-subtle);font-weight:600;font-size:.75rem;line-height:2}.vp-outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--vp-c-text-mute)}.vp-outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.vp-outlook-dropdown{position:absolute;inset-inline-end:0;top:100%;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--vp-c-gutter);border-radius:.25rem;background:var(--vp-c-bg);box-shadow:2px 2px 10px var(--vp-c-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}.vp-outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--vp-c-border)}.vp-outlook-button:hover .vp-outlook-dropdown,.vp-outlook-button.open .vp-outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.vp-theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}.vp-theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}.vp-theme-color-picker li span.theme-color{background:#3791af}.vp-theme-color-picker li span.theme-color [data-theme=dark]{background:#3a99b9}.vp-theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--vp-c-text-subtle);font-weight:600;font-size:.75rem;line-height:2}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.25rem;color:var(--vp-c-text-mute);cursor:pointer}@media print{.full-screen,.cancel-full-screen{display:none}}.full-screen:hover,.cancel-full-screen:hover{color:var(--vp-c-accent-hover)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--vp-c-text);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link:hover{background:var(--vp-c-control)}.vp-sidebar-link.active{background:var(--vp-c-accent-soft);color:var(--vp-c-accent);font-weight:500}.vp-sidebar-link.active .vp-icon{color:var(--vp-c-accent)}.vp-sidebar-group:not(.collapsible) .vp-sidebar-header:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-header{font-size:1em}.vp-sidebar-header{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--vp-c-text);font-size:1.1em;line-height:1.5;text-align:start;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-header.open{color:inherit}.vp-sidebar-header.clickable{border-width:0;background:transparent;cursor:pointer;font-family:inherit}.vp-sidebar-header.clickable:hover{background:var(--vp-c-control)}.vp-sidebar-header.clickable.exact{border-inline-start-color:var(--vp-c-accent-bg);color:var(--vp-c-accent)}.vp-sidebar-header.clickable.exact a{color:inherit}.vp-sidebar-header .vp-sidebar-title{flex:1}.vp-sidebar-header .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}[data-theme=dark] .vp-sidebar-header .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-header .vp-arrow.down{transform:rotate(180deg)}[dir=rtl] .vp-sidebar-header .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-header .vp-arrow.end{transform:rotate(90deg)}[dir=rtl] .vp-sidebar-header .vp-arrow.end,.vp-sidebar-header .vp-arrow.start{transform:rotate(-90deg)}[dir=rtl] .vp-sidebar-header .vp-arrow.start{transform:rotate(90deg)}.vp-sidebar-header .vp-arrow{font-size:1.5em}.vp-sidebar-links{margin:0 0 0 .75em;padding:0}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{margin:0;padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;inset-inline-start:0;top:0;bottom:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-c-bg);box-shadow:2px 0 8px var(--vp-c-shadow);font-size:.94rem;-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);transition:padding var(--vp-t-transform),transform var(--vp-t-transform);scrollbar-color:var(--vp-c-accent-bg) var(--vp-c-border);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}.vp-sidebar a{display:inline-block;color:var(--vp-c-text);font-weight:400}.vp-sidebar .vp-icon{margin-inline-end:.25em}.vp-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000026}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}:root{--font-family: "Source Sans 3", sans-serif;--font-family-heading: "Montserrat", sans-serif;--highlight-color: #3894b3;--highlight-color-light: #a5e3f7}#app{--navbar-c-bg: transparent}h1,h2,h3,h4,h5,h6,.font-montserrat{font-family:Montserrat,sans-serif!important}.font-sourcesans{font-family:"Source Sans 3",sans-serif!important}.vp-navbar{transition:background var(--vp-t-color),box-shadow var(--vp-t-transform)}.transparent-navbar .vp-navbar{background-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.transparent-navbar .vp-navbar:has(.vp-toggle-navbar-button.is-active){background-color:var(--navbar-c-bg)}.transparent-navbar .vp-dropdown-wrapper .vp-dropdown{border:none;background:#00000040}.transparent-navbar .DocSearch-Button{background:transparent}.transparent-navbar .slimsearch-button{border-color:transparent;background-color:transparent}/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-text-shadow-color:initial;--tw-text-shadow-alpha:100%}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-700:oklch(50.5% .213 27.518);--color-green-100:oklch(96.2% .044 156.743);--color-green-700:oklch(52.7% .154 150.069);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.vp-sidebar{box-sizing:content-box}.vp-nav-logo{display:inline}.theme-hope-content p{margin-block:1em;margin-inline:0}.theme-hope-content ul{list-style:unset;margin-block:1em;margin-inline:0}.theme-hope-content figure{margin:inherit;padding:inherit}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-10{z-index:10}.col-span-3{grid-column:span 3/span 3}.col-span-9{grid-column:span 9/span 9}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing)*4)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-5{height:calc(var(--spacing)*5)}.h-48{height:calc(var(--spacing)*48)}.h-\[115\%\]{height:115%}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-none{max-height:none}.w-5{width:calc(var(--spacing)*5)}.w-48{width:calc(var(--spacing)*48)}.w-75{width:calc(var(--spacing)*75)}.w-\[115\%\]{width:115%}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.border-white{border-color:var(--color-white)}.bg-\[\#22596c\]{background-color:#22596c}.bg-\[\#ececec\]{background-color:#ececec}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#22596c\]\/100{--tw-gradient-from:oklab(43.6145% -.0465442 -.0452114);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[\#22596c\]\/80{--tw-gradient-via:oklab(43.6145% -.0465442 -.0452114/.8);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#22596c\]\/90{--tw-gradient-via:oklab(43.6145% -.0465442 -.0452114/.9);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#22596c\]\/100{--tw-gradient-via:oklab(43.6145% -.0465442 -.0452114);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-3{padding:calc(var(--spacing)*3)}.p-6{padding:calc(var(--spacing)*6)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-0{padding-top:calc(var(--spacing)*0)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.text-center{text-align:center}.text-right{text-align:right}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\!text-black{color:var(--color-black)!important}.\!text-white{color:var(--color-white)!important}.text-gray-600{color:var(--color-gray-600)}.text-gray-900{color:var(--color-gray-900)}.text-green-700{color:var(--color-green-700)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.text-shadow-sm{text-shadow:0px 1px 0px var(--tw-text-shadow-color,#00000013),0px 1px 1px var(--tw-text-shadow-color,#00000013),0px 2px 2px var(--tw-text-shadow-color,#00000013)}@media (hover:hover){.group-hover\:scale-\[1\.05\]:is(:where(.group):hover *){scale:1.05}.group-hover\:text-gray-600:is(:where(.group):hover *){color:var(--color-gray-600)}.group-hover\:opacity-25:is(:where(.group):hover *){opacity:.25}.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:\!text-gray-300:hover{color:var(--color-gray-300)!important}.hover\:\!underline:hover{text-decoration-line:underline!important}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}@media (min-width:40rem){.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-6{gap:calc(var(--spacing)*6)}.sm\:pt-2{padding-top:calc(var(--spacing)*2)}.sm\:text-left{text-align:left}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (min-width:48rem){.md\:sticky{position:sticky}.md\:top-8{top:calc(var(--spacing)*8)}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-7{grid-column:span 7/span 7}.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:mb-0{margin-bottom:calc(var(--spacing)*0)}.md\:block{display:block}.md\:hidden{display:none}.md\:w-3\/5{width:60%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-start{justify-content:flex-start}.md\:self-start{align-self:flex-start}.md\:px-6{padding-inline:calc(var(--spacing)*6)}.md\:pt-45{padding-top:calc(var(--spacing)*45)}.md\:pb-16{padding-bottom:calc(var(--spacing)*16)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (min-width:64rem){.lg\:w-1\/2{width:50%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}.dark\:bg-gray-800:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-gray-800)}.dark\:bg-gray-900:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-gray-900)}.dark\:from-\[\#22596c\]\/100:where([data-theme=dark],[data-theme=dark] *){--tw-gradient-from:oklab(43.6145% -.0465442 -.0452114);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:via-\[\#22596c\]\/80:where([data-theme=dark],[data-theme=dark] *){--tw-gradient-via:oklab(43.6145% -.0465442 -.0452114/.8);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-\[\#22596c\]\/90:where([data-theme=dark],[data-theme=dark] *){--tw-gradient-via:oklab(43.6145% -.0465442 -.0452114/.9);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-\[\#22596c\]\/100:where([data-theme=dark],[data-theme=dark] *){--tw-gradient-via:oklab(43.6145% -.0465442 -.0452114);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:to-transparent:where([data-theme=dark],[data-theme=dark] *){--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-gray-50:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-50)}.dark\:text-gray-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-300)}@media (hover:hover){.group-hover\:dark\:text-gray-300:is(:where(.group):hover *):where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-300)}}}.blank-layout{--content-width:1160px}.blank-layout h1,.blank-layout h2,.blank-layout h3,.blank-layout h4,.blank-layout h5,.blank-layout h6{font-family:var(--font-family-heading)}.blank-layout h1,.blank-layout h2{border-bottom:none;padding-bottom:2rem;font-weight:700}.blank-layout .content-width{max-width:var(--content-width);margin:0 auto;padding:0 2.5rem}@media (max-width:768px){.blank-layout .content-width{padding:0 1.75rem}}@media (max-width:400px){.blank-layout .content-width{padding:0 1rem}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-text-shadow-color{syntax:"*";inherits:false}@property --tw-text-shadow-alpha{syntax:"";inherits:false;initial-value:100%}.phone-number{color:var(--highlight-color)}.focus\:highlight:focus{--tw-ring-color: var(--highlight-color)}button{background-color:var(--highlight-color)}button:hover{background-color:color-mix(in srgb,var(--highlight-color),black 15%)}.highlight-number{color:var(--highlight-color)}.tag{color:var(--highlight-color);background:var(--highlight-color-light)}.overlay-bg{background-color:var(--highlight-color-light)}figcaption{font-style:italic}.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.5)}.text-shadow-sm{text-shadow:0 1px 2px rgba(0,0,0,.5)}.hero-title{font-family:Montserrat,sans-serif!important;font-weight:700!important;margin:0 0 1.5rem!important;line-height:1.1!important}.hero-button{transition:transform .3s ease,box-shadow .3s ease}.hero-button:hover{transform:translateY(-3px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.hero-button:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;border-radius:9999px;opacity:0;transform:scale(.5);transition:transform .5s ease,opacity .5s ease;z-index:0}.hero-button:hover:after{opacity:1;transform:scale(1)}.hero-button-primary:after{background:radial-gradient(circle,#fde0474d,#fde047 70%,#fde047)}.hero-button-secondary:after{background:radial-gradient(circle,#0000004d,#0003 70%,#0000)}.slimsearch-result-wrapper{scrollbar-color:var(--vp-c-accent) var(--vp-c-border);scrollbar-width:thin}@media (max-width: 419px){.slimsearch-result-wrapper{font-size:14px}}.slimsearch-result-wrapper::-webkit-scrollbar{width:6px;height:6px}.slimsearch-result-wrapper::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}.slimsearch-result-wrapper::-webkit-scrollbar-thumb{border-radius:6px;background:var(--vp-c-accent-bg)}.slimsearch-result-wrapper::-webkit-scrollbar-thumb:active{background:var(--vp-c-accent-hover)}.slimsearch-result-wrapper mark{border-radius:.25em;line-height:1}.slimsearch-result-list{margin:0;padding:0}.slimsearch-result-list-item{display:block;list-style:none}.slimsearch-result-title{position:sticky;top:-2px;z-index:10;margin:-4px;margin-bottom:.25rem;padding:4px;background:var(--vp-c-bg);color:var(--vp-c-accent);font-weight:600;font-size:.875em;line-height:2rem;text-indent:.5em}.slimsearch-result-item.active .slimsearch-result-title{color:var(--vp-c-accent)}.slimsearch-result-type{display:block;width:1rem;height:1rem;margin-inline-start:-.5rem;padding:.5rem;color:var(--vp-c-accent)}.slimsearch-remove-icon{box-sizing:content-box;height:1.5rem;padding:0;border-width:0;border-radius:50%;background:#0000;color:var(--vp-c-accent);font-size:1rem;cursor:pointer}.slimsearch-remove-icon svg{width:1.5rem;height:1.5rem}.slimsearch-remove-icon:hover{background:#8080804d}.slimsearch-result-content{display:flex;flex-flow:column;flex-grow:1;align-items:stretch;justify-content:center;line-height:1.5}.slimsearch-result-content .content-header{margin-bottom:.25rem;border-bottom:1px solid var(--vp-c-border-hard);font-size:.9em}.slimsearch-result-item{display:flex;align-items:center;margin:.5rem 0;padding:.5rem .75rem;border-radius:.25rem;background:var(--vp-c-bg-alt);color:inherit;box-shadow:0 1px 3px 0 var(--vp-c-shadow);font-weight:400;white-space:pre-wrap;word-wrap:break-word}.slimsearch-result-item strong{color:var(--vp-c-accent)}.slimsearch-result-item:hover,.slimsearch-result-item.active{background-color:var(--vp-c-accent-hover);color:var(--vp-c-white);cursor:pointer}.slimsearch-result-item:hover .slimsearch-result-type,.slimsearch-result-item:hover .slimsearch-remove-icon,.slimsearch-result-item:hover strong,.slimsearch-result-item.active .slimsearch-result-type,.slimsearch-result-item.active .slimsearch-remove-icon,.slimsearch-result-item.active strong{color:var(--vp-c-white)} diff --git a/assets/ulf-gebhardt.html-O-yS3EkP.js b/assets/ulf-gebhardt.html-O-yS3EkP.js new file mode 100644 index 0000000..8420317 --- /dev/null +++ b/assets/ulf-gebhardt.html-O-yS3EkP.js @@ -0,0 +1 @@ +import{_ as l,c as o,b as t,a as e,d as n,e as i,w as s,r as p,o as h,f as d}from"./app-DFzJ4zlk.js";const u={};function f(g,r){const a=p("RouteLink");return h(),o("div",null,[r[19]||(r[19]=t('

    Ulf Gebhardt

    Ulf Gebhardt

    Ulf ist ein Softwareentwickler durch und durch. Er hat mit 12 Jahren angefangen zu programmieren und ist dabei geblieben. Er weiß um die Möglichkeiten, die Software und Hardware zu bieten haben, und ist die Person, an die man sich wendet, wenn es Zeit ist, eine neue Bibliothek einzubinden oder einen Algorithmus zu implementieren.

    In seiner Freizeit programmiert er, wie jeder gute Programmierer, und reist zu Fuß um die Welt, wenn es Zeit ist, den Bildschirm für eine Weile zu verlassen.

    Man kann ihn auf Github und stackoverflow finden, seine Website besuchen, ihm eine E-Mail senden oder anrufen.

    Rolle

    Ulf kann die folgenden Aufgaben erfüllen:

    • DevOps
    • Scrum Master
    • Softwarearchitekt
    • Backend-Entwickler
    • Projektmanager
    • Design-Eye
    • Datenbankplanung und -optimierung
    • Kompetenz-Bewertung
    • SEO

    Gesprochene Sprachen

    Ulf spricht fließend Deutsch und Englisch.

    • Deutsch (Muttersprache)
    • Englisch (mündlich und schriftlich)

    Ausbildung & Projekte

    Die folgende Liste soll einen Überblick über Ulfs Leben geben:

    ',13)),e("table",null,[r[18]||(r[18]=e("thead",null,[e("tr",null,[e("th",null,"Von"),e("th",null,"Bis"),e("th",null,"Beschreibung")])],-1)),e("tbody",null,[r[4]||(r[4]=e("tr",null,[e("td",null,"1995"),e("td",null,"2008"),e("td",null,[e("a",{href:"https://www.goethe-bensheim.de/",target:"_blank",rel:"noopener noreferrer"},"Abschluss"),n(" „Abitur“ (Note: 1,7)")])],-1)),r[5]||(r[5]=e("tr",null,[e("td",null,"2005"),e("td",null,"2009"),e("td",null,"Softwareentwicklung bei Evonik Energy Services")],-1)),r[6]||(r[6]=e("tr",null,[e("td",null,"2008"),e("td",null,"2009"),e("td",null,"Zivildienst")],-1)),r[7]||(r[7]=e("tr",null,[e("td",null,"2009"),e("td",null,"2013"),e("td",null,[n("Bachelor of Science - "),e("a",{href:"https://www.informatik.tu-darmstadt.de/fb20/index.de.jsp",target:"_blank",rel:"noopener noreferrer"},"Informatik"),n(" (Note: 2,25)")])],-1)),r[8]||(r[8]=e("tr",null,[e("td",null,"2011"),e("td",null,"2015"),e("td",null,[n("Wissenschaftlicher Mitarbeiter für die Datenplattform "),e("a",{href:"https://www.informatik.tu-darmstadt.de/telekooperation/research_tk/completed_projects_tk/da_sense/index.en.jsp",target:"_blank",rel:"noopener noreferrer"},"da-sense")])],-1)),r[9]||(r[9]=e("tr",null,[e("td",null,"2013"),e("td",null,"jetzt"),e("td",null,[e("a",{href:"https://www.webcraft-media.de",target:"_blank",rel:"noopener noreferrer"},"Webcraft-Media")])],-1)),r[10]||(r[10]=e("tr",null,[e("td",null,"2016"),e("td"),e("td",null,"Entwicklung eines Enterprise Resource Planning(erp) für Hi5-Textildruck")],-1)),r[11]||(r[11]=e("tr",null,[e("td",null,"2017"),e("td",null,"2019"),e("td",null,[n("Entwicklung, Planung und Umsetzung der "),e("a",{href:"https://www.democracy-deutschland.de",target:"_blank",rel:"noopener noreferrer"},"App „DEMOCRACY“")])],-1)),r[12]||(r[12]=e("tr",null,[e("td",null,"2019"),e("td"),e("td",null,[n("Teamkoordination & Planung für "),e("a",{href:"https://github.com/Human-Connection/Human-Connection",target:"_blank",rel:"noopener noreferrer"},"Human-Connection")])],-1)),r[13]||(r[13]=e("tr",null,[e("td",null,"2020"),e("td"),e("td",null,[n("Softwareentwicklung & Betrieb für "),e("a",{href:"https://github.com/ocelot-Social-Community/Ocelot-Social/",target:"_blank",rel:"noopener noreferrer"},"Ocelot.social"),n(" und "),e("a",{href:"https://wir.social/login",target:"_blank",rel:"noopener noreferrer"},"wir.social")])],-1)),r[14]||(r[14]=e("tr",null,[e("td",null,"2020"),e("td",null,"2021"),e("td",null,"Software-Entwicklung für Leratec Solutions in Halden(Norwegen)")],-1)),r[15]||(r[15]=e("tr",null,[e("td",null,"2020"),e("td"),e("td",null,"Software-Entwicklung für boxeez.com in Halden(Norwegen)")],-1)),e("tr",null,[r[2]||(r[2]=e("td",null,"2021",-1)),r[3]||(r[3]=e("td",null,"2022",-1)),e("td",null,[r[1]||(r[1]=n("Softwareentwicklung & Teamkoordination für ")),i(a,{to:"/projekte/gradido.html"},{default:s(()=>r[0]||(r[0]=[n("Gradido")])),_:1})])]),r[16]||(r[16]=e("tr",null,[e("td",null,"2022"),e("td",null,"2023"),e("td",null,[n("Software-Entwicklung für "),e("a",{href:"https://yunite.org/",target:"_blank",rel:"noopener noreferrer"},"yunite.me")])],-1)),r[17]||(r[17]=e("tr",null,[e("td",null,"2023"),e("td",null,"jetzt"),e("td",null,"Teamleitung & Software-Entwicklung für eine Videoplattform")],-1))])]),r[20]||(r[20]=t('

    Reisen

    Ulf reist zu Fuß, wenn es mal wieder Zeit ist den Computer eine Weile ausgeschaltet zu lassen.

    WannDauerBeschreibung
    20205,5 MonateReise von Zwingenberg(Bergstraße) nach Halden
    20212 WochenReise von Halden nach Gothenburg
    20214 WochenReise von Hamburg nach Berlin
    20211 WocheReise durch die Sächsische Schweiz & Böhmische Schweiz
    20225 MonateReise von Zwingenberg(Bergstraße) nach Portopalo di Capo Passero
    20243 MonateReise von Zwingenberg(Bergstraße) nach La Font Blanche

    Techstack

    Hier ist ein kurzer Überblick über die Computersprachen, Frameworks und Technologien, mit denen Ulf vertraut ist:

    Computersprachen

    Ulf hat mit den folgenden Programmiersprachen gearbeitet:

    Frameworks & Technologien

    Da die IT immer komplexer wird, ist es wichtig, mit welchen Frameworks man vertraut ist. Im Folgenden findest du eine unvollständige Liste von Ulfs Framework- und Technologiekenntnissen:

    Für Javascript:

    Für PHP

    Web Basics

    Cluster

    Linux

    Webserver

    Tools

    Datenbank

    Entwicklung

    ',28))])}const m=l(u,[["render",f]]),k=JSON.parse('{"path":"/team/ulf-gebhardt.html","title":"Ulf Gebhardt","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":2.6,"words":781},"filePathRelative":"team/ulf-gebhardt.md","excerpt":"\\n

    \\"Ulf

    \\n

    Ulf ist ein Softwareentwickler durch und durch. Er hat mit 12 Jahren angefangen zu programmieren und ist dabei geblieben. Er weiß um die Möglichkeiten, die Software und Hardware zu bieten haben, und ist die Person, an die man sich wendet, wenn es Zeit ist, eine neue Bibliothek einzubinden oder einen Algorithmus zu implementieren.

    "}');export{m as comp,k as data}; diff --git a/assets/utopia.map.html-8eIwcouy.js b/assets/utopia.map.html-8eIwcouy.js new file mode 100644 index 0000000..f87826e --- /dev/null +++ b/assets/utopia.map.html-8eIwcouy.js @@ -0,0 +1 @@ +import{_ as n,c as t,b as r,o as a}from"./app-DFzJ4zlk.js";const i={};function s(o,e){return a(),t("div",null,e[0]||(e[0]=[r('

    Utopia Map

    Lass deine Gemeinschaft wachsen – und gestalte dezentrale Netzwerke!

    Utopia bietet dir interaktive geografische Karten, die echte Verbindungen stärken und Zusammenarbeit auf Augenhöhe ermöglichen. Unsere Mission: Digitale Werkzeuge für lokale Aktionen zu schaffen, die Menschen und Gemeinschaften dazu befähigen, Verantwortung gemeinsam und selbstbestimmt zu übernehmen.

    • 🤝 Verbindungen im echten Leben: Erstelle dein Profil, platziere dich auf der Karte, entdecke Menschen in deiner Nähe und baue vertrauensvolle, lokale Netzwerke auf

    • ✨ Gemeinsam aktiv werden: Finde Gleichgesinnte, starte Projekte, sammle Ressourcen und baue regenerative Gemeinschaftsstrukturen mit auf

    • 🗺️ Mapping Real Change: Zeige ispirierende Projekte, mache Wandel sichtbar und motiviere zu kollektivem Handeln

    Maßgeschneiderte Karten für Gemeinschaften

    Mit Utopia kannst du Karten gestalten, die genau auf die Ziele deiner Community zugeschnitten sind. Nutze personalisierte Kategorien, Marker, Farben und Symbole – ergänzt durch individuell anpassbare Pop-ups und detaillierte Profile, die wichtige Informationen direkt zugänglich machen.

    Dank unseres modularen Frameworks kannst du die Karten flexibel für verschiedenste Anwendungsfälle einsetzen – überall dort, wo dezentrale lokale Koordination gebraucht wird. Schau dir unsere Anwendungsfällen und Beispielen an!

    Für fortgeschrittene Anforderungen kannst du mit unserer Utopia UI React-Komponenten-Bibliothek ganz einfach deine eigenen interaktiven Karten entwickeln.


    Website | GitHub | OpenCollective | Telegram | X

    ',10)]))}const p=n(i,[["render",s]]),u=JSON.parse('{"path":"/projekte/utopia.map.html","title":"Utopia Map","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":0.71,"words":212},"filePathRelative":"projekte/utopia.map.md","excerpt":"\\n

    Lass deine Gemeinschaft wachsen – und gestalte dezentrale Netzwerke!

    \\n

    Utopia bietet dir interaktive geografische Karten, die echte Verbindungen stärken und Zusammenarbeit auf Augenhöhe ermöglichen. Unsere Mission: Digitale Werkzeuge für lokale Aktionen zu schaffen, die Menschen und Gemeinschaften dazu befähigen, Verantwortung gemeinsam und selbstbestimmt zu übernehmen.

    "}');export{p as comp,u as data}; diff --git a/assets/wolfgang-huss.html-DbszMcod.js b/assets/wolfgang-huss.html-DbszMcod.js new file mode 100644 index 0000000..66df705 --- /dev/null +++ b/assets/wolfgang-huss.html-DbszMcod.js @@ -0,0 +1 @@ +import{_ as t,c as l,b as a,a as e,d as n,e as o,w as s,r as h,o as p}from"./app-DFzJ4zlk.js";const u="/images/portrait/Wolfgang_Huss.jpeg",g={};function c(d,r){const i=h("RouteLink");return p(),l("div",null,[r[6]||(r[6]=a('

    Wolfgang Huß

    Bild – Wolfgang Huß

    Seit meinem 14. Lebensjahr, also seit Anfang 1983, beschäftige ich mich nun schon mit Programmierung. Dabei bin ich durch mehrere Phasen interessanter technologischer Veränderungen gegangen und habe die neuen Technologien hauptsächlich autodidaktisch und in Pairing-Sitzungen erlernt.

    Programmieren ist wie das Erzählen einer interaktiven Geschichte, die oft auch eine gestalterisch visuelle Komponente hat. Mir gefällt besonders die künstlerisch strukturelle Ästetik, wenn ich komplexe Projekte in faszinierenden Programmiersprachen umsetze.

    So haben meine bisherigen Projekte in fast allen Fällen mit Grafik zu tun gehabt, bis hin zu meiner high-end großformat Drucksoftware Pjannto RIP, mit Farbkalibration für höchste Ansprüche meiner Kunden zum Druck auf diversen Drucker Marken und Geräten.
    Auch meine iPhone App FaceYourFace zur Spiegelung von Gesichtshälften zur Erstellung von doppellinken und doppelrechten Gesichtsbilder ist eine grafische Anwendung.

    Schließlich habe ich mich derzeit von der Entwicklung von Anwendungssoftware auf Desktop-Computern mehr in Richtung von Web-Anwendungen für Internet-Browser orientiert (Frontend). Dies schließt die Entwicklung von Server-Programmen (Backend) und den Einsatz von Datenbanken sowie auch die Server-Administration mit ein und kann ebenso das Projektmanagement und die Entwicklungsleitung umfassen, wie beim ocelot.social Projekt.

    Einer der Gründe dafür war, gerne im Team zu arbeiten, und mit agilen Methoden Software zu entwickeln.

    Und nicht zu letzt war ich 12 Jahre Inhaber einer „kleinen“ Werbeagentur (8 Mitarbeiter) in der wir Logos, Prospekte, Kataloge erstellt und als Schauwerbegestalter für die Anfertigung von Schildern, Ladenbeschriftungen, Messetafeln und vielem anderen tätig waren. Dabei kamen die gängigen Grafikprogramme zum Einsatz.
    Dies kommt mir heute auch bei der programmierung zu gute.

    Rolle

    • Projekt- und Entwicklungsleiter
      • Agile Methoden
    • Entwickler von Desktop-Anwendungen
    • Frontend-Entwickler
    • Backend-Entwickler
    • DevOps
      • Git und GitHub Code-Entwicklung
      • Server-Verwaltung
    • Tester
      • Einrichtung von Testumgebungen
      • Agiles Testen
      • Manuelles Testen
    • Designer
      • Corporate Design
      • UI (Benutzeroberfläche)

    Expertise & Projekte

    Ich habe an verschiedenen Projekten mitgewirkt und entwickelt:

    ',12)),e("ul",null,[r[3]||(r[3]=e("li",null,[n("Maintainer, Manager und Programmierer für "),e("a",{href:"https://github.com/Ocelot-Social-Community",target:"_blank",rel:"noopener noreferrer"},"ocelot.social project"),e("ul",null,[e("li",null,"Frontend-Entwicklung"),e("li",null,"Backend-Entwicklung"),e("li",null,"DevOps"),e("li",null,"UI (Benutzeroberfläche)"),e("li",null,"Testen")])],-1)),e("li",null,[r[1]||(r[1]=n("Mitarbeiter bei ")),o(i,{to:"/projekte/gradido.html"},{default:s(()=>r[0]||(r[0]=[n("Gradido Software Projekt")])),_:1}),r[2]||(r[2]=e("ul",null,[e("li",null,"Frontend-Entwicklung"),e("li",null,"Backend-Entwicklung"),e("li",null,"Server-Einrichtung")],-1))]),r[4]||(r[4]=e("li",null,[n("Inhaber der "),e("a",{href:"https://apps.apple.com/de/app/faceyourface/id1137963659",target:"_blank",rel:"noopener noreferrer"},"FaceYourFace"),n(" App für iOS "),e("ul",null,[e("li",null,"Entwickler")])],-1)),r[5]||(r[5]=e("li",null,[n("Eigentümer der App „Pjannto RIP“ für Windows "),e("ul",null,[e("li",null,"Entwickler")])],-1))]),r[7]||(r[7]=a('

    Ansätze & Werkzeuge

    Frontend-Entwicklung

    Backend-Entwicklung

    DevOps & Server Administration

    Testing

    Entwicklungsumgebungen

    Programmierung & Datenbank & Markup Sprachen

    Gesprochene Sprachen

    • Deutsch (Muttersprache)
    • Englisch (verhandlungssicher)

    Profil

    Weitere Interessen und Engagements

    Ich habe noch viele weitere Interessen und bin gesellschaftlich engagiert:

    ',20))])}const k=t(g,[["render",c]]),m=JSON.parse('{"path":"/team/wolfgang-huss.html","title":"Wolfgang Huß","lang":"de-DE","frontmatter":{},"git":{},"readingTime":{"minutes":1.99,"words":597},"filePathRelative":"team/wolfgang-huss.md","excerpt":"\\n

    Wolfgang Huß

    \\n

    \\"Bild

    \\n

    Seit meinem 14. Lebensjahr, also seit Anfang 1983, beschäftige ich mich nun schon mit Programmierung.\\nDabei bin ich durch mehrere Phasen interessanter technologischer Veränderungen gegangen und habe die neuen Technologien hauptsächlich autodidaktisch und in Pairing-Sitzungen erlernt.

    "}');export{k as comp,m as data}; diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..782b643 Binary files /dev/null and b/favicon.ico differ diff --git a/historie.html b/historie.html new file mode 100644 index 0000000..543ceac --- /dev/null +++ b/historie.html @@ -0,0 +1,41 @@ + + + + + + + + + + Historie | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/images/docs/architecture.drawio b/images/docs/architecture.drawio new file mode 100644 index 0000000..2f8f71e --- /dev/null +++ b/images/docs/architecture.drawio @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/docs/architecture.png b/images/docs/architecture.png new file mode 100644 index 0000000..ea6d548 Binary files /dev/null and b/images/docs/architecture.png differ diff --git a/images/hero-bg-desktop.jpg b/images/hero-bg-desktop.jpg new file mode 100644 index 0000000..d4a00db Binary files /dev/null and b/images/hero-bg-desktop.jpg differ diff --git a/images/hero-bg-mobile.jpg b/images/hero-bg-mobile.jpg new file mode 100644 index 0000000..185a82c Binary files /dev/null and b/images/hero-bg-mobile.jpg differ diff --git a/images/portrait/Wolfgang_Huss.jpeg b/images/portrait/Wolfgang_Huss.jpeg new file mode 100644 index 0000000..a29ba80 Binary files /dev/null and b/images/portrait/Wolfgang_Huss.jpeg differ diff --git a/images/portrait/hannes-heine.jpg b/images/portrait/hannes-heine.jpg new file mode 100644 index 0000000..a63ff72 Binary files /dev/null and b/images/portrait/hannes-heine.jpg differ diff --git a/images/portrait/max.jpg b/images/portrait/max.jpg new file mode 100644 index 0000000..0e184c1 Binary files /dev/null and b/images/portrait/max.jpg differ diff --git a/images/portrait/ml-portrait.jpg b/images/portrait/ml-portrait.jpg new file mode 100644 index 0000000..87fb6ba Binary files /dev/null and b/images/portrait/ml-portrait.jpg differ diff --git a/images/portrait/moriz-wahl.jpg b/images/portrait/moriz-wahl.jpg new file mode 100644 index 0000000..6a68ceb Binary files /dev/null and b/images/portrait/moriz-wahl.jpg differ diff --git a/images/portrait/sebastian-stein.jpg b/images/portrait/sebastian-stein.jpg new file mode 100644 index 0000000..f1d1238 Binary files /dev/null and b/images/portrait/sebastian-stein.jpg differ diff --git a/images/portrait/ulf-gebhardt.jpg b/images/portrait/ulf-gebhardt.jpg new file mode 100644 index 0000000..2844041 Binary files /dev/null and b/images/portrait/ulf-gebhardt.jpg differ diff --git a/images/projects/ocelot-newsfeed.png b/images/projects/ocelot-newsfeed.png new file mode 100644 index 0000000..fd64c97 Binary files /dev/null and b/images/projects/ocelot-newsfeed.png differ diff --git a/images/projects/ocelot.png b/images/projects/ocelot.png new file mode 100644 index 0000000..13286bd Binary files /dev/null and b/images/projects/ocelot.png differ diff --git a/images/projects/utopia-map-cropped.png b/images/projects/utopia-map-cropped.png new file mode 100644 index 0000000..d9afe7d Binary files /dev/null and b/images/projects/utopia-map-cropped.png differ diff --git a/images/projects/utopia-map.png b/images/projects/utopia-map.png new file mode 100644 index 0000000..c1d4d88 Binary files /dev/null and b/images/projects/utopia-map.png differ diff --git a/impressum.html b/impressum.html new file mode 100644 index 0000000..179bbe1 --- /dev/null +++ b/impressum.html @@ -0,0 +1,41 @@ + + + + + + + + + + Impressum | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..3dd324c --- /dev/null +++ b/index.html @@ -0,0 +1,41 @@ + + + + + + + + + + IT4C + + + + + +
    Technologie für den gesellschaftlichen Wandel
    IT4C ‒ Technologie für den gesellschaftlichen Wandel

    Wir sind Softwareentwickler, die deine alternative Vision verstehen und umsetzen. Mit technischer Expertise und persönlicher Betreuung unterstützen wir Projekte, die Positives bewirken.

    Leistungen

    In unserem IT Team for Change bündeln wir die Expertise engagierter Persönlichkeiten, die in den nachfolgenden Bereichen bewandert sind.

    Webentwicklung

    • Frontend
    • Responsive Design
    • Barrierefreiheit
    • Backend

    Hosting

    • Wordpress
    • Ocelot.social
    • Zugeschnittene Lösungen
    • Nachhaltige Serverinfrastrukturen

    Mobile Anwendungen

    • Android
    • iOS
    • PWA

    Beratung & Betreuung

    • Systemarchitektur
    • DevOps & Prozessbegleitung
    • Monitoring & Security
    • Technische Konzeption
    • Agiles Projektmanagement
    • Nachhaltigkeitsanalyse

    Software-Entwicklung

    • API-Entwicklung
    • Datenbank-Design
    • Performance-Optimierung
    • Deployment-Automatisierung
    • Code-Qualität & Testing

    Team & Werte

    Wir glauben an die Kraft von Technologie für positiven Wandel. Unser Team verbindet technische Expertise mit nachhaltigem Denken und sozialer Verantwortung.

    Unser Prozess

    01

    Kennenlernen & Vision

    Persönliches Gespräch und detaillierte Bedarfsanalyse

    02

    Agile Entwicklung

    Technische Konzeption und iterative Umsetzung mit kontinuierlichem Feedback und automatisierten Tests

    03

    Launch

    Deployment und Übergabe mit ausführlicher Dokumentation

    04

    Support

    Langfristige Betreuung und Weiterentwicklung

    Kontakt

    Wir freuen uns auf deine Nachricht. Als Ansprechpartner steht dir Ulf Gebhardt für deine Fragen gerne zur Verfügung.

    Ulf Gebhardt

    Telefon

    Nachricht

    + + + diff --git a/it4c-logo2-clean-bg_alpha-1024x1024.png b/it4c-logo2-clean-bg_alpha-1024x1024.png new file mode 100644 index 0000000..9cf1ba9 Binary files /dev/null and b/it4c-logo2-clean-bg_alpha-1024x1024.png differ diff --git a/it4c-logo2-clean-bg_alpha-128x128.png b/it4c-logo2-clean-bg_alpha-128x128.png new file mode 100644 index 0000000..76f25ff Binary files /dev/null and b/it4c-logo2-clean-bg_alpha-128x128.png differ diff --git a/it4c-logo2-clean-bg_black-1024x1024.png b/it4c-logo2-clean-bg_black-1024x1024.png new file mode 100644 index 0000000..efd15ab Binary files /dev/null and b/it4c-logo2-clean-bg_black-1024x1024.png differ diff --git a/it4c-logo2-clean-bg_black-128x128.png b/it4c-logo2-clean-bg_black-128x128.png new file mode 100644 index 0000000..ab5c76a Binary files /dev/null and b/it4c-logo2-clean-bg_black-128x128.png differ diff --git a/it4c.html b/it4c.html new file mode 100644 index 0000000..c463e0e --- /dev/null +++ b/it4c.html @@ -0,0 +1,41 @@ + + + + + + + + + + IT4C | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/kontakt.html b/kontakt.html new file mode 100644 index 0000000..bbc6d94 --- /dev/null +++ b/kontakt.html @@ -0,0 +1,41 @@ + + + + + + + + + + Kontakt | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/projekte/democracy.app.html b/projekte/democracy.app.html new file mode 100644 index 0000000..c534219 --- /dev/null +++ b/projekte/democracy.app.html @@ -0,0 +1,41 @@ + + + + + + + + + + DEMOCRACY App | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/projekte/gradido.html b/projekte/gradido.html new file mode 100644 index 0000000..3d930ab --- /dev/null +++ b/projekte/gradido.html @@ -0,0 +1,41 @@ + + + + + + + + + + Gradido | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/projekte/index.html b/projekte/index.html new file mode 100644 index 0000000..d74d3bb --- /dev/null +++ b/projekte/index.html @@ -0,0 +1,41 @@ + + + + + + + + + + Projekte | IT4C + + + + + + + + + diff --git a/projekte/ocelot.social.html b/projekte/ocelot.social.html new file mode 100644 index 0000000..1593343 --- /dev/null +++ b/projekte/ocelot.social.html @@ -0,0 +1,41 @@ + + + + + + + + + + Ocelot.Social | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/projekte/utopia.map.html b/projekte/utopia.map.html new file mode 100644 index 0000000..032cead --- /dev/null +++ b/projekte/utopia.map.html @@ -0,0 +1,41 @@ + + + + + + + + + + Utopia Map | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/slimsearch.worker.js b/slimsearch.worker.js new file mode 100644 index 0000000..d111438 --- /dev/null +++ b/slimsearch.worker.js @@ -0,0 +1,2 @@ +[...new Array(6)].map((e,t)=>`[vp-content] h${t+1}`).join(",");const{entries:$}=Object,{fromEntries:st}=Object,nt="ENTRIES",D="KEYS",W="VALUES",_="";class S{set;_type;_path;constructor(t,s){const n=t._tree,o=Array.from(n.keys());this.set=t,this._type=s,this._path=o.length>0?[{node:n,keys:o}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:s}=b(this._path);if(b(s)===_)return{done:!1,value:this.result()};const n=t.get(b(s));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=b(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>b(t)).filter(t=>t!==_).join("")}value(){return b(this._path).node.get(_)}result(){switch(this._type){case W:return this.value();case D:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const b=e=>e[e.length-1],ot=(e,t,s)=>{const n=new Map;if(typeof t!="string")return n;const o=t.length+1,r=o+s,i=new Uint8Array(r*o).fill(s+1);for(let c=0;c{const l=r*i;t:for(const u of e.keys())if(u===_){const h=o[l-1];h<=s&&n.set(c,[e.get(u),h])}else{let h=r;for(let f=0;fs)continue t}q(e.get(u),t,s,n,o,h,i,c+u)}};class z{_tree;_prefix;_size=void 0;constructor(t=new Map,s=""){this._tree=t,this._prefix=s}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[s,n]=I(this._tree,t.slice(this._prefix.length));if(s===void 0){const[o,r]=L(n);for(const i of o.keys())if(i!==_&&i.startsWith(r)){const c=new Map;return c.set(i.slice(r.length),o.get(i)),new z(c,t)}}return new z(s,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,rt(this._tree,t)}entries(){return new S(this,nt)}forEach(t){for(const[s,n]of this)t(s,n,this)}fuzzyGet(t,s){return ot(this._tree,t,s)}get(t){const s=F(this._tree,t);return s!==void 0?s.get(_):void 0}has(t){return F(this._tree,t)?.has(_)??!1}keys(){return new S(this,D)}set(t,s){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,E(this._tree,t).set(_,s),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=E(this._tree,t);return n.set(_,s(n.get(_))),this}fetch(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=E(this._tree,t);let o=n.get(_);return o===void 0&&n.set(_,o=s()),o}values(){return new S(this,W)}[Symbol.iterator](){return this.entries()}static from(t){const s=new z;for(const[n,o]of t)s.set(n,o);return s}static fromObject(t){return z.from(Object.entries(t))}}const I=(e,t,s=[])=>{if(t.length===0||e==null)return[e,s];for(const n of e.keys())if(n!==_&&t.startsWith(n))return s.push([e,n]),I(e.get(n),t.slice(n.length),s);return s.push([e,t]),I(void 0,"",s)},F=(e,t)=>{if(t.length===0||!e)return e;for(const s of e.keys())if(s!==_&&t.startsWith(s))return F(e.get(s),t.slice(s.length))},E=(e,t)=>{const s=t.length;t:for(let n=0;e&&n{const[s,n]=I(e,t);if(s!==void 0){if(s.delete(_),s.size===0)A(n);else if(s.size===1){const[o,r]=s.entries().next().value;R(n,o,r)}}},A=e=>{if(e.length===0)return;const[t,s]=L(e);if(t.delete(s),t.size===0)A(e.slice(0,-1));else if(t.size===1){const[n,o]=t.entries().next().value;n!==_&&R(e.slice(0,-1),n,o)}},R=(e,t,s)=>{if(e.length===0)return;const[n,o]=L(e);n.set(o+t,s),n.delete(o)},L=e=>e[e.length-1],it=(e,t)=>{const s=e._idToShortId.get(t);if(s!=null)return e._storedFields.get(s)},ct=/[\n\r\p{Z}\p{P}]+/u,j="or",N="and",ut="and_not",ht=(e,t)=>{e.includes(t)||e.push(t)},P=(e,t)=>{for(const s of t)e.includes(s)||e.push(s)},B=({score:e},{score:t})=>t-e,lt=()=>new Map,M=e=>{const t=new Map;for(const s of Object.keys(e))t.set(parseInt(s,10),e[s]);return t},G=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,H={[j]:(e,t)=>{for(const s of t.keys()){const n=e.get(s);if(n==null)e.set(s,t.get(s));else{const{score:o,terms:r,match:i}=t.get(s);n.score=n.score+o,n.match=Object.assign(n.match,i),P(n.terms,r)}}return e},[N]:(e,t)=>{const s=new Map;for(const n of t.keys()){const o=e.get(n);if(o==null)continue;const{score:r,terms:i,match:c}=t.get(n);P(o.terms,i),s.set(n,{score:o.score+r,terms:o.terms,match:Object.assign(o.match,c)})}return s},[ut]:(e,t)=>{for(const s of t.keys())e.delete(s);return e}},dt=(e,t,s,n,o,r)=>{const{k:i,b:c,d:l}=r;return Math.log(1+(s-t+.5)/(t+.5))*(l+e*(i+1)/(e+i*(1-c+c*n/o)))},at=e=>(t,s,n)=>({term:t,fuzzy:typeof e.fuzzy=="function"?e.fuzzy(t,s,n):e.fuzzy??!1,prefix:typeof e.prefix=="function"?e.prefix(t,s,n):e.prefix===!0,termBoost:typeof e.boostTerm=="function"?e.boostTerm(t,s,n):1}),J=(e,t,s,n)=>{for(const o of Object.keys(e._fieldIds))if(e._fieldIds[o]===s){e._options.logger("warn",`SlimSearch: document with ID ${e._documentIds.get(t)} has changed before removal: term "${n}" was not present in field "${o}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}},ft=(e,t,s,n)=>{if(!e._index.has(n)){J(e,s,t,n);return}const o=e._index.fetch(n,lt),r=o.get(t),i=r?.get(s);!r||typeof i>"u"?J(e,s,t,n):i<=1?r.size<=1?o.delete(t):r.delete(s):r.set(s,i-1),e._index.get(n).size===0&&e._index.delete(n)},mt={k:1.2,b:.7,d:.5},gt={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(ct),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{console?.[e]?.(t)},autoVacuum:!0},Y={combineWith:j,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:mt},pt={combineWith:N,prefix:(e,t,s)=>t===s.length-1},_t={batchSize:1e3,batchWait:10},K={minDirtFactor:.1,minDirtCount:20},yt={..._t,...K},U=Symbol("*"),wt=(e,t)=>{const s=new Map,n={...e._options.searchOptions,...t};for(const[o,r]of e._documentIds){const i=n.boostDocument?n.boostDocument(r,"",e._storedFields.get(o)):1;s.set(o,{score:i,terms:[],match:{}})}return s},Q=(e,t=j)=>{if(e.length===0)return new Map;const s=t.toLowerCase();if(!(s in H))throw new Error(`Invalid combination operator: ${t}`);return e.reduce(H[s])},T=(e,t,s,n,o,r,i,c,l,u=new Map)=>{if(r==null)return u;for(const h of Object.keys(i)){const f=i[h],m=e._fieldIds[h],g=r.get(m);if(g==null)continue;let y=g.size;const d=e._avgFieldLength[m];for(const a of g.keys()){if(!e._documentIds.has(a)){ft(e,m,a,s),y-=1;continue}const w=c?c(e._documentIds.get(a),s,e._storedFields.get(a)):1;if(!w)continue;const p=g.get(a),O=e._fieldLength.get(a)[m],C=dt(p,y,e._documentCount,O,d,l),k=n*o*f*w*C,x=u.get(a);if(x){x.score+=k,ht(x.terms,t);const v=G(x.match,s);v?v.push(h):x.match[s]=[h]}else u.set(a,{score:k,terms:[t],match:{[s]:[h]}})}}return u},xt=(e,t,s)=>{const n={...e._options.searchOptions,...s},o=(n.fields??e._options.fields).reduce((d,a)=>({...d,[a]:G(n.boost,a)||1}),{}),{boostDocument:r,weights:i,maxFuzzy:c,bm25:l}=n,{fuzzy:u,prefix:h}={...Y.weights,...i},f=e._index.get(t.term),m=T(e,t.term,t.term,1,t.termBoost,f,o,r,l);let g,y;if(t.prefix&&(g=e._index.atPrefix(t.term)),t.fuzzy){const d=t.fuzzy===!0?.2:t.fuzzy,a=d<1?Math.min(c,Math.round(t.term.length*d)):d;a&&(y=e._index.fuzzyGet(t.term,a))}if(g)for(const[d,a]of g){const w=d.length-t.term.length;if(!w)continue;y?.delete(d);const p=h*d.length/(d.length+.3*w);T(e,t.term,d,p,t.termBoost,a,o,r,l,m)}if(y)for(const d of y.keys()){const[a,w]=y.get(d);if(!w)continue;const p=u*d.length/(d.length+w);T(e,t.term,d,p,t.termBoost,a,o,r,l,m)}return m},X=(e,t,s={})=>{if(t===U)return wt(e,s);if(typeof t!="string"){const h={...s,...t,queries:void 0},f=t.queries.map(m=>X(e,m,h));return Q(f,h.combineWith)}const{tokenize:n,processTerm:o,searchOptions:r}=e._options,i={tokenize:n,processTerm:o,...r,...s},{tokenize:c,processTerm:l}=i,u=c(t).flatMap(h=>l(h)).filter(h=>!!h).map(at(i)).map(h=>xt(e,h,i));return Q(u,i.combineWith)},Z=(e,t,s={})=>{const{searchOptions:n}=e._options,o={...n,...s},r=X(e,t,s),i=[];for(const[c,{score:l,terms:u,match:h}]of r){const f=u.length||1,m={id:e._documentIds.get(c),score:l*f,terms:Object.keys(h),queryTerms:u,match:h};Object.assign(m,e._storedFields.get(c)),(o.filter==null||o.filter(m))&&i.push(m)}return t===U&&o.boostDocument==null||i.sort(B),i},zt=(e,t,s={})=>{s={...e._options.autoSuggestOptions,...s};const n=new Map;for(const{score:r,terms:i}of Z(e,t,s)){const c=i.join(" "),l=n.get(c);l!=null?(l.score+=r,l.count+=1):n.set(c,{score:r,terms:i,count:1})}const o=[];for(const[r,{score:i,terms:c,count:l}]of n)o.push({suggestion:r,terms:c,score:i/l});return o.sort(B),o};class bt{_options;_index;_documentCount;_documentIds;_idToShortId;_fieldIds;_fieldLength;_avgFieldLength;_nextId;_storedFields;_dirtCount;_currentVacuum;_enqueuedVacuum;_enqueuedVacuumConditions;constructor(t){if(!t?.fields)throw new Error('SlimSearch: option "fields" must be provided');const s=t.autoVacuum==null||t.autoVacuum===!0?yt:t.autoVacuum;this._options={...gt,...t,autoVacuum:s,searchOptions:{...Y,...t.searchOptions},autoSuggestOptions:{...pt,...t.autoSuggestOptions}},this._index=new z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=K,this.addFields(this._options.fields)}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}get documentCount(){return this._documentCount}get termCount(){return this._index.size}toJSON(){const t=[];for(const[s,n]of this._index){const o={};for(const[r,i]of n)o[r]=Object.fromEntries(i);t.push([s,o])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,version:2}}addFields(t){for(let s=0;snew bt(e),kt=({documentCount:e,nextId:t,fieldIds:s,averageFieldLength:n,dirtCount:o,version:r},i)=>{if(r!==2)throw new Error("SlimSearch: cannot deserialize an index created with an incompatible version");const c=vt(i);return c._documentCount=e,c._nextId=t,c._idToShortId=new Map,c._fieldIds=s,c._avgFieldLength=n,c._dirtCount=o??0,c._index=new z,c},It=(e,t)=>{const{index:s,documentIds:n,fieldLength:o,storedFields:r}=e,i=kt(e,t);i._documentIds=M(n),i._fieldLength=M(o),i._storedFields=M(r);for(const[c,l]of i._documentIds)i._idToShortId.set(l,c);for(const[c,l]of s){const u=new Map;for(const h of Object.keys(l))u.set(parseInt(h,10),M(l[h]));i._index.set(c,u)}return i},V=(e,t)=>{const s=e.toLowerCase(),n=t.toLowerCase(),o=[];let r=0,i=0;const c=(u,h=!1)=>{let f;i===0?f=u.length>20?`… ${u.slice(-20)}`:u:h?f=u.length+i>100?`${u.slice(0,100-i)}… `:u:f=u.length>20?`${u.slice(0,20)} … ${u.slice(-20)}`:u,f&&o.push(f),i+=f.length,h||(o.push(["mark",t]),i+=t.length,i>=100&&o.push(" …"))};let l=s.indexOf(n,r);if(l===-1)return null;for(;l>=0;){const u=l+n.length;if(c(e.slice(r,l)),r=u,i>100)break;l=s.indexOf(n,r)}return i<100&&c(e.slice(r),!0),o},Mt=(e,t)=>t.contents.reduce((s,[,n])=>s+n,0)-e.contents.reduce((s,[,n])=>s+n,0),Ot=(e,t)=>Math.max(...t.contents.map(([,s])=>s))-Math.max(...e.contents.map(([,s])=>s)),tt=(e,t,s={})=>{const n={};return Z(t,e,{boost:{h:2,t:1,c:4},prefix:!0,...s}).forEach(o=>{const{id:r,terms:i,score:c}=o,l=r.includes("@"),u=r.includes("#"),[h,f]=r.split(/[#@]/),m=Number(h),g=i.sort((d,a)=>d.length-a.length).filter((d,a)=>i.slice(a+1).every(w=>!w.includes(d))),{contents:y}=n[m]??={title:"",contents:[]};if(l)y.push([{type:"customField",id:m,index:f,display:g.map(d=>o.c.map(a=>V(a,d))).flat().filter(d=>d!==null)},c]);else{const d=g.map(a=>V(o.h,a)).filter(a=>a!==null);if(d.length&&y.push([{type:u?"heading":"title",id:m,...u&&{anchor:f},display:d},c]),"t"in o&&o.t)for(const a of o.t){const w=g.map(p=>V(a,p)).filter(p=>p!==null);w.length&&y.push([{type:"text",id:m,...u&&{anchor:f},display:w},c])}}}),$(n).sort(([,o],[,r])=>"max"==="total"?Mt(o,r):Ot(o,r)).map(([o,{title:r,contents:i}])=>{if(!r){const c=it(t,o);c&&(r=c.h)}return{title:r,contents:i.map(([c])=>c)}})},et=(e,t,s={})=>{const n=zt(t,e,{fuzzy:.2,maxFuzzy:3,...s}).map(({suggestion:o})=>o);return e.includes(" ")?n:n.filter(o=>!o.includes(" "))},Ct=st($(JSON.parse("{\"/\":{\"documentCount\":106,\"nextId\":106,\"documentIds\":{\"0\":\"0\",\"1\":\"0#human-connection\",\"2\":\"0#ocelot-social-ende-von-human-connection\",\"3\":\"0#gradido\",\"4\":\"0#yunite-me\",\"5\":\"0#it4c\",\"6\":\"1\",\"7\":\"1#haftungsausschluss\",\"8\":\"1#haftung-fur-inhalte\",\"9\":\"1#haftung-fur-links\",\"10\":\"1#urheberrecht\",\"11\":\"1#datenschutz\",\"12\":\"1#rechtswirksamkeit-dieses-haftungsausschlusses\",\"13\":\"2\",\"14\":\"3\",\"15\":\"3#projekte\",\"16\":\"3#mitglieder-und-mitarbeiter\",\"17\":\"4\",\"18\":\"4#fur-entwickler\",\"19\":\"4#fur-kunden\",\"20\":\"5\",\"21\":\"5#techstack\",\"22\":\"6\",\"23\":\"6#techstack\",\"24\":\"7\",\"25\":\"8\",\"26\":\"8#maßgeschneiderte-karten-fur-gemeinschaften\",\"27\":\"9\",\"28\":\"9#rolle\",\"29\":\"9#fachwissen-projekte\",\"30\":\"9#frontend-entwicklung\",\"31\":\"9#backend-entwicklung\",\"32\":\"9#devops\",\"33\":\"9#testing\",\"34\":\"9#programmierung-datenbank-auszeichnungssprachen\",\"35\":\"9#gesprochene-sprachen\",\"36\":\"9#profil\",\"37\":\"10\",\"38\":\"10#prasentation\",\"39\":\"10#arbeit\",\"40\":\"10#arbeit-in-festanstellung\",\"41\":\"10#freiberufliche-projekte\",\"42\":\"10#rolle\",\"43\":\"10#gesprochene-sprachen\",\"44\":\"10#programmiersprachen-und-frameworks\",\"45\":\"10#fur-javascript\",\"46\":\"10#fur-java\",\"47\":\"10#fur-php\",\"48\":\"10#web-basics\",\"49\":\"10#webserver\",\"50\":\"10#datenbank\",\"51\":\"10#entwicklung\",\"52\":\"11\",\"53\":\"11#rolle\",\"54\":\"11#expertise-projekte\",\"55\":\"11#ansatze-werkzeuge\",\"56\":\"11#testverfahren\",\"57\":\"11#testautomatisierung\",\"58\":\"11#testmanagement-reporting\",\"59\":\"11#computersprachen\",\"60\":\"11#weitere-engagements-und-interessen\",\"61\":\"11#gesprochene-sprachen\",\"62\":\"11#profil\",\"63\":\"12\",\"64\":\"13\",\"65\":\"13#rolle\",\"66\":\"13#gesprochene-sprachen\",\"67\":\"13#expertise-projekte\",\"68\":\"13#computersprachen\",\"69\":\"14\",\"70\":\"14#story\",\"71\":\"14#rolle\",\"72\":\"14#sprachen\",\"73\":\"15\",\"74\":\"15#rolle\",\"75\":\"15#gesprochene-sprachen\",\"76\":\"15#ausbildung-projekte\",\"77\":\"15#reisen\",\"78\":\"15#techstack\",\"79\":\"15#computersprachen\",\"80\":\"15#frameworks-technologien\",\"81\":\"15#fur-javascript\",\"82\":\"15#fur-php\",\"83\":\"15#web-basics\",\"84\":\"15#cluster\",\"85\":\"15#linux\",\"86\":\"15#webserver\",\"87\":\"15#tools\",\"88\":\"15#datenbank\",\"89\":\"15#entwicklung\",\"90\":\"16\",\"91\":\"16#rolle\",\"92\":\"16#expertise-projekte\",\"93\":\"16#ansatze-werkzeuge\",\"94\":\"16#frontend-entwicklung\",\"95\":\"16#backend-entwicklung\",\"96\":\"16#devops-server-administration\",\"97\":\"16#testing\",\"98\":\"16#entwicklungsumgebungen\",\"99\":\"16#programmierung-datenbank-markup-sprachen\",\"100\":\"16#gesprochene-sprachen\",\"101\":\"16#profil\",\"102\":\"16#weitere-interessen-und-engagements\",\"103\":\"17\",\"104\":\"18\",\"105\":\"19\"},\"fieldIds\":{\"h\":0,\"t\":1,\"c\":2},\"fieldLength\":{\"0\":[1,63],\"1\":[2,57],\"2\":[6,43],\"3\":[1,57],\"4\":[2,36],\"5\":[1,34],\"6\":[1,31],\"7\":[2],\"8\":[3,90],\"9\":[3,68],\"10\":[1,39],\"11\":[1,95],\"12\":[3,45],\"13\":[1,30],\"14\":[1,155],\"15\":[1,18],\"16\":[3,16],\"17\":[1,35],\"18\":[2,70],\"19\":[2,65],\"20\":[2,54],\"21\":[1,7],\"22\":[1,64],\"23\":[1,25],\"24\":[2,67],\"25\":[2,81],\"26\":[4,78],\"27\":[2,33],\"28\":[1,5],\"29\":[2,23],\"30\":[2,4],\"31\":[2,4],\"32\":[1,2],\"33\":[1,3],\"34\":[3,6],\"35\":[2,8],\"36\":[1,1],\"37\":[2],\"38\":[1,81],\"39\":[1],\"40\":[3,66],\"41\":[2,67],\"42\":[1,10],\"43\":[2,8],\"44\":[3,19],\"45\":[2,8],\"46\":[2,6],\"47\":[2,2],\"48\":[2,6],\"49\":[1,3],\"50\":[1,4],\"51\":[1,5],\"52\":[1,64],\"53\":[1,17],\"54\":[2,46],\"55\":[2],\"56\":[1,16],\"57\":[1,13],\"58\":[2,11],\"59\":[1,7],\"60\":[4,18],\"61\":[2,5],\"62\":[1,1],\"63\":[2,105],\"64\":[2,19],\"65\":[1,9],\"66\":[2,8],\"67\":[2,53],\"68\":[1,16],\"69\":[2,54],\"70\":[1,77],\"71\":[1,4],\"72\":[1,7],\"73\":[2,73],\"74\":[1,21],\"75\":[2,10],\"76\":[2,89],\"77\":[1,52],\"78\":[1,16],\"79\":[1,21],\"80\":[2,27],\"81\":[3,8],\"82\":[2,4],\"83\":[2,4],\"84\":[1,2],\"85\":[1,4],\"86\":[1,3],\"87\":[1,9],\"88\":[1,7],\"89\":[1,12],\"90\":[2,190],\"91\":[1,30],\"92\":[2,39],\"93\":[2],\"94\":[2,3],\"95\":[2,3],\"96\":[3,4],\"97\":[1,3],\"98\":[1,4],\"99\":[4,10],\"100\":[2,5],\"101\":[1,1],\"102\":[4,61],\"103\":[1,3],\"104\":[1],\"105\":[1]},\"averageFieldLength\":[1.7169811320754718,31.414930526406923],\"storedFields\":{\"0\":{\"h\":\"Historie\",\"t\":[\"Dieser Abschnitt gibt einen Überblick darüber, wann welche Person ein Mitglied unseres Teams wurde und wie IT4C entstanden ist.\",\"Alles begann ca. 2017, als Alex, der die ursprüngliche Website für das DEMOCRACY-Projekt erstellte, sich mit Ulf in Karlsruhe traf, um den Stand der zu diesem Zeitpunkt an Universitäten verfügbaren Wahlmethoden zu evaluieren. Ulf begann mit DEMOCRACY zu arbeiten und als das Projekt seinen öffentlichen Auftritt hatte, nahm Wolle Kontakt auf, um als Influencer mit dem Projekt zu arbeiten.\"]},\"1\":{\"h\":\"Human Connection\",\"t\":[\"Die meisten von uns trafen sich 2019 wieder auf der Human Connection. Diesmal alle als Entwickler, um das angedachte soziale Netzwerk zu implementieren. Wolle war der erste, gefolgt von Alex und Ulf. Während Ulf wieder zu DEMOCRACY ging, meldete sich Hannes freiwillig und Moriz stieß zum Team. Das Projekt Human Connection endete 2020 und die entstandene Software wurde fortan unter dem Name ocelot.social weiter gepflegt.\"]},\"2\":{\"h\":\"Ocelot.Social - Ende von Human Connection\",\"t\":[\"Im letzten Quartal 2020 wurde Human Connection als Projekt beendet und der Quellcode unter dem Namen ocelot.social neu veröffentlicht. Wolle, Alex, Ulf und Moriz führten das Projekt weiter und veröffentlichten wir.social, um ocelot.social am Leben zu erhalten. Lasst uns das soziale Netzwerk live auf stage.ocelot.social ausprobieren.\"]},\"3\":{\"h\":\"Gradido\",\"t\":[\"Im Jahr 2021 hat sich ein Großteil des Teams dem Projekt Gradido angeschlossen. Wie immer war unser Scout Alex der erste, gefolgt von Ulf, der zu dieser Zeit in Norwegen wohnte. Bald darauf stieß Moriz dazu, und im Sommer 2021 kam Hannes an Bord. Als Ulf eine Reise nach Italien antrat, konnte Wolle schließlich überzeugt werden, sich anzuschließen, bald gefolgt von Mathias.\"]},\"4\":{\"h\":\"Yunite.me\",\"t\":[\"Im Jahr 2022 trat das Yunite-Team an das Team heran, um ein neues soziales Netzwerk auf Basis von ocelot.social auf die Beine zu stellen. Das neue Netzwerk wurde am 01.11.2022 unter dem Namen yunite.me veröffentlicht.\"]},\"5\":{\"h\":\"IT4C\",\"t\":[\"Mit Beginn des Jahres 2023 wurde IT4C as Name für das Entwicklerkollektiv gefunden und die [Website] (https://www.it4c.dev) eingerichtet, um es den Teammitgliedern zu ermöglichen, sich selbst und das Team als Ganzes zu präsentieren.\"]},\"6\":{\"h\":\"Impressum\",\"t\":[\"Angaben gemäß § 5 TMG\",\"Ulf Gebhardt Alsbacher Str. 22 64673 Zwingenberg Deutschland Telefon: +49 157 8484 1600 E-Mail: info@it4c.dev\",\"Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV:\",\"Ulf Gebhardt Alsbacher Str. 22 64673 Zwingenberg Deutschland\"]},\"7\":{\"h\":\"Haftungsausschluss:\"},\"8\":{\"h\":\"Haftung für Inhalte\",\"t\":[\"Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.\"]},\"9\":{\"h\":\"Haftung für Links\",\"t\":[\"Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.\"]},\"10\":{\"h\":\"Urheberrecht\",\"t\":[\"Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Solltest du trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.\"]},\"11\":{\"h\":\"Datenschutz\",\"t\":[\"Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne deine ausdrückliche Zustimmung nicht an Dritte weitergegeben. Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich. Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.\"]},\"12\":{\"h\":\"Rechtswirksamkeit dieses Haftungsausschlusses\",\"t\":[\"Dieser Haftungsausschluss ist als Teil des Internetangebotes zu betrachten, von dem aus auf diese Seite verwiesen wurde. Sofern Teile oder einzelne Formulierungen dieses Textes der geltenden Rechtslage nicht, nicht mehr oder nicht vollständig entsprechen sollten, bleiben die übrigen Teile des Dokumentes in ihrem Inhalt und ihrer Gültigkeit davon unberührt.\"]},\"13\":{\"h\":\"\",\"t\":[\" IT4C ‒ Technologie für den gesellschaftlichen Wandel \",\" Wir sind Softwareentwickler, die deine alternative Vision verstehen und umsetzen. Mit technischer Expertise und persönlicher Betreuung unterstützen wir Projekte, die Positives bewirken. \",\"Projekt startenUnsere Leistungen\"]},\"14\":{\"h\":\"IT4C\",\"t\":[\"IT Team for Change (IT4C) ist ein Team von Softwareentwicklern, das gemeinsam Software entwickelt. Unser Fokus liegt auf Out-of-the-Box-Projekten und disruptiver Ziviltechnik, um zum unvermeidlichen Wandel unserer Gesellschaft beizutragen.\",\"Wir glauben an einen Arbeitsprozess, der genau das richtige Maß an Autorität hat, um vernünftige Entscheidungen zu treffen, uns zu koordinieren und somit unsere Ziele zu erreichen. Die Leitung kann je nach Fachwissen und Verfügbarkeit zwischen den Teammitgliedern wechseln. Außerdem glauben wir, dass jeder, der seine Arbeit gerne macht, effektiver ist, als wenn er dazu gezwungen wird. Wir stellen sicher, dass jedes Mitglied die größtmögliche Freiheit hat, wie es arbeiten möchte.\",\"Wir sind ein Team, das über ganz Europa verteilt ist und manchmal sogar darüber hinaus. Der Kern des Teams arbeitet seit 2019 zusammen - siehe Historie. Unser gemeinsamer Nenner neben der Liebe zu sozialen Projekten und der Computertechnologie ist die deutsche Sprache, auch wenn die meiste professionelle Arbeit auf Englisch stattfindet.\",\"Eines unserer Prinzipien, um Projekte nicht unwartbar zu machen, ist die Verbreitung von Wissen innerhalb des Teams und die Rekrutierung neuer Mitglieder, die lernen wollen, wie wir Softwareentwicklung betreiben. Wir leben den agilen Prozess mit kurzen Release-Zyklen und wöchentlichen Feedback-Schleifen, um sicherzustellen, dass unsere Software tatsächlich die Bedürfnisse unserer Auftraggeber und Nutzer erfüllt.\"]},\"15\":{\"h\":\"Projekte\",\"t\":[\"Einige Projekte, auf die wir stolz sind:\",\"DEMOCRACY App\",\"Human-Connection \",\"Ocelot.social\",\"wir.social \",\"sender.fm \",\"Yunite.me \",\"Gradido\"]},\"16\":{\"h\":\"Mitglieder und Mitarbeiter\",\"t\":[\"Alexander Friedland\",\"Hannes Heine\",\"Mathias Lenz\",\"Maximilian Harz\",\"Moriz Wahl\",\"Sebastian Stein\",\"Ulf Gebhardt\",\"Wolfgang Huß\"]},\"17\":{\"h\":\"Kontakt\",\"t\":[\"Ob auf der Suche nach erfahrenen Entwicklern, um deine Geschäftsidee zu implementieren, ein bestehendes Team zu erweitern - oder bei Interesse an Zusammenarbeit: Nimm Kontakt mit uns auf!\",\"Wir sind per E-Mail oder Mobiltelefon erreichbar (Deutsch oder Englisch).\"]},\"18\":{\"h\":\"Für Entwickler\",\"t\":[\"Wenn du als Entwickler mit uns arbeiten möchtest, zeige uns gern dein Github Profil oder einen Lebenslauf.\",\"Auch wenn du kein gutes Github-Profil hast oder gerade dein Studium abgeschlossen hast, kannst du uns gerne kontaktieren, wenn du daran interessiert bist, in einer professionellen Entwicklerumgebung zu arbeiten. Wir helfen dir dabei, dich in moderne Arbeitsabläufe, Technologien und das Innenleben eines Remote-Teams einzuarbeiten. Es wäre schön, wenn du IT aus Hingabe, nicht aus der Not heraus machst.\",\"Auch über unseren Telegram Kanal kann man mit uns in Kontakt treten.\"]},\"19\":{\"h\":\"Für Kunden\",\"t\":[\"Wenn du auf der Suche nach einem Entwicklerteam bist und unsere Expertise in Anspruch nehmen willst, schicke uns bitte eine detaillierte Projektbeschreibung, in der Ziele, Zeitrahmen, die sozialen Auswirkungen und die Frage, ob das Projekt Open- oder Closed-Source sein soll.\",\"Wir werden mit dir zusammen arbeiten, um die Ziele auf nachhaltige Weise zu erreichen und sorgen dafür, das Wissen innerhalb des Teams zu verbreiten und bringen uns gern in deine bestehende IT-Abteilung ein, um die Skalierbarkeit zu gewährleisten.\"]},\"20\":{\"h\":\"DEMOCRACY App\",\"t\":[\"Die DEMOCRACY App ist ein Open-Source-Projekt, das die Gesetze und Beschlüsse des Deutschen Bundestages mit all ihren Dokumenten sammelt. Dann gibt sie ihren Nutzern die Möglichkeit, für jede Entscheidung, die das Parlament zu treffen hat, abzustimmen (annehmen, ablehnen oder enthalten). Nach der Abstimmung können die Benutzer in Prozenten sehen, wie viele Personen zugestimmt, abgelehnt oder sich enthalten haben.\"]},\"21\":{\"h\":\"Techstack\",\"t\":[\"Das Backend ist in TypeScript geschrieben.\"]},\"22\":{\"h\":\"Gradido\",\"t\":[\"Gradido ist ein Projekt, das eine alternative Währung zum Fiatgeld schaffen will.\",\"Dazu haben wir Bernd Hückstedt bei der Umsetzung seiner Idee geholfen. Alexander Friedland entdeckte das Projekt und arbeitete als Frontend-Entwickler. Ulf Gebhardt war der Project Owner und der Dev-Op. Moriz Wahl war verantwortlich für das Backend und die Unit-Tests. Hannes Heine arbeitete am Backend und war agiler Coach. Mathias Lenz erstellte die End-to-End-Testszenarien und den Dev-Op. Wolfgang Huß hat ebenfalls am Backend gearbeitet.\"]},\"23\":{\"h\":\"Techstack\",\"t\":[\"Das Frontend ist in Vue2 geschrieben. Das Backend verwendet NodeJS, Apollo, GraphQL. Die Datenbank ist auf der SQL-Plattform MariaDB. Die End-to-End Tests sind mit Cypress geschrieben.\"]},\"24\":{\"h\":\"Ocelot.Social\",\"t\":[\"Dieses Projekt begann unter dem Namen Human Connection. Die Idee war, eine Alternative für soziale Netzwerke wie Facebook, Instagram oder TikTok zu schaffen, bei der die Nutzer nicht das Produkt sind. Nach der Schließung des Netzwerks von Human Connection wurde die Open-Source-Software weiterentwickelt.\",\"Ocelot.social kann durch beliebige Betreiber auf eigenen Servern gehostet, mit eigenem Branding und zu eignen Nutzungsbedingungen angeboten werden. Es kann individuell konfiguriert werden und ist skalierbar sowie erweiterbar.\"]},\"25\":{\"h\":\"Utopia Map\",\"t\":[\"Lass deine Gemeinschaft wachsen – und gestalte dezentrale Netzwerke!\",\"Utopia bietet dir interaktive geografische Karten, die echte Verbindungen stärken und Zusammenarbeit auf Augenhöhe ermöglichen. Unsere Mission: Digitale Werkzeuge für lokale Aktionen zu schaffen, die Menschen und Gemeinschaften dazu befähigen, Verantwortung gemeinsam und selbstbestimmt zu übernehmen.\",\"🤝 Verbindungen im echten Leben: Erstelle dein Profil, platziere dich auf der Karte, entdecke Menschen in deiner Nähe und baue vertrauensvolle, lokale Netzwerke auf\",\"✨ Gemeinsam aktiv werden: Finde Gleichgesinnte, starte Projekte, sammle Ressourcen und baue regenerative Gemeinschaftsstrukturen mit auf\",\"🗺️ Mapping Real Change: Zeige ispirierende Projekte, mache Wandel sichtbar und motiviere zu kollektivem Handeln\"]},\"26\":{\"h\":\"Maßgeschneiderte Karten für Gemeinschaften\",\"t\":[\"Mit Utopia kannst du Karten gestalten, die genau auf die Ziele deiner Community zugeschnitten sind. Nutze personalisierte Kategorien, Marker, Farben und Symbole – ergänzt durch individuell anpassbare Pop-ups und detaillierte Profile, die wichtige Informationen direkt zugänglich machen.\",\"Dank unseres modularen Frameworks kannst du die Karten flexibel für verschiedenste Anwendungsfälle einsetzen – überall dort, wo dezentrale lokale Koordination gebraucht wird. Schau dir unsere Anwendungsfällen und Beispielen an!\",\"Für fortgeschrittene Anforderungen kannst du mit unserer Utopia UI React-Komponenten-Bibliothek ganz einfach deine eigenen interaktiven Karten entwickeln.\",\"Website | GitHub | OpenCollective | Telegram | X\"]},\"27\":{\"h\":\"Alexander Friedland\",\"t\":[\"Seit 1999 bin ich Webentwickler. Ein Studium habe ich nicht, ich bin Quereinsteiger und habe mir alles selber beigebracht. Javascript ist meine Stärke. Ich kann Frontend mäßig alles basteln was gewünscht wird. Ich habe bei sehr vielen Projekten mitgemacht.\"]},\"28\":{\"h\":\"Rolle\",\"t\":[\"Entwickler von Desktop-Anwendungen\",\"Frontend-Entwickler\"]},\"29\":{\"h\":\"Fachwissen & Projekte\",\"t\":[\"Ich habe an verschiedenen Projekten mitgewirkt und entwickelt:\",\"Programmierer für ocelot.social project\",\"Frontend-Entwicklung\",\"DevOps \",\"GitHub\",\"UI (Benutzeroberfläche)\",\"Testen \",\"Manuelles Testen\",\"Programmierer für Gradido-Softwareprojekt\",\"Frontend-Entwicklung\"]},\"30\":{\"h\":\"Frontend-Entwicklung\",\"t\":[\"Javascript\",\"Vue\",\"Nuxt\",\"BootstrapVue\"]},\"31\":{\"h\":\"Backend-Entwicklung\",\"t\":[\"Node\",\"Neo4j\",\"IPFS\",\"PHP\"]},\"32\":{\"h\":\"DevOps\",\"t\":[\"Docker\",\"GitHub\"]},\"33\":{\"h\":\"Testing\",\"t\":[\"Jest\",\"Cypress\",\"Cucumber\"]},\"34\":{\"h\":\"Programmierung, Datenbank & Auszeichnungssprachen\",\"t\":[\"Javascript\",\"GraphQL\",\"Cypher\",\"HTML\",\"CSS\",\"PostScript\"]},\"35\":{\"h\":\"Gesprochene Sprachen\",\"t\":[\"German (native speaker)\",\"English (read and write)\"]},\"36\":{\"h\":\"Profil\",\"t\":[\"Github\"]},\"37\":{\"h\":\"Hannes Heine\"},\"38\":{\"h\":\"Präsentation\",\"t\":[\"Ich bin in Deutschland geboren und in Frankreich aufgewachsen, daher spreche ich beide Sprachen fließend. In meiner Freizeit spiele ich gerne Videospiele, mache Reiki und alle Arten von Sport. Als Kind war ich, abgesehen von meinem Interesse für Sport, immer sehr gut in den Naturwissenschaften. In der 10. Klasse stieß ich auf das Programmieren, die Anfangszeit war so aufregend, dass ich den Eindruck hatte, ich könnte mit einem kleinen Gerät zaubern. Das hat mich so sehr begeistert, dass ich nach meinem Abitur 2008 3 Jahre in der schönen Stadt Toulouse studiert habe (Mathematik, Mechanik und Informatik). Danach zog ich zurück nach Deutschland in die Stadt, in der ich geboren wurde - Hamburg.\"]},\"39\":{\"h\":\"Arbeit\"},\"40\":{\"h\":\"Arbeit in Festanstellung\",\"t\":[\"White Paper Media Ltd. jetzt bekannt als OktoPOS und OktoCareer\",\"Meine Rolle war die eines Software-Ingenieurs. Meine Aufgaben waren hauptsächlich die Arbeit am OkotoPOS-Projekt mit viel Datentransfer von einer Anwendung zur anderen und ein wenig Frontend (Java, JUnit, Jersey, hibernate, etc.).\",\"MSP AG\",\"Dort war meine Rolle die eines Software-Ingenieurs. Ich half bei der Planung und Entwicklung des Im- und Exports von Daten für verschiedene Clients im Censhare Backend (Java, JaxRS, XPATH, XSLT, XLIFF, JavaPOI, etc.).\"]},\"41\":{\"h\":\"Freiberufliche Projekte\",\"t\":[\"DeutscheSee Online Shop\",\"Meine Aufgaben bestanden darin, bei der Entwicklung des Shopware-Shops (PHP, Laravel, etc.) und der firmeneigenen Anwendung (AngularJS) zu helfen. Diese wird von Herstellern verwendet, um das korrekte Gewicht des verkauften Produkts zurückzugeben.\",\"Human Connection\",\"Ich half bei der Übersetzung vom Deutschen ins Französische.\",\"Gradido\",\"Ich erledige Aufgaben vom Backend (GraphQL, TypeScript, TypeORM, etc.) bis zum Frontend (VueJS, Bootstrap, etc.).\",\"Einrichtung von verschiedenen kleinen Shopware-Shops und CMS-Seiten\",\"(Hosting, Konfiguration, etc.)\",\"Ich bin hier auf Github zu finden.\"]},\"42\":{\"h\":\"Rolle\",\"t\":[\"DevOps\",\"Backend-Entwickler\",\"Software & Datenbank Architekt\",\"Scrum Master\",\"Design-Eye\"]},\"43\":{\"h\":\"Gesprochene Sprachen\",\"t\":[\"Französisch fließend\",\"Deutsch fließend\",\"Englisch in Wort und Schrift\"]},\"44\":{\"h\":\"Programmiersprachen und Frameworks\",\"t\":[\"In meiner Zeit als Softwareentwickler habe ich viele verschiedene Sprachen gelernt. Die folgenden sind die, die ich am häufigsten verwendet habe.\"]},\"45\":{\"h\":\"Für Javascript\",\"t\":[\"Node\",\"Vue\",\"Express\",\"Apollo\",\"Angular\",\"GraphQL\",\"TypeScript\",\"TypeORM\"]},\"46\":{\"h\":\"Für Java\",\"t\":[\"JAX-RS\",\"Apache POI\",\"JavaPOS\",\"JDBC\"]},\"47\":{\"h\":\"Für PHP\",\"t\":[\"Shopware\",\"Wordpress\"]},\"48\":{\"h\":\"Web basics\",\"t\":[\"HTML\",\"CSS\",\"Bootstrap\",\"XSLT\",\"XPath\",\"XLIFF\"]},\"49\":{\"h\":\"Webserver\",\"t\":[\"Apache\",\"nginx\",\"Express\"]},\"50\":{\"h\":\"Datenbank\",\"t\":[\"Mysql\",\"MariaDB\",\"PostgreSQL\",\"Oracle\"]},\"51\":{\"h\":\"Entwicklung\",\"t\":[\"Git\",\"Github\",\"Kanaban\",\"Agile Softwareentwicklung\"]},\"52\":{\"h\":\"Mathias\",\"t\":[\"Verwurzelt im DIY Werken und Interesse an Sprache, Mustern und menschlichen Verbindungen. Während der Schulzeit unternahm ich erste autodidaktische Schritte in Richtung Computersysteme und Programmierung. Während seines Studiums der Computerlinguistik verzweigte sich Mathias in verschiedene Bereiche der Computertechnologie. Meine Motivation ist es, das Wissen und die praktischen Möglichkeiten zeitgemäßer Werkzeuge zu verbreiten, Skepsis gegenüber ihnen abzubauen und jeden Interessierten zu unterstützen, sie für sich zu nutzen. Und besonders die Facette der Qualitätssicherung in der Softwareentwicklung hat mich angesprochen.\"]},\"53\":{\"h\":\"Rolle\",\"t\":[\"Testing (ISTQB zertifiziert) \",\"Testkonzeption und -design\",\"Testautomatisierung\",\"Beratung zu Strategien und Werkzeugen\",\"Manuelles Testen\",\"Exploratives Testen\",\"DevOps\",\"Frontend-Entwicklung\"]},\"54\":{\"h\":\"Expertise & Projekte\",\"t\":[\"Unterstützung des Gradido Projekts\",\"Testkonzept\",\"Testautomatisierung\",\"Agile Testing\",\"Frontend-Entwicklung\",\"Übersetzung\",\"Mitwirkung an eHealth-Projekten bei Web-Agenturen \",\"Testkonzept und -planung\",\"Konzeption\",\"Testautomatisierung\",\"Manuelles Testen\",\"Exploratives Testen\",\"Übersetzungen für OSS Projekte\",\"Unterstützung einer quelloffenen 3D-Multiplayer Gaming Engine \",\"Portierung: Java nach C++\",\"Einrichtung und Pflege von Build-Systemen für Unix-Betriebssysteme\",\"Patching\"]},\"55\":{\"h\":\"Ansätze & Werkzeuge\"},\"56\":{\"h\":\"Testverfahren\",\"t\":[\"Test Driven Development\",\"Behavior Driven Development/Testing\",\"Testen nach Konzept und Plan\",\"Exploratives Testen (basierend auf Intuition und Erfahrung)\"]},\"57\":{\"h\":\"Testautomatisierung\",\"t\":[\"Robot Framework\",\"Playwright\",\"Cypress\",\"Selenium\",\"Appium\",\"RSpec\",\"Insomnia\",\"Cucumber and Gherkin\",\"Katalon Studio\"]},\"58\":{\"h\":\"Testmanagement & -reporting\",\"t\":[\"Trac\",\"TestRail\",\"Xray\",\"Github Issues\",\"GitLab Test Cases\",\"Jira bug tracking\"]},\"59\":{\"h\":\"Computersprachen\",\"t\":[\"Javascript\",\"Python\",\"Ruby\",\"C++\",\"HTML\",\"CSS\",\"LaTex\"]},\"60\":{\"h\":\"Weitere Engagements und Interessen\",\"t\":[\"Leckeres und gesundes Essen und Kochen\",\"Musik - Rhythmen und Liedtexte\",\"Menschliche Verbindungen\",\"Literatur\",\"Austausch von Zeit\",\"Die Punkte miteinander verbinden\"]},\"61\":{\"h\":\"Gesprochene Sprachen\",\"t\":[\"Deutsch (Muttersprache)\",\"Englisch (verhandlungssicher)\"]},\"62\":{\"h\":\"Profil\",\"t\":[\"GitHub\"]},\"63\":{\"h\":\"Maximilian Harz\",\"t\":[\"Seit meiner Jugend fasziniert mich die Möglichkeit, die eigene Gedankenwelt im Computer zum Leben zu erwecken. Meine ersten Hobbyprojekte waren private Webseiten und Browserspiele. Nach einem Informatikstudium an der Uni Saarbrücken war ich in verschiedenen Konstellationen als Softwareentwickler im Webbereich aktiv, z.B. als Frontend Engineer für die browser-native Blockchain Nimiq oder als technisch verantwortlicher Co-Founder einer leider nicht mehr existenten Second-Hand-Plattform.\",\"In meiner Wahlheimat Gijón lernte ich Moriz kennen. Irgendwann sprachen wir über das Thema Beruf und im Frühjahr 2024 lud er mich zu einem IT4C Treffen ein. In dieser Runde fühlte ich mich sofort wohl. Seitdem verstärke ich das Team insbesondere als Frontend-Entwickler.\",\"Nicht ganz nebenbei baue ich hier in Nordspanien ein kleines Permakultur-Projekt auf und renoviere ein altes Bauernhaus.\"]},\"64\":{\"h\":\"Moriz Wahl\",\"t\":[\"Als ich 8 Jahre alt war, bekam ich einen ZX81. Seitdem hat meine Faszination für das Programmieren nie aufgehört.\"]},\"65\":{\"h\":\"Rolle\",\"t\":[\"Management\",\"Unit Testing\",\"Backend-Entwickler\",\"Frontend-Entwickler\",\"Typografie\",\"Datenbank-Entwickler\",\"Motivation\"]},\"66\":{\"h\":\"Gesprochene Sprachen\",\"t\":[\"Deutsch (Muttersprache)\",\"Englisch (mündlich und schriftlich)\",\"Spanisch (mündlich und schriftlich)\"]},\"67\":{\"h\":\"Expertise & Projekte\",\"t\":[\"Nach meinem Studium arbeitete ich acht Jahre lang für le-tex, wo ich viel über Typografie, Datenkonvertierung, Prozessautomatisierung und Teammanagement.\",\"Ich habe für kleine Firmen gearbeitet, die Dienstleistungen für große Unternehmen anbieten. Dabei kam ich mit Logistik und Risikomanagement in Berührung.\",\"Im Jahr 2019 begann ich mit der Mitarbeit am Open-Source-Projekt Human Connection. ocelot.social und Gradido folgten.\"]},\"68\":{\"h\":\"Computersprachen\",\"t\":[\"Javascript\",\"C#\",\"Python\",\"LaTeX\",\"Lisp/eLisp\",\"XSLT2.0/XPath2.0\",\"Pascal\",\"BASIC\",\"SQL\",\"Cypher\",\"HTML\",\"CSS\",\"SASS\"]},\"69\":{\"h\":\"Sebastian Stein\",\"t\":[\"Mit Begeisterung bringe ich Ideen zum Leben und finde es faszinierend, wenn Projekte Gestalt annehmen und Wirklichkeit werden. Bei meiner Arbeit verbinde ich zwei wichtige Perspektiven: Einerseits den technischen Blick, wie sich Lösungen effektiv und wartungsfreundlich umsetzen lassen. Andererseits die psychologische Seite, bei der ich mich in die Wünsche der User hineinversetze, um zu verstehen, was wirklich gebraucht wird.\"]},\"70\":{\"h\":\"Story\",\"t\":[\"Meine Reise in der Informatik begann mit 16 Jahren, als ich mir das Programmieren selbst beibrachte. Vor meinem Studium der Technischen Informatik konnte ich bereits erste Erfahrungen als Hilfskraft in einem Softwareunternehmen sammeln. Während des Studiums verwirklichte ich mein erstes großes Projekt – das war mein eigentliches Lehrmeister-Erlebnis, bei dem ich enorm viel mitnehmen konnte. Nach dem Abschluss wurde ich direkt von dem Unternehmen übernommen, bei dem ich meine Diplomarbeit geschrieben hatte. Nach eineinhalb Jahren in fester Anstellung zog es mich dann in die Selbstständigkeit, um meinen eigenen Weg zu gehen und Projekte freier umzusetzen zu können.\"]},\"71\":{\"h\":\"Rolle\",\"t\":[\"Frontend-Entwickler\",\"UX-Konzeption\"]},\"72\":{\"h\":\"Sprachen\",\"t\":[\"Deutsch (Muttersprache)\",\"Englisch (mündlich und schriftlich)\"]},\"73\":{\"h\":\"Ulf Gebhardt\",\"t\":[\"Ulf ist ein Softwareentwickler durch und durch. Er hat mit 12 Jahren angefangen zu programmieren und ist dabei geblieben. Er weiß um die Möglichkeiten, die Software und Hardware zu bieten haben, und ist die Person, an die man sich wendet, wenn es Zeit ist, eine neue Bibliothek einzubinden oder einen Algorithmus zu implementieren. \",\"In seiner Freizeit programmiert er, wie jeder gute Programmierer, und reist zu Fuß um die Welt, wenn es Zeit ist, den Bildschirm für eine Weile zu verlassen.\",\"Man kann ihn auf Github und stackoverflow finden, seine Website besuchen, ihm eine E-Mail senden oder anrufen.\"]},\"74\":{\"h\":\"Rolle\",\"t\":[\"Ulf kann die folgenden Aufgaben erfüllen:\",\"DevOps\",\"Scrum Master\",\"Softwarearchitekt\",\"Backend-Entwickler\",\"Projektmanager\",\"Design-Eye\",\"Datenbankplanung und -optimierung\",\"Kompetenz-Bewertung\",\"SEO\"]},\"75\":{\"h\":\"Gesprochene Sprachen\",\"t\":[\"Ulf spricht fließend Deutsch und Englisch.\",\"Deutsch (Muttersprache)\",\"Englisch (mündlich und schriftlich)\"]},\"76\":{\"h\":\"Ausbildung & Projekte\",\"t\":[\"Die folgende Liste soll einen Überblick über Ulfs Leben geben:\",\"Von\",\"Bis\",\"Beschreibung\",\"1995\",\"2008\",\"Abschluss „Abitur“ (Note: 1,7)\",\"2005\",\"2009\",\"Softwareentwicklung bei Evonik Energy Services\",\"2008\",\"2009\",\"Zivildienst\",\"2009\",\"2013\",\"Bachelor of Science - Informatik (Note: 2,25)\",\"2011\",\"2015\",\"Wissenschaftlicher Mitarbeiter für die Datenplattform da-sense\",\"2013\",\"jetzt\",\"Webcraft-Media\",\"2016\",\"Entwicklung eines Enterprise Resource Planning(erp) für Hi5-Textildruck\",\"2017\",\"2019\",\"Entwicklung, Planung und Umsetzung der App „DEMOCRACY“\",\"2019\",\"Teamkoordination & Planung für Human-Connection\",\"2020\",\"Softwareentwicklung & Betrieb für Ocelot.social und wir.social\",\"2020\",\"2021\",\"Software-Entwicklung für Leratec Solutions in Halden(Norwegen)\",\"2020\",\"Software-Entwicklung für boxeez.com in Halden(Norwegen)\",\"2021\",\"2022\",\"Softwareentwicklung & Teamkoordination für Gradido\",\"2022\",\"2023\",\"Software-Entwicklung für yunite.me\",\"2023\",\"jetzt\",\"Teamleitung & Software-Entwicklung für eine Videoplattform\"]},\"77\":{\"h\":\"Reisen\",\"t\":[\"Ulf reist zu Fuß, wenn es mal wieder Zeit ist den Computer eine Weile ausgeschaltet zu lassen.\",\"Wann\",\"Dauer\",\"Beschreibung\",\"2020\",\"5,5 Monate\",\"Reise von Zwingenberg(Bergstraße) nach Halden\",\"2021\",\"2 Wochen\",\"Reise von Halden nach Gothenburg\",\"2021\",\"4 Wochen\",\"Reise von Hamburg nach Berlin\",\"2021\",\"1 Woche\",\"Reise durch die Sächsische Schweiz & Böhmische Schweiz\",\"2022\",\"5 Monate\",\"Reise von Zwingenberg(Bergstraße) nach Portopalo di Capo Passero\",\"2024\",\"3 Monate\",\"Reise von Zwingenberg(Bergstraße) nach La Font Blanche\"]},\"78\":{\"h\":\"Techstack\",\"t\":[\"Hier ist ein kurzer Überblick über die Computersprachen, Frameworks und Technologien, mit denen Ulf vertraut ist:\"]},\"79\":{\"h\":\"Computersprachen\",\"t\":[\"Ulf hat mit den folgenden Programmiersprachen gearbeitet:\",\"Javascript\",\"PHP\",\"C++\",\"Python\",\"Java\",\"Pascal\",\"BASIC\",\"Autoit\",\"Lua\",\"SQL\",\"Cypher\",\"HTML\",\"CSS\",\"SASS\"]},\"80\":{\"h\":\"Frameworks & Technologien\",\"t\":[\"Da die IT immer komplexer wird, ist es wichtig, mit welchen Frameworks man vertraut ist. Im Folgenden findest du eine unvollständige Liste von Ulfs Framework- und Technologiekenntnissen:\"]},\"81\":{\"h\":\"Für Javascript:\",\"t\":[\"Node\",\"Vue\",\"React & ReactNative\",\"Mongoose\",\"Express\",\"Apollo\",\"pm2\"]},\"82\":{\"h\":\"Für PHP\",\"t\":[\"SYSTEM\",\"Joomla!\",\"Wordpress\",\"Laravel\"]},\"83\":{\"h\":\"Web Basics\",\"t\":[\"HTML\",\"CSS\",\"Bootstrap\",\"SEO\"]},\"84\":{\"h\":\"Cluster\",\"t\":[\"Docker\",\"Kubernetes\"]},\"85\":{\"h\":\"Linux\",\"t\":[\"Arch\",\"Debian\",\"Manjaro\",\"Ubuntu\"]},\"86\":{\"h\":\"Webserver\",\"t\":[\"Apache\",\"nginx\",\"Express\"]},\"87\":{\"h\":\"Tools\",\"t\":[\"Gogs\",\"Teamspeak 3 Server\",\"Mailserver (Postfix + Dovecot)\"]},\"88\":{\"h\":\"Datenbank\",\"t\":[\"Mysql/MariaDB (including optimization)\",\"PostgreSQL (including optimization)\",\"Neo4J\",\"MongoDB\"]},\"89\":{\"h\":\"Entwicklung\",\"t\":[\"Git\",\"Pullrequest-review-workflow\",\"Github\",\"Gitlab\",\"Gogs\",\"Github Workflows\",\"Kanban\",\"Zenhub\",\"Agile softwareentwicklung\"]},\"90\":{\"h\":\"Wolfgang Huß\",\"t\":[\"Seit meinem 14. Lebensjahr, also seit Anfang 1983, beschäftige ich mich nun schon mit Programmierung. Dabei bin ich durch mehrere Phasen interessanter technologischer Veränderungen gegangen und habe die neuen Technologien hauptsächlich autodidaktisch und in Pairing-Sitzungen erlernt.\",\"Programmieren ist wie das Erzählen einer interaktiven Geschichte, die oft auch eine gestalterisch visuelle Komponente hat. Mir gefällt besonders die künstlerisch strukturelle Ästetik, wenn ich komplexe Projekte in faszinierenden Programmiersprachen umsetze.\",\"So haben meine bisherigen Projekte in fast allen Fällen mit Grafik zu tun gehabt, bis hin zu meiner high-end großformat Drucksoftware Pjannto RIP, mit Farbkalibration für höchste Ansprüche meiner Kunden zum Druck auf diversen Drucker Marken und Geräten. Auch meine iPhone App FaceYourFace zur Spiegelung von Gesichtshälften zur Erstellung von doppellinken und doppelrechten Gesichtsbilder ist eine grafische Anwendung.\",\"Schließlich habe ich mich derzeit von der Entwicklung von Anwendungssoftware auf Desktop-Computern mehr in Richtung von Web-Anwendungen für Internet-Browser orientiert (Frontend). Dies schließt die Entwicklung von Server-Programmen (Backend) und den Einsatz von Datenbanken sowie auch die Server-Administration mit ein und kann ebenso das Projektmanagement und die Entwicklungsleitung umfassen, wie beim ocelot.social Projekt.\",\"Einer der Gründe dafür war, gerne im Team zu arbeiten, und mit agilen Methoden Software zu entwickeln.\",\"Und nicht zu letzt war ich 12 Jahre Inhaber einer „kleinen“ Werbeagentur (8 Mitarbeiter) in der wir Logos, Prospekte, Kataloge erstellt und als Schauwerbegestalter für die Anfertigung von Schildern, Ladenbeschriftungen, Messetafeln und vielem anderen tätig waren. Dabei kamen die gängigen Grafikprogramme zum Einsatz. Dies kommt mir heute auch bei der programmierung zu gute.\"]},\"91\":{\"h\":\"Rolle\",\"t\":[\"Projekt- und Entwicklungsleiter \",\"Agile Methoden\",\"Entwickler von Desktop-Anwendungen\",\"Frontend-Entwickler\",\"Backend-Entwickler\",\"DevOps \",\"Git und GitHub Code-Entwicklung\",\"Server-Verwaltung\",\"Tester \",\"Einrichtung von Testumgebungen\",\"Agiles Testen\",\"Manuelles Testen\",\"Designer \",\"Corporate Design\",\"UI (Benutzeroberfläche)\"]},\"92\":{\"h\":\"Expertise & Projekte\",\"t\":[\"Ich habe an verschiedenen Projekten mitgewirkt und entwickelt:\",\"Maintainer, Manager und Programmierer für ocelot.social project\",\"Frontend-Entwicklung\",\"Backend-Entwicklung\",\"DevOps\",\"UI (Benutzeroberfläche)\",\"Testen\",\"Mitarbeiter bei Gradido Software Projekt\",\"Frontend-Entwicklung\",\"Backend-Entwicklung\",\"Server-Einrichtung\",\"Inhaber der FaceYourFace App für iOS \",\"Entwickler\",\"Eigentümer der App „Pjannto RIP“ für Windows \",\"Entwickler\"]},\"93\":{\"h\":\"Ansätze & Werkzeuge\"},\"94\":{\"h\":\"Frontend-Entwicklung\",\"t\":[\"Javascript\",\"Vue\",\"Nuxt\"]},\"95\":{\"h\":\"Backend-Entwicklung\",\"t\":[\"Node\",\"Javascript\",\"Neo4j\"]},\"96\":{\"h\":\"DevOps & Server Administration\",\"t\":[\"GitHub\",\"GitHub Actions\",\"Docker\",\"Kubernetes\"]},\"97\":{\"h\":\"Testing\",\"t\":[\"Jest\",\"Cypress\",\"Cucumber\"]},\"98\":{\"h\":\"Entwicklungsumgebungen\",\"t\":[\"VSCode\",\"Xcode\",\"Delphi Pascal\"]},\"99\":{\"h\":\"Programmierung & Datenbank & Markup Sprachen\",\"t\":[\"Javascript\",\"GraphQL\",\"Cypher\",\"Swift\",\"C++\",\"Pascal\",\"HTML\",\"CSS\",\"LaTex\",\"PostScript\"]},\"100\":{\"h\":\"Gesprochene Sprachen\",\"t\":[\"Deutsch (Muttersprache)\",\"Englisch (verhandlungssicher)\"]},\"101\":{\"h\":\"Profil\",\"t\":[\"GitHub\"]},\"102\":{\"h\":\"Weitere Interessen und Engagements\",\"t\":[\"Ich habe noch viele weitere Interessen und bin gesellschaftlich engagiert:\",\"Stellvertretender Vorsitzender des Entwickler-Vereins busFaktor() e.V.\",\"Singen in einer Rockband und in einem Chor\",\"Yoga praktizieren und unterrichten\",\"Privatwissenschaftler, Philosoph\",\"Betrieb von Internetseiten über private Forschung zu den Themen \",\"Hauptseite \",\"New Soul Of Science Project\",\"GitHub Repository des New Soul Of Science Project\",\"Grundlagen der Physik \",\"Fraktale Quantenflusstheorie\",\"Grundlagen der Mathematik \",\"Superialzahlen\",\"Biordinalzahlen und integrierte Mengenlehre\",\"Operialtheorie\",\"Naturphilosophie, Lebensphilosophie \",\"Spannungsspiel des Lebens\",\"Naturphilosophie Yoga\"]},\"103\":{\"h\":\"\",\"t\":[\"404 Not Found\"]},\"104\":{\"h\":\"Projekte\"},\"105\":{\"h\":\"Team\"}},\"dirtCount\":0,\"index\":[[\"yoga\",{\"1\":{\"102\":2}}],[\"yunite\",{\"0\":{\"4\":1},\"1\":{\"4\":2,\"15\":1,\"76\":1}}],[\"ästetik\",{\"1\":{\"90\":1}}],[\"+\",{\"1\":{\"87\":1}}],[\"+49\",{\"1\":{\"6\":1}}],[\"404\",{\"1\":{\"103\":1}}],[\"4\",{\"1\":{\"77\":1}}],[\"0\",{\"1\":{\"68\":2}}],[\"01\",{\"1\":{\"4\":1}}],[\"3d\",{\"1\":{\"54\":1}}],[\"3\",{\"1\":{\"38\":1,\"77\":1,\"87\":1}}],[\"xcode\",{\"1\":{\"98\":1}}],[\"xray\",{\"1\":{\"58\":1}}],[\"xliff\",{\"1\":{\"40\":1,\"48\":1}}],[\"xslt2\",{\"1\":{\"68\":1}}],[\"xslt\",{\"1\":{\"40\":1,\"48\":1}}],[\"xpath2\",{\"1\":{\"68\":1}}],[\"xpath\",{\"1\":{\"40\":1,\"48\":1}}],[\"x\",{\"1\":{\"26\":1}}],[\"|\",{\"1\":{\"26\":4}}],[\"🗺️\",{\"1\":{\"25\":1}}],[\"✨\",{\"1\":{\"25\":1}}],[\"🤝\",{\"1\":{\"25\":1}}],[\"übrigen\",{\"1\":{\"12\":1}}],[\"übernommen\",{\"1\":{\"70\":1}}],[\"übernehmen\",{\"1\":{\"8\":1,\"9\":1,\"25\":1}}],[\"übersetzungen\",{\"1\":{\"54\":1}}],[\"übersetzung\",{\"1\":{\"41\":1,\"54\":1}}],[\"übersendung\",{\"1\":{\"11\":1}}],[\"überall\",{\"1\":{\"26\":1}}],[\"über\",{\"1\":{\"14\":1,\"18\":1,\"63\":1,\"67\":1,\"76\":1,\"78\":1,\"102\":1}}],[\"überprüft\",{\"1\":{\"9\":1}}],[\"überwachen\",{\"1\":{\"8\":1}}],[\"übermittelte\",{\"1\":{\"8\":1}}],[\"überzeugt\",{\"1\":{\"3\":1}}],[\"überblick\",{\"1\":{\"0\":1,\"76\":1,\"78\":1}}],[\"orientiert\",{\"1\":{\"90\":1}}],[\"oracle\",{\"1\":{\"50\":1}}],[\"oss\",{\"1\":{\"54\":1}}],[\"online\",{\"1\":{\"41\":1}}],[\"okotopos\",{\"1\":{\"40\":1}}],[\"oktocareer\",{\"1\":{\"40\":1}}],[\"oktopos\",{\"1\":{\"40\":1}}],[\"operialtheorie\",{\"1\":{\"102\":1}}],[\"opencollective\",{\"1\":{\"26\":1}}],[\"open\",{\"1\":{\"19\":1,\"20\":1,\"24\":1,\"67\":1}}],[\"optimization\",{\"1\":{\"88\":2}}],[\"optimierung\",{\"1\":{\"74\":1}}],[\"op\",{\"1\":{\"22\":2}}],[\"owner\",{\"1\":{\"22\":1}}],[\"ob\",{\"1\":{\"17\":1,\"19\":1}}],[\"oft\",{\"1\":{\"90\":1}}],[\"of\",{\"1\":{\"14\":1,\"76\":1,\"102\":2}}],[\"out\",{\"1\":{\"14\":1}}],[\"ohne\",{\"1\":{\"9\":1,\"11\":2}}],[\"oder\",{\"1\":{\"8\":3,\"9\":1,\"11\":1,\"12\":2,\"17\":3,\"18\":2,\"19\":1,\"20\":2,\"24\":1,\"63\":1,\"73\":2}}],[\"ocelot\",{\"0\":{\"2\":1,\"24\":1},\"1\":{\"1\":1,\"2\":3,\"4\":1,\"15\":1,\"24\":1,\"29\":1,\"67\":1,\"76\":1,\"90\":1,\"92\":1}}],[\"8\",{\"1\":{\"8\":1,\"64\":1,\"90\":1}}],[\"8484\",{\"1\":{\"6\":1}}],[\"7\",{\"1\":{\"8\":1,\"76\":1}}],[\"joomla\",{\"1\":{\"82\":1}}],[\"jugend\",{\"1\":{\"63\":1}}],[\"junit\",{\"1\":{\"40\":1}}],[\"jira\",{\"1\":{\"58\":1}}],[\"jdbc\",{\"1\":{\"46\":1}}],[\"jax\",{\"1\":{\"46\":1}}],[\"jaxrs\",{\"1\":{\"40\":1}}],[\"javapos\",{\"1\":{\"46\":1}}],[\"javapoi\",{\"1\":{\"40\":1}}],[\"java\",{\"0\":{\"46\":1},\"1\":{\"40\":2,\"54\":1,\"79\":1}}],[\"javascript\",{\"0\":{\"45\":1,\"81\":1},\"1\":{\"27\":1,\"30\":1,\"34\":1,\"59\":1,\"68\":1,\"79\":1,\"94\":1,\"95\":1,\"99\":1}}],[\"jahren\",{\"1\":{\"70\":2,\"73\":1}}],[\"jahre\",{\"1\":{\"38\":1,\"64\":1,\"67\":1,\"90\":1}}],[\"jahres\",{\"1\":{\"5\":1}}],[\"jahr\",{\"1\":{\"3\":1,\"4\":1,\"67\":1}}],[\"jersey\",{\"1\":{\"40\":1}}],[\"jetzt\",{\"1\":{\"40\":1,\"76\":2}}],[\"jest\",{\"1\":{\"33\":1,\"97\":1}}],[\"jeden\",{\"1\":{\"52\":1}}],[\"jede\",{\"1\":{\"20\":1}}],[\"jedes\",{\"1\":{\"14\":1}}],[\"jeder\",{\"1\":{\"14\":1,\"73\":1}}],[\"jedoch\",{\"1\":{\"8\":3,\"9\":1}}],[\"je\",{\"1\":{\"14\":1}}],[\"jeweilige\",{\"1\":{\"9\":1}}],[\"rip\",{\"1\":{\"90\":1,\"92\":1}}],[\"risikomanagement\",{\"1\":{\"67\":1}}],[\"richtung\",{\"1\":{\"52\":1,\"90\":1}}],[\"richtige\",{\"1\":{\"14\":1}}],[\"richtigkeit\",{\"1\":{\"8\":1}}],[\"runde\",{\"1\":{\"63\":1}}],[\"ruby\",{\"1\":{\"59\":1}}],[\"rhythmen\",{\"1\":{\"60\":1}}],[\"rockband\",{\"1\":{\"102\":1}}],[\"robot\",{\"1\":{\"57\":1}}],[\"rolle\",{\"0\":{\"28\":1,\"42\":1,\"53\":1,\"65\":1,\"71\":1,\"74\":1,\"91\":1},\"1\":{\"40\":2}}],[\"rspec\",{\"1\":{\"57\":1}}],[\"rs\",{\"1\":{\"46\":1}}],[\"rstv\",{\"1\":{\"6\":1}}],[\"rahmen\",{\"1\":{\"11\":1}}],[\"repository\",{\"1\":{\"102\":1}}],[\"reporting\",{\"0\":{\"58\":1}}],[\"review\",{\"1\":{\"89\":1}}],[\"resource\",{\"1\":{\"76\":1}}],[\"ressourcen\",{\"1\":{\"25\":1}}],[\"renoviere\",{\"1\":{\"63\":1}}],[\"reist\",{\"1\":{\"73\":1,\"77\":1}}],[\"reisen\",{\"0\":{\"77\":1}}],[\"reise\",{\"1\":{\"3\":1,\"70\":1,\"77\":6}}],[\"reiki\",{\"1\":{\"38\":1}}],[\"read\",{\"1\":{\"35\":1}}],[\"reactnative\",{\"1\":{\"81\":1}}],[\"react\",{\"1\":{\"26\":1,\"81\":1}}],[\"real\",{\"1\":{\"25\":1}}],[\"regenerative\",{\"1\":{\"25\":1}}],[\"regel\",{\"1\":{\"11\":1}}],[\"remote\",{\"1\":{\"18\":1}}],[\"release\",{\"1\":{\"14\":1}}],[\"rekrutierung\",{\"1\":{\"14\":1}}],[\"rechtliche\",{\"1\":{\"11\":1}}],[\"rechtslage\",{\"1\":{\"12\":1}}],[\"rechtswirksamkeit\",{\"0\":{\"12\":1}}],[\"rechtswidrige\",{\"1\":{\"8\":1,\"9\":1}}],[\"rechtsverstöße\",{\"1\":{\"9\":1}}],[\"rechtsverletzungen\",{\"1\":{\"8\":1,\"9\":1,\"10\":1}}],[\"rechtsverletzung\",{\"1\":{\"8\":1,\"9\":1}}],[\"1983\",{\"1\":{\"90\":1}}],[\"1995\",{\"1\":{\"76\":1}}],[\"1999\",{\"1\":{\"27\":1}}],[\"14\",{\"1\":{\"90\":1}}],[\"12\",{\"1\":{\"73\":1,\"90\":1}}],[\"16\",{\"1\":{\"70\":1}}],[\"1600\",{\"1\":{\"6\":1}}],[\"10\",{\"1\":{\"8\":1,\"38\":1}}],[\"1\",{\"1\":{\"8\":1,\"76\":1,\"77\":1}}],[\"157\",{\"1\":{\"6\":1}}],[\"11\",{\"1\":{\"4\":1}}],[\"64673\",{\"1\":{\"6\":2}}],[\"25\",{\"1\":{\"76\":1}}],[\"2\",{\"1\":{\"6\":1,\"76\":1,\"77\":1}}],[\"22\",{\"1\":{\"6\":2}}],[\"2009\",{\"1\":{\"76\":3}}],[\"2005\",{\"1\":{\"76\":1}}],[\"2008\",{\"1\":{\"38\":1,\"76\":2}}],[\"2024\",{\"1\":{\"63\":1,\"77\":1}}],[\"2023\",{\"1\":{\"5\":1,\"76\":2}}],[\"2022\",{\"1\":{\"4\":2,\"76\":2,\"77\":1}}],[\"2021\",{\"1\":{\"3\":2,\"76\":2,\"77\":3}}],[\"2020\",{\"1\":{\"1\":1,\"2\":1,\"76\":3,\"77\":1}}],[\"2016\",{\"1\":{\"76\":1}}],[\"2015\",{\"1\":{\"76\":1}}],[\"2011\",{\"1\":{\"76\":1}}],[\"2013\",{\"1\":{\"76\":2}}],[\"2019\",{\"1\":{\"1\":1,\"14\":1,\"67\":1,\"76\":2}}],[\"2017\",{\"1\":{\"0\":1,\"76\":1}}],[\"55\",{\"1\":{\"6\":1}}],[\"5\",{\"1\":{\"6\":1,\"77\":3}}],[\"böhmische\",{\"1\":{\"77\":1}}],[\"blanche\",{\"1\":{\"77\":1}}],[\"blick\",{\"1\":{\"69\":1}}],[\"blockchain\",{\"1\":{\"63\":1}}],[\"bleiben\",{\"1\":{\"8\":1,\"12\":1}}],[\"busfaktor\",{\"1\":{\"102\":1}}],[\"bug\",{\"1\":{\"58\":1}}],[\"build\",{\"1\":{\"54\":1}}],[\"bundestages\",{\"1\":{\"20\":1}}],[\"bringe\",{\"1\":{\"69\":1}}],[\"bringen\",{\"1\":{\"19\":1}}],[\"browser\",{\"1\":{\"63\":1,\"90\":1}}],[\"browserspiele\",{\"1\":{\"63\":1}}],[\"branding\",{\"1\":{\"24\":1}}],[\"bootstrap\",{\"1\":{\"41\":1,\"48\":1,\"83\":1}}],[\"bootstrapvue\",{\"1\":{\"30\":1}}],[\"boxeez\",{\"1\":{\"76\":1}}],[\"box\",{\"1\":{\"14\":1}}],[\"bord\",{\"1\":{\"3\":1}}],[\"b\",{\"1\":{\"11\":1,\"63\":1}}],[\"biordinalzahlen\",{\"1\":{\"102\":1}}],[\"bildschirm\",{\"1\":{\"73\":1}}],[\"bieten\",{\"1\":{\"73\":1}}],[\"bietet\",{\"1\":{\"25\":1}}],[\"bin\",{\"1\":{\"27\":2,\"38\":1,\"41\":1,\"90\":1,\"102\":1}}],[\"bibliothek\",{\"1\":{\"26\":1,\"73\":1}}],[\"bitte\",{\"1\":{\"19\":1}}],[\"bitten\",{\"1\":{\"10\":1}}],[\"bisherigen\",{\"1\":{\"90\":1}}],[\"bist\",{\"1\":{\"18\":1,\"19\":1}}],[\"bis\",{\"1\":{\"8\":1,\"41\":1,\"76\":1,\"90\":1}}],[\"bachelor\",{\"1\":{\"76\":1}}],[\"backend\",{\"0\":{\"31\":1,\"95\":1},\"1\":{\"21\":1,\"22\":3,\"23\":1,\"40\":1,\"41\":1,\"42\":1,\"65\":1,\"74\":1,\"90\":1,\"91\":1,\"92\":2}}],[\"basic\",{\"1\":{\"68\":1,\"79\":1}}],[\"basics\",{\"0\":{\"48\":1,\"83\":1}}],[\"basierend\",{\"1\":{\"56\":1}}],[\"basis\",{\"1\":{\"4\":1,\"11\":1}}],[\"basteln\",{\"1\":{\"27\":1}}],[\"bauernhaus\",{\"1\":{\"63\":1}}],[\"baue\",{\"1\":{\"25\":2,\"63\":1}}],[\"bald\",{\"1\":{\"3\":2}}],[\"bewertung\",{\"1\":{\"74\":1}}],[\"bewirken\",{\"1\":{\"13\":1}}],[\"bekam\",{\"1\":{\"64\":1}}],[\"bekannt\",{\"1\":{\"40\":1}}],[\"bekanntwerden\",{\"1\":{\"8\":1,\"9\":1,\"10\":1}}],[\"behavior\",{\"1\":{\"56\":1}}],[\"behalten\",{\"1\":{\"11\":1}}],[\"berlin\",{\"1\":{\"77\":1}}],[\"bergstraße\",{\"1\":{\"77\":3}}],[\"bereits\",{\"1\":{\"70\":1}}],[\"bereiche\",{\"1\":{\"52\":1}}],[\"berührung\",{\"1\":{\"67\":1}}],[\"beruf\",{\"1\":{\"63\":1}}],[\"beratung\",{\"1\":{\"53\":1}}],[\"bernd\",{\"1\":{\"22\":1}}],[\"befähigen\",{\"1\":{\"25\":1}}],[\"beliebige\",{\"1\":{\"24\":1}}],[\"benutzeroberfläche\",{\"1\":{\"29\":1,\"91\":1,\"92\":1}}],[\"benutzer\",{\"1\":{\"20\":1}}],[\"beschäftige\",{\"1\":{\"90\":1}}],[\"beschreibung\",{\"1\":{\"76\":1,\"77\":1}}],[\"beschlüsse\",{\"1\":{\"20\":1}}],[\"besuchen\",{\"1\":{\"73\":1}}],[\"besonders\",{\"1\":{\"52\":1,\"90\":1}}],[\"bestanden\",{\"1\":{\"41\":1}}],[\"bestehende\",{\"1\":{\"19\":1}}],[\"bestehendes\",{\"1\":{\"17\":1}}],[\"bedürfnisse\",{\"1\":{\"14\":1}}],[\"betrieb\",{\"1\":{\"76\":1,\"102\":1}}],[\"betriebssysteme\",{\"1\":{\"54\":1}}],[\"betreiben\",{\"1\":{\"14\":1}}],[\"betreiber\",{\"1\":{\"9\":1,\"10\":1,\"11\":1,\"24\":1}}],[\"betreuung\",{\"1\":{\"13\":1}}],[\"betrachten\",{\"1\":{\"12\":1}}],[\"beachtet\",{\"1\":{\"10\":1}}],[\"beim\",{\"1\":{\"90\":1}}],[\"beibrachte\",{\"1\":{\"70\":1}}],[\"beide\",{\"1\":{\"38\":1}}],[\"beigebracht\",{\"1\":{\"27\":1}}],[\"beispielen\",{\"1\":{\"26\":1}}],[\"beispielsweise\",{\"1\":{\"11\":1}}],[\"beizutragen\",{\"1\":{\"14\":1}}],[\"bei\",{\"1\":{\"8\":1,\"9\":1,\"10\":1,\"11\":1,\"17\":1,\"22\":1,\"24\":1,\"27\":1,\"40\":1,\"41\":2,\"54\":1,\"69\":2,\"70\":2,\"76\":1,\"90\":1,\"92\":1}}],[\"beine\",{\"1\":{\"4\":1}}],[\"begeisterung\",{\"1\":{\"69\":1}}],[\"begeistert\",{\"1\":{\"38\":1}}],[\"beginn\",{\"1\":{\"5\":1}}],[\"begann\",{\"1\":{\"0\":2,\"24\":1,\"67\":1,\"70\":1}}],[\"beendet\",{\"1\":{\"2\":1}}],[\"lua\",{\"1\":{\"79\":1}}],[\"lud\",{\"1\":{\"63\":1}}],[\"lösungen\",{\"1\":{\"69\":1}}],[\"logos\",{\"1\":{\"90\":1}}],[\"logistik\",{\"1\":{\"67\":1}}],[\"lokale\",{\"1\":{\"25\":2,\"26\":1}}],[\"ladenbeschriftungen\",{\"1\":{\"90\":1}}],[\"la\",{\"1\":{\"77\":1}}],[\"lang\",{\"1\":{\"67\":1}}],[\"latex\",{\"1\":{\"59\":1,\"68\":1,\"99\":1}}],[\"laravel\",{\"1\":{\"41\":1,\"82\":1}}],[\"lassen\",{\"1\":{\"69\":1,\"77\":1}}],[\"lass\",{\"1\":{\"25\":1}}],[\"lasst\",{\"1\":{\"2\":1}}],[\"ltd\",{\"1\":{\"40\":1}}],[\"lückenloser\",{\"1\":{\"11\":1}}],[\"linux\",{\"0\":{\"85\":1}}],[\"links\",{\"0\":{\"9\":1},\"1\":{\"9\":2}}],[\"liste\",{\"1\":{\"76\":1,\"80\":1}}],[\"lisp\",{\"1\":{\"68\":1}}],[\"literatur\",{\"1\":{\"60\":1}}],[\"liedtexte\",{\"1\":{\"60\":1}}],[\"liebe\",{\"1\":{\"14\":1}}],[\"liegt\",{\"1\":{\"14\":1}}],[\"live\",{\"1\":{\"2\":1}}],[\"letzt\",{\"1\":{\"90\":1}}],[\"letzten\",{\"1\":{\"2\":1}}],[\"leratec\",{\"1\":{\"76\":1}}],[\"lernte\",{\"1\":{\"63\":1}}],[\"lernen\",{\"1\":{\"14\":1}}],[\"lehrmeister\",{\"1\":{\"70\":1}}],[\"le\",{\"1\":{\"67\":1}}],[\"leckeres\",{\"1\":{\"60\":1}}],[\"lenz\",{\"1\":{\"16\":1,\"22\":1}}],[\"leider\",{\"1\":{\"63\":1}}],[\"leitung\",{\"1\":{\"14\":1}}],[\"leistungen\",{\"1\":{\"13\":1}}],[\"lebens\",{\"1\":{\"102\":1}}],[\"lebensphilosophie\",{\"1\":{\"102\":1}}],[\"lebensjahr\",{\"1\":{\"90\":1}}],[\"lebenslauf\",{\"1\":{\"18\":1}}],[\"leben\",{\"1\":{\"2\":1,\"14\":1,\"25\":1,\"63\":1,\"69\":1,\"76\":1}}],[\"quantenflusstheorie\",{\"1\":{\"102\":1}}],[\"qualitätssicherung\",{\"1\":{\"52\":1}}],[\"quartal\",{\"1\":{\"2\":1}}],[\"quelloffenen\",{\"1\":{\"54\":1}}],[\"quellcode\",{\"1\":{\"2\":1}}],[\"quereinsteiger\",{\"1\":{\"27\":1}}],[\"fällen\",{\"1\":{\"90\":1}}],[\"fuß\",{\"1\":{\"73\":1,\"77\":1}}],[\"fester\",{\"1\":{\"70\":1}}],[\"festanstellung\",{\"0\":{\"40\":1}}],[\"feedback\",{\"1\":{\"14\":1}}],[\"fließend\",{\"1\":{\"38\":1,\"43\":2,\"75\":1}}],[\"flexibel\",{\"1\":{\"26\":1}}],[\"firmen\",{\"1\":{\"67\":1}}],[\"firmeneigenen\",{\"1\":{\"41\":1}}],[\"findest\",{\"1\":{\"80\":1}}],[\"finden\",{\"1\":{\"41\":1,\"73\":1}}],[\"finde\",{\"1\":{\"25\":1,\"69\":1}}],[\"fiatgeld\",{\"1\":{\"22\":1}}],[\"frühjahr\",{\"1\":{\"63\":1}}],[\"fraktale\",{\"1\":{\"102\":1}}],[\"framework\",{\"1\":{\"57\":1,\"80\":1}}],[\"frameworks\",{\"0\":{\"44\":1,\"80\":1},\"1\":{\"26\":1,\"78\":1,\"80\":1}}],[\"französisch\",{\"1\":{\"43\":1}}],[\"französische\",{\"1\":{\"41\":1}}],[\"frankreich\",{\"1\":{\"38\":1}}],[\"frage\",{\"1\":{\"19\":1}}],[\"frontend\",{\"0\":{\"30\":1,\"94\":1},\"1\":{\"22\":1,\"23\":1,\"27\":1,\"28\":1,\"29\":2,\"40\":1,\"41\":1,\"53\":1,\"54\":1,\"63\":2,\"65\":1,\"71\":1,\"90\":1,\"91\":1,\"92\":2}}],[\"friedland\",{\"0\":{\"27\":1},\"1\":{\"16\":1,\"22\":1}}],[\"freier\",{\"1\":{\"70\":1}}],[\"freiberufliche\",{\"0\":{\"41\":1}}],[\"freizeit\",{\"1\":{\"38\":1,\"73\":1}}],[\"freiheit\",{\"1\":{\"14\":1}}],[\"freiwilliger\",{\"1\":{\"11\":1}}],[\"freiwillig\",{\"1\":{\"1\":1}}],[\"fremden\",{\"1\":{\"9\":1}}],[\"fremde\",{\"1\":{\"8\":1}}],[\"fm\",{\"1\":{\"15\":1}}],[\"farbkalibration\",{\"1\":{\"90\":1}}],[\"farben\",{\"1\":{\"26\":1}}],[\"fast\",{\"1\":{\"90\":1}}],[\"faszinierenden\",{\"1\":{\"90\":1}}],[\"faszinierend\",{\"1\":{\"69\":1}}],[\"fasziniert\",{\"1\":{\"63\":1}}],[\"faszination\",{\"1\":{\"64\":1}}],[\"faceyourface\",{\"1\":{\"90\":1,\"92\":1}}],[\"facette\",{\"1\":{\"52\":1}}],[\"facebook\",{\"1\":{\"24\":1}}],[\"fachwissen\",{\"0\":{\"29\":1},\"1\":{\"14\":1}}],[\"falle\",{\"1\":{\"11\":1}}],[\"found\",{\"1\":{\"103\":1}}],[\"founder\",{\"1\":{\"63\":1}}],[\"font\",{\"1\":{\"77\":1}}],[\"folgende\",{\"1\":{\"76\":1}}],[\"folgenden\",{\"1\":{\"44\":1,\"74\":1,\"79\":1,\"80\":1}}],[\"folgten\",{\"1\":{\"67\":1}}],[\"fokus\",{\"1\":{\"14\":1}}],[\"forschung\",{\"1\":{\"102\":1}}],[\"forschen\",{\"1\":{\"8\":1}}],[\"fortgeschrittene\",{\"1\":{\"26\":1}}],[\"fortan\",{\"1\":{\"1\":1}}],[\"for\",{\"1\":{\"14\":1}}],[\"formulierungen\",{\"1\":{\"12\":1}}],[\"fühlte\",{\"1\":{\"63\":1}}],[\"führten\",{\"1\":{\"2\":1}}],[\"für\",{\"0\":{\"8\":1,\"9\":1,\"18\":1,\"19\":1,\"26\":1,\"45\":1,\"46\":1,\"47\":1,\"81\":1,\"82\":1},\"1\":{\"0\":1,\"5\":1,\"6\":1,\"8\":2,\"9\":2,\"13\":1,\"20\":1,\"22\":1,\"24\":1,\"25\":1,\"26\":2,\"29\":2,\"38\":1,\"40\":1,\"52\":1,\"54\":2,\"63\":1,\"64\":1,\"67\":3,\"73\":1,\"76\":9,\"90\":3,\"92\":3}}],[\"gängigen\",{\"1\":{\"90\":1}}],[\"gogs\",{\"1\":{\"87\":1,\"89\":1}}],[\"gothenburg\",{\"1\":{\"77\":1}}],[\"gherkin\",{\"1\":{\"57\":1}}],[\"gaming\",{\"1\":{\"54\":1}}],[\"ganz\",{\"1\":{\"14\":1,\"26\":1,\"63\":1}}],[\"ganzes\",{\"1\":{\"5\":1}}],[\"gute\",{\"1\":{\"73\":1,\"90\":1}}],[\"gutes\",{\"1\":{\"18\":1}}],[\"gut\",{\"1\":{\"38\":1}}],[\"gleichgesinnte\",{\"1\":{\"25\":1}}],[\"glauben\",{\"1\":{\"14\":2}}],[\"gültigkeit\",{\"1\":{\"12\":1}}],[\"grundlagen\",{\"1\":{\"102\":2}}],[\"gründe\",{\"1\":{\"90\":1}}],[\"großformat\",{\"1\":{\"90\":1}}],[\"großes\",{\"1\":{\"70\":1}}],[\"große\",{\"1\":{\"67\":1}}],[\"großteil\",{\"1\":{\"3\":1}}],[\"grafische\",{\"1\":{\"90\":1}}],[\"grafikprogramme\",{\"1\":{\"90\":1}}],[\"grafik\",{\"1\":{\"90\":1}}],[\"graphql\",{\"1\":{\"23\":1,\"34\":1,\"41\":1,\"45\":1,\"99\":1}}],[\"gradido\",{\"0\":{\"3\":1,\"22\":1},\"1\":{\"3\":1,\"15\":1,\"22\":1,\"29\":1,\"41\":1,\"54\":1,\"67\":1,\"76\":1,\"92\":1}}],[\"größtmögliche\",{\"1\":{\"14\":1}}],[\"größter\",{\"1\":{\"8\":1}}],[\"gegangen\",{\"1\":{\"90\":1}}],[\"gegenüber\",{\"1\":{\"52\":1}}],[\"gehabt\",{\"1\":{\"90\":1}}],[\"gehen\",{\"1\":{\"70\":1}}],[\"gehostet\",{\"1\":{\"24\":1}}],[\"geholfen\",{\"1\":{\"22\":1}}],[\"gedankenwelt\",{\"1\":{\"63\":1}}],[\"gelernt\",{\"1\":{\"44\":1}}],[\"geltenden\",{\"1\":{\"12\":1}}],[\"gewicht\",{\"1\":{\"41\":1}}],[\"gewünscht\",{\"1\":{\"27\":1}}],[\"gewährleisten\",{\"1\":{\"19\":1}}],[\"gewähr\",{\"1\":{\"8\":1,\"9\":1}}],[\"geben\",{\"1\":{\"76\":1}}],[\"geblieben\",{\"1\":{\"73\":1}}],[\"geboren\",{\"1\":{\"38\":2}}],[\"gebraucht\",{\"1\":{\"26\":1,\"69\":1}}],[\"gebhardt\",{\"0\":{\"73\":1},\"1\":{\"6\":2,\"16\":1,\"22\":1}}],[\"geografische\",{\"1\":{\"25\":1}}],[\"gearbeitet\",{\"1\":{\"22\":1,\"67\":1,\"79\":1}}],[\"geräten\",{\"1\":{\"90\":1}}],[\"gerät\",{\"1\":{\"38\":1}}],[\"german\",{\"1\":{\"35\":1}}],[\"gerade\",{\"1\":{\"18\":1}}],[\"gern\",{\"1\":{\"18\":1,\"19\":1}}],[\"gerne\",{\"1\":{\"14\":1,\"18\":1,\"38\":1,\"90\":1}}],[\"gezwungen\",{\"1\":{\"14\":1}}],[\"genau\",{\"1\":{\"14\":1,\"26\":1}}],[\"gemeinschaftsstrukturen\",{\"1\":{\"25\":1}}],[\"gemeinschaften\",{\"0\":{\"26\":1},\"1\":{\"25\":1}}],[\"gemeinschaft\",{\"1\":{\"25\":1}}],[\"gemeinsamer\",{\"1\":{\"14\":1}}],[\"gemeinsam\",{\"1\":{\"14\":1,\"25\":2}}],[\"gemäß\",{\"1\":{\"6\":1,\"8\":1}}],[\"gekennzeichnet\",{\"1\":{\"10\":1}}],[\"gesichtsbilder\",{\"1\":{\"90\":1}}],[\"gesichtshälften\",{\"1\":{\"90\":1}}],[\"gestalt\",{\"1\":{\"69\":1}}],[\"gestalterisch\",{\"1\":{\"90\":1}}],[\"gestalten\",{\"1\":{\"26\":1}}],[\"gestalte\",{\"1\":{\"25\":1}}],[\"gesundes\",{\"1\":{\"60\":1}}],[\"gesprochene\",{\"0\":{\"35\":1,\"43\":1,\"61\":1,\"66\":1,\"75\":1,\"100\":1}}],[\"gespeicherte\",{\"1\":{\"8\":1}}],[\"geschichte\",{\"1\":{\"90\":1}}],[\"geschrieben\",{\"1\":{\"21\":1,\"23\":2,\"70\":1}}],[\"geschäftsidee\",{\"1\":{\"17\":1}}],[\"gesetze\",{\"1\":{\"20\":1}}],[\"gesetzen\",{\"1\":{\"8\":2}}],[\"gesellschaftlich\",{\"1\":{\"102\":1}}],[\"gesellschaftlichen\",{\"1\":{\"13\":1}}],[\"gesellschaft\",{\"1\":{\"14\":1}}],[\"gefällt\",{\"1\":{\"90\":1}}],[\"gefunden\",{\"1\":{\"5\":1}}],[\"gefolgt\",{\"1\":{\"1\":1,\"3\":2}}],[\"gepflegt\",{\"1\":{\"1\":1}}],[\"gijón\",{\"1\":{\"63\":1}}],[\"gitlab\",{\"1\":{\"58\":1,\"89\":1}}],[\"git\",{\"1\":{\"51\":1,\"89\":1,\"91\":1}}],[\"github\",{\"1\":{\"18\":2,\"26\":1,\"29\":1,\"32\":1,\"36\":1,\"41\":1,\"51\":1,\"58\":1,\"62\":1,\"73\":1,\"89\":2,\"91\":1,\"96\":2,\"101\":1,\"102\":1}}],[\"ging\",{\"1\":{\"1\":1}}],[\"gibt\",{\"1\":{\"0\":1,\"20\":1}}],[\"nginx\",{\"1\":{\"49\":1,\"86\":1}}],[\"nun\",{\"1\":{\"90\":1}}],[\"nuxt\",{\"1\":{\"30\":1,\"94\":1}}],[\"nutzen\",{\"1\":{\"52\":1}}],[\"nutze\",{\"1\":{\"26\":1}}],[\"nutzern\",{\"1\":{\"20\":1}}],[\"nutzer\",{\"1\":{\"14\":1,\"24\":1}}],[\"nutzungsbedingungen\",{\"1\":{\"24\":1}}],[\"nutzung\",{\"1\":{\"8\":1,\"11\":2}}],[\"nähe\",{\"1\":{\"25\":1}}],[\"noch\",{\"1\":{\"102\":1}}],[\"nordspanien\",{\"1\":{\"63\":1}}],[\"norwegen\",{\"1\":{\"3\":1,\"76\":2}}],[\"node\",{\"1\":{\"31\":1,\"45\":1,\"81\":1,\"95\":1}}],[\"nodejs\",{\"1\":{\"23\":1}}],[\"note\",{\"1\":{\"76\":2}}],[\"not\",{\"1\":{\"18\":1,\"103\":1}}],[\"nie\",{\"1\":{\"64\":1}}],[\"nimiq\",{\"1\":{\"63\":1}}],[\"nimm\",{\"1\":{\"17\":1}}],[\"nicht\",{\"1\":{\"8\":1,\"9\":2,\"10\":1,\"11\":3,\"12\":3,\"14\":1,\"18\":1,\"24\":1,\"27\":1,\"63\":2,\"90\":1}}],[\"new\",{\"1\":{\"102\":2}}],[\"neo4j\",{\"1\":{\"31\":1,\"88\":1,\"95\":1}}],[\"nehmen\",{\"1\":{\"19\":1}}],[\"nebenbei\",{\"1\":{\"63\":1}}],[\"neben\",{\"1\":{\"14\":1}}],[\"nenner\",{\"1\":{\"14\":1}}],[\"neuen\",{\"1\":{\"90\":1}}],[\"neuer\",{\"1\":{\"14\":1}}],[\"neue\",{\"1\":{\"4\":1,\"73\":1}}],[\"neues\",{\"1\":{\"4\":1}}],[\"neu\",{\"1\":{\"2\":1}}],[\"netzwerks\",{\"1\":{\"24\":1}}],[\"netzwerke\",{\"1\":{\"24\":1,\"25\":2}}],[\"netzwerk\",{\"1\":{\"1\":1,\"2\":1,\"4\":2}}],[\"naturphilosophie\",{\"1\":{\"102\":2}}],[\"naturwissenschaften\",{\"1\":{\"38\":1}}],[\"native\",{\"1\":{\"35\":1,\"63\":1}}],[\"nachhaltige\",{\"1\":{\"19\":1}}],[\"nach\",{\"1\":{\"3\":1,\"6\":1,\"8\":4,\"14\":1,\"17\":1,\"19\":1,\"20\":1,\"24\":1,\"38\":2,\"54\":1,\"56\":1,\"63\":1,\"67\":1,\"70\":2,\"77\":5}}],[\"namen\",{\"1\":{\"2\":1,\"4\":1,\"24\":1}}],[\"name\",{\"1\":{\"1\":1,\"5\":1,\"11\":1}}],[\"nahm\",{\"1\":{\"0\":1}}],[\"v\",{\"1\":{\"102\":1}}],[\"vscode\",{\"1\":{\"98\":1}}],[\"vuejs\",{\"1\":{\"41\":1}}],[\"vue\",{\"1\":{\"30\":1,\"45\":1,\"81\":1,\"94\":1}}],[\"vue2\",{\"1\":{\"23\":1}}],[\"visuelle\",{\"1\":{\"90\":1}}],[\"vision\",{\"1\":{\"13\":1}}],[\"videoplattform\",{\"1\":{\"76\":1}}],[\"videospiele\",{\"1\":{\"38\":1}}],[\"viel\",{\"1\":{\"40\":1,\"67\":1,\"70\":1}}],[\"vielem\",{\"1\":{\"90\":1}}],[\"vielen\",{\"1\":{\"27\":1}}],[\"viele\",{\"1\":{\"20\":1,\"44\":1,\"102\":1}}],[\"vollständig\",{\"1\":{\"12\":1}}],[\"vollständigkeit\",{\"1\":{\"8\":1}}],[\"vorsitzender\",{\"1\":{\"102\":1}}],[\"vor\",{\"1\":{\"11\":2,\"70\":1}}],[\"vom\",{\"1\":{\"10\":1,\"41\":2}}],[\"von\",{\"0\":{\"2\":1},\"1\":{\"1\":2,\"3\":2,\"4\":1,\"8\":2,\"9\":1,\"10\":1,\"11\":3,\"12\":1,\"14\":2,\"24\":1,\"28\":1,\"38\":2,\"40\":2,\"41\":2,\"54\":1,\"60\":1,\"70\":1,\"76\":1,\"77\":5,\"80\":1,\"90\":8,\"91\":2,\"102\":1}}],[\"vereins\",{\"1\":{\"102\":1}}],[\"veränderungen\",{\"1\":{\"90\":1}}],[\"verlassen\",{\"1\":{\"73\":1}}],[\"verlinkung\",{\"1\":{\"9\":2}}],[\"verlinkten\",{\"1\":{\"9\":3}}],[\"verhandlungssicher\",{\"1\":{\"61\":1,\"100\":1}}],[\"verzweigte\",{\"1\":{\"52\":1}}],[\"verkauften\",{\"1\":{\"41\":1}}],[\"verstärke\",{\"1\":{\"63\":1}}],[\"verstehen\",{\"1\":{\"13\":1,\"69\":1}}],[\"verschiedene\",{\"1\":{\"40\":1,\"44\":1,\"52\":1}}],[\"verschiedenen\",{\"1\":{\"29\":1,\"41\":1,\"63\":1,\"92\":1}}],[\"verschiedenste\",{\"1\":{\"26\":1}}],[\"vertraut\",{\"1\":{\"78\":1,\"80\":1}}],[\"vertrauensvolle\",{\"1\":{\"25\":1}}],[\"verteilt\",{\"1\":{\"14\":1}}],[\"verantwortung\",{\"1\":{\"25\":1}}],[\"verantwortlicher\",{\"1\":{\"63\":1}}],[\"verantwortlich\",{\"1\":{\"6\":1,\"8\":1,\"9\":1,\"22\":1}}],[\"verbinde\",{\"1\":{\"69\":1}}],[\"verbinden\",{\"1\":{\"60\":1}}],[\"verbindungen\",{\"1\":{\"25\":2,\"52\":1,\"60\":1}}],[\"verbreiten\",{\"1\":{\"19\":1,\"52\":1}}],[\"verbreitung\",{\"1\":{\"14\":1}}],[\"verwaltung\",{\"1\":{\"91\":1}}],[\"verwirklichte\",{\"1\":{\"70\":1}}],[\"verwiesen\",{\"1\":{\"12\":1}}],[\"verwurzelt\",{\"1\":{\"52\":1}}],[\"verwendet\",{\"1\":{\"23\":1,\"41\":1,\"44\":1}}],[\"verfügbarkeit\",{\"1\":{\"14\":1}}],[\"verfügbaren\",{\"1\":{\"0\":1}}],[\"vernünftige\",{\"1\":{\"14\":1}}],[\"verpflichtungen\",{\"1\":{\"8\":1}}],[\"verpflichtet\",{\"1\":{\"8\":1}}],[\"veröffentlichten\",{\"1\":{\"2\":1,\"11\":1}}],[\"veröffentlicht\",{\"1\":{\"2\":1,\"4\":1}}],[\"mündlich\",{\"1\":{\"66\":2,\"72\":1,\"75\":1}}],[\"muttersprache\",{\"1\":{\"61\":1,\"66\":1,\"72\":1,\"75\":1,\"100\":1}}],[\"musik\",{\"1\":{\"60\":1}}],[\"mustern\",{\"1\":{\"52\":1}}],[\"multiplayer\",{\"1\":{\"54\":1}}],[\"mysql\",{\"1\":{\"50\":1,\"88\":1}}],[\"msp\",{\"1\":{\"40\":1}}],[\"mäßig\",{\"1\":{\"27\":1}}],[\"mich\",{\"1\":{\"38\":1,\"52\":1,\"63\":3,\"69\":1,\"70\":1,\"90\":2}}],[\"mir\",{\"1\":{\"27\":1,\"70\":1,\"90\":2}}],[\"mission\",{\"1\":{\"25\":1}}],[\"mitnehmen\",{\"1\":{\"70\":1}}],[\"mitarbeit\",{\"1\":{\"67\":1}}],[\"mitarbeiter\",{\"0\":{\"16\":1},\"1\":{\"76\":1,\"90\":1,\"92\":1}}],[\"miteinander\",{\"1\":{\"60\":1}}],[\"mitwirkung\",{\"1\":{\"54\":1}}],[\"mitgewirkt\",{\"1\":{\"29\":1,\"92\":1}}],[\"mitgemacht\",{\"1\":{\"27\":1}}],[\"mitglieder\",{\"0\":{\"16\":1},\"1\":{\"14\":1}}],[\"mitglied\",{\"1\":{\"0\":1,\"14\":1}}],[\"mit\",{\"1\":{\"0\":3,\"5\":1,\"8\":1,\"13\":1,\"14\":1,\"17\":1,\"18\":2,\"19\":1,\"20\":1,\"23\":1,\"24\":1,\"25\":1,\"26\":2,\"38\":1,\"40\":1,\"67\":2,\"69\":1,\"70\":1,\"73\":1,\"78\":1,\"79\":1,\"80\":1,\"90\":5}}],[\"mongodb\",{\"1\":{\"88\":1}}],[\"mongoose\",{\"1\":{\"81\":1}}],[\"monate\",{\"1\":{\"77\":3}}],[\"motivation\",{\"1\":{\"52\":1,\"65\":1}}],[\"motiviere\",{\"1\":{\"25\":1}}],[\"modularen\",{\"1\":{\"26\":1}}],[\"moderne\",{\"1\":{\"18\":1}}],[\"mobiltelefon\",{\"1\":{\"17\":1}}],[\"moriz\",{\"0\":{\"64\":1},\"1\":{\"1\":1,\"2\":1,\"3\":1,\"16\":1,\"22\":1,\"63\":1}}],[\"möchtest\",{\"1\":{\"18\":1}}],[\"möchte\",{\"1\":{\"14\":1}}],[\"möglichkeiten\",{\"1\":{\"52\":1,\"73\":1}}],[\"möglichkeit\",{\"1\":{\"20\":1,\"63\":1}}],[\"mögliche\",{\"1\":{\"9\":1}}],[\"möglich\",{\"1\":{\"8\":1,\"11\":3}}],[\"maintainer\",{\"1\":{\"92\":1}}],[\"mailserver\",{\"1\":{\"87\":1}}],[\"mails\",{\"1\":{\"11\":1}}],[\"mail\",{\"1\":{\"6\":1,\"11\":1,\"17\":1,\"73\":1}}],[\"mal\",{\"1\":{\"77\":1}}],[\"master\",{\"1\":{\"42\":1,\"74\":1}}],[\"mathematik\",{\"1\":{\"38\":1,\"102\":1}}],[\"mathias\",{\"0\":{\"52\":1},\"1\":{\"3\":1,\"16\":1,\"22\":1,\"52\":1}}],[\"markup\",{\"0\":{\"99\":1}}],[\"marken\",{\"1\":{\"90\":1}}],[\"marker\",{\"1\":{\"26\":1}}],[\"mariadb\",{\"1\":{\"23\":1,\"50\":1,\"88\":1}}],[\"mapping\",{\"1\":{\"25\":1}}],[\"map\",{\"0\":{\"25\":1}}],[\"manager\",{\"1\":{\"92\":1}}],[\"management\",{\"1\":{\"65\":1}}],[\"manjaro\",{\"1\":{\"85\":1}}],[\"manuelles\",{\"1\":{\"29\":1,\"53\":1,\"54\":1,\"91\":1}}],[\"man\",{\"1\":{\"18\":1,\"73\":2,\"80\":1}}],[\"manchmal\",{\"1\":{\"14\":1}}],[\"maximilian\",{\"0\":{\"63\":1},\"1\":{\"16\":1}}],[\"mache\",{\"1\":{\"25\":1,\"38\":1}}],[\"machen\",{\"1\":{\"14\":1,\"26\":1}}],[\"machst\",{\"1\":{\"18\":1}}],[\"macht\",{\"1\":{\"14\":1}}],[\"maßgeschneiderte\",{\"0\":{\"26\":1}}],[\"maß\",{\"1\":{\"14\":1}}],[\"mengenlehre\",{\"1\":{\"102\":1}}],[\"menschliche\",{\"1\":{\"60\":1}}],[\"menschlichen\",{\"1\":{\"52\":1}}],[\"menschen\",{\"1\":{\"25\":2}}],[\"messetafeln\",{\"1\":{\"90\":1}}],[\"methoden\",{\"1\":{\"90\":1,\"91\":1}}],[\"media\",{\"1\":{\"40\":1,\"76\":1}}],[\"mechanik\",{\"1\":{\"38\":1}}],[\"mein\",{\"1\":{\"70\":2}}],[\"meinen\",{\"1\":{\"70\":1}}],[\"meinem\",{\"1\":{\"38\":2,\"67\":1,\"70\":1,\"90\":1}}],[\"meiner\",{\"1\":{\"38\":1,\"44\":1,\"63\":2,\"69\":1,\"90\":2}}],[\"meine\",{\"1\":{\"27\":1,\"40\":3,\"41\":1,\"52\":1,\"63\":1,\"64\":1,\"70\":2,\"90\":2}}],[\"meiste\",{\"1\":{\"14\":1}}],[\"meisten\",{\"1\":{\"1\":1}}],[\"mehrere\",{\"1\":{\"90\":1}}],[\"mehr\",{\"1\":{\"12\":1,\"63\":1,\"90\":1}}],[\"me\",{\"0\":{\"4\":1},\"1\":{\"4\":1,\"15\":1,\"76\":1}}],[\"meldete\",{\"1\":{\"1\":1}}],[\"chor\",{\"1\":{\"102\":1}}],[\"change\",{\"1\":{\"14\":1,\"25\":1}}],[\"c\",{\"1\":{\"68\":1}}],[\"c++\",{\"1\":{\"54\":1,\"59\":1,\"79\":1,\"99\":1}}],[\"cms\",{\"1\":{\"41\":1}}],[\"censhare\",{\"1\":{\"40\":1}}],[\"cluster\",{\"0\":{\"84\":1}}],[\"clients\",{\"1\":{\"40\":1}}],[\"closed\",{\"1\":{\"19\":1}}],[\"css\",{\"1\":{\"34\":1,\"48\":1,\"59\":1,\"68\":1,\"79\":1,\"83\":1,\"99\":1}}],[\"cypher\",{\"1\":{\"34\":1,\"68\":1,\"79\":1,\"99\":1}}],[\"cypress\",{\"1\":{\"23\":1,\"33\":1,\"57\":1,\"97\":1}}],[\"cucumber\",{\"1\":{\"33\":1,\"57\":1,\"97\":1}}],[\"corporate\",{\"1\":{\"91\":1}}],[\"code\",{\"1\":{\"91\":1}}],[\"co\",{\"1\":{\"63\":1}}],[\"com\",{\"1\":{\"76\":1}}],[\"computern\",{\"1\":{\"90\":1}}],[\"computer\",{\"1\":{\"63\":1,\"77\":1}}],[\"computersprachen\",{\"0\":{\"59\":1,\"68\":1,\"79\":1},\"1\":{\"78\":1}}],[\"computersysteme\",{\"1\":{\"52\":1}}],[\"computerlinguistik\",{\"1\":{\"52\":1}}],[\"computertechnologie\",{\"1\":{\"14\":1,\"52\":1}}],[\"community\",{\"1\":{\"26\":1}}],[\"coach\",{\"1\":{\"22\":1}}],[\"connection\",{\"0\":{\"1\":1,\"2\":1},\"1\":{\"1\":2,\"2\":1,\"15\":1,\"24\":2,\"41\":1,\"67\":1,\"76\":1}}],[\"capo\",{\"1\":{\"77\":1}}],[\"cases\",{\"1\":{\"58\":1}}],[\"ca\",{\"1\":{\"0\":1}}],[\"künstlerisch\",{\"1\":{\"90\":1}}],[\"kleine\",{\"1\":{\"67\":1}}],[\"kleines\",{\"1\":{\"63\":1}}],[\"kleinen\",{\"1\":{\"38\":1,\"41\":1,\"90\":1}}],[\"klasse\",{\"1\":{\"38\":1}}],[\"könnte\",{\"1\":{\"38\":1}}],[\"können\",{\"1\":{\"8\":1,\"9\":1,\"20\":1,\"70\":1}}],[\"kind\",{\"1\":{\"38\":1}}],[\"kubernetes\",{\"1\":{\"84\":1,\"96\":1}}],[\"kurzer\",{\"1\":{\"78\":1}}],[\"kurzen\",{\"1\":{\"14\":1}}],[\"kunden\",{\"0\":{\"19\":1},\"1\":{\"90\":1}}],[\"kochen\",{\"1\":{\"60\":1}}],[\"korrekte\",{\"1\":{\"41\":1}}],[\"kommt\",{\"1\":{\"90\":1}}],[\"kommunikation\",{\"1\":{\"11\":1}}],[\"komplexe\",{\"1\":{\"90\":1}}],[\"komplexer\",{\"1\":{\"80\":1}}],[\"komponente\",{\"1\":{\"90\":1}}],[\"komponenten\",{\"1\":{\"26\":1}}],[\"kompetenz\",{\"1\":{\"74\":1}}],[\"koordination\",{\"1\":{\"26\":1}}],[\"koordinieren\",{\"1\":{\"14\":1}}],[\"kollektivem\",{\"1\":{\"25\":1}}],[\"konstellationen\",{\"1\":{\"63\":1}}],[\"konzept\",{\"1\":{\"56\":1}}],[\"konzeption\",{\"1\":{\"54\":1,\"71\":1}}],[\"konfiguration\",{\"1\":{\"41\":1}}],[\"konfiguriert\",{\"1\":{\"24\":1}}],[\"konkrete\",{\"1\":{\"9\":1}}],[\"konkreten\",{\"1\":{\"8\":1}}],[\"kontrolle\",{\"1\":{\"9\":1}}],[\"kontaktieren\",{\"1\":{\"18\":1}}],[\"kontaktdaten\",{\"1\":{\"11\":1}}],[\"kontakt\",{\"0\":{\"17\":1},\"1\":{\"0\":1,\"17\":1,\"18\":1}}],[\"konnte\",{\"1\":{\"3\":1,\"70\":2}}],[\"kennen\",{\"1\":{\"63\":1}}],[\"kenntnis\",{\"1\":{\"8\":1}}],[\"kein\",{\"1\":{\"18\":1}}],[\"keinen\",{\"1\":{\"9\":1}}],[\"keine\",{\"1\":{\"8\":1,\"9\":1}}],[\"kern\",{\"1\":{\"14\":1}}],[\"kataloge\",{\"1\":{\"90\":1}}],[\"katalon\",{\"1\":{\"57\":1}}],[\"kategorien\",{\"1\":{\"26\":1}}],[\"karte\",{\"1\":{\"25\":1}}],[\"karten\",{\"0\":{\"26\":1},\"1\":{\"25\":1,\"26\":3}}],[\"karlsruhe\",{\"1\":{\"0\":1}}],[\"kanban\",{\"1\":{\"89\":1}}],[\"kanaban\",{\"1\":{\"51\":1}}],[\"kanal\",{\"1\":{\"18\":1}}],[\"kannst\",{\"1\":{\"18\":1,\"26\":3}}],[\"kann\",{\"1\":{\"11\":1,\"14\":1,\"18\":1,\"24\":2,\"27\":1,\"73\":1,\"74\":1,\"90\":1}}],[\"kamen\",{\"1\":{\"90\":1}}],[\"kam\",{\"1\":{\"3\":1,\"67\":1}}],[\"höchste\",{\"1\":{\"90\":1}}],[\"hobbyprojekte\",{\"1\":{\"63\":1}}],[\"hosting\",{\"1\":{\"41\":1}}],[\"häufigsten\",{\"1\":{\"44\":1}}],[\"html\",{\"1\":{\"34\":1,\"48\":1,\"59\":1,\"68\":1,\"79\":1,\"83\":1,\"99\":1}}],[\"https\",{\"1\":{\"5\":1}}],[\"hückstedt\",{\"1\":{\"22\":1}}],[\"huß\",{\"0\":{\"90\":1},\"1\":{\"16\":1,\"22\":1}}],[\"human\",{\"0\":{\"1\":1,\"2\":1},\"1\":{\"1\":2,\"2\":1,\"15\":1,\"24\":2,\"41\":1,\"67\":1,\"76\":1}}],[\"heute\",{\"1\":{\"90\":1}}],[\"herstellern\",{\"1\":{\"41\":1}}],[\"heraus\",{\"1\":{\"18\":1}}],[\"heran\",{\"1\":{\"4\":1}}],[\"helfen\",{\"1\":{\"18\":1,\"41\":1}}],[\"heine\",{\"0\":{\"37\":1},\"1\":{\"16\":1,\"22\":1}}],[\"high\",{\"1\":{\"90\":1}}],[\"hi5\",{\"1\":{\"76\":1}}],[\"hilfskraft\",{\"1\":{\"70\":1}}],[\"hibernate\",{\"1\":{\"40\":1}}],[\"hier\",{\"1\":{\"41\":1,\"63\":1,\"78\":1}}],[\"hiermit\",{\"1\":{\"11\":1}}],[\"hiervon\",{\"1\":{\"8\":1}}],[\"hineinversetze\",{\"1\":{\"69\":1}}],[\"hingabe\",{\"1\":{\"18\":1}}],[\"hinaus\",{\"1\":{\"14\":1}}],[\"hin\",{\"1\":{\"11\":1,\"90\":1}}],[\"hinweis\",{\"1\":{\"10\":1}}],[\"hinweisen\",{\"1\":{\"8\":1}}],[\"historie\",{\"0\":{\"0\":1},\"1\":{\"14\":1}}],[\"hauptseite\",{\"1\":{\"102\":1}}],[\"hauptsächlich\",{\"1\":{\"40\":1,\"90\":1}}],[\"halden\",{\"1\":{\"76\":2,\"77\":2}}],[\"half\",{\"1\":{\"40\":1,\"41\":1}}],[\"hardware\",{\"1\":{\"73\":1}}],[\"harz\",{\"0\":{\"63\":1},\"1\":{\"16\":1}}],[\"hamburg\",{\"1\":{\"38\":1,\"77\":1}}],[\"habe\",{\"1\":{\"27\":3,\"29\":1,\"38\":1,\"44\":2,\"67\":1,\"90\":2,\"92\":1,\"102\":1}}],[\"haben\",{\"1\":{\"9\":1,\"20\":1,\"22\":1,\"73\":1,\"90\":1}}],[\"hand\",{\"1\":{\"63\":1}}],[\"handeln\",{\"1\":{\"25\":1}}],[\"hannes\",{\"0\":{\"37\":1},\"1\":{\"1\":1,\"3\":1,\"16\":1,\"22\":1}}],[\"hast\",{\"1\":{\"18\":2}}],[\"haftung\",{\"0\":{\"8\":1,\"9\":1},\"1\":{\"8\":1}}],[\"haftungsausschlusses\",{\"0\":{\"12\":1}}],[\"haftungsausschluss\",{\"0\":{\"7\":1},\"1\":{\"12\":1}}],[\"hat\",{\"1\":{\"3\":1,\"14\":2,\"20\":1,\"22\":1,\"38\":1,\"52\":1,\"64\":1,\"73\":1,\"79\":1,\"90\":1}}],[\"hatte\",{\"1\":{\"0\":1,\"38\":1,\"70\":1}}],[\"öffentlichen\",{\"1\":{\"0\":1}}],[\"zwei\",{\"1\":{\"69\":1}}],[\"zwischen\",{\"1\":{\"14\":1}}],[\"zwingenberg\",{\"1\":{\"6\":2,\"77\":3}}],[\"zx81\",{\"1\":{\"64\":1}}],[\"zenhub\",{\"1\":{\"89\":1}}],[\"zertifiziert\",{\"1\":{\"53\":1}}],[\"zeige\",{\"1\":{\"18\":1,\"25\":1}}],[\"zeitgemäßer\",{\"1\":{\"52\":1}}],[\"zeitrahmen\",{\"1\":{\"19\":1}}],[\"zeit\",{\"1\":{\"3\":1,\"44\":1,\"60\":1,\"73\":2,\"77\":1}}],[\"zeitpunkt\",{\"1\":{\"0\":1,\"8\":1,\"9\":2}}],[\"zog\",{\"1\":{\"38\":1,\"70\":1}}],[\"zaubern\",{\"1\":{\"38\":1}}],[\"zyklen\",{\"1\":{\"14\":1}}],[\"zivildienst\",{\"1\":{\"76\":1}}],[\"ziviltechnik\",{\"1\":{\"14\":1}}],[\"ziele\",{\"1\":{\"14\":1,\"19\":2,\"26\":1}}],[\"z\",{\"1\":{\"11\":1,\"63\":1}}],[\"zugänglich\",{\"1\":{\"26\":1}}],[\"zugeschnitten\",{\"1\":{\"26\":1}}],[\"zugestimmt\",{\"1\":{\"20\":1}}],[\"zugriff\",{\"1\":{\"11\":1}}],[\"zusammenarbeit\",{\"1\":{\"17\":1,\"25\":1}}],[\"zusammen\",{\"1\":{\"14\":1,\"19\":1}}],[\"zusendung\",{\"1\":{\"11\":1}}],[\"zustimmung\",{\"1\":{\"11\":1}}],[\"zurückzugeben\",{\"1\":{\"41\":1}}],[\"zurück\",{\"1\":{\"38\":1}}],[\"zur\",{\"1\":{\"8\":1,\"11\":1,\"40\":1,\"90\":2}}],[\"zumutbar\",{\"1\":{\"9\":1}}],[\"zum\",{\"1\":{\"1\":1,\"9\":2,\"14\":1,\"22\":1,\"41\":1,\"63\":1,\"69\":1,\"90\":2}}],[\"zu\",{\"1\":{\"0\":4,\"1\":2,\"2\":1,\"3\":1,\"4\":1,\"5\":2,\"8\":2,\"9\":1,\"12\":1,\"14\":5,\"17\":2,\"18\":1,\"19\":3,\"20\":1,\"24\":2,\"25\":3,\"41\":2,\"52\":3,\"53\":1,\"63\":2,\"69\":1,\"70\":2,\"73\":5,\"77\":2,\"90\":6,\"102\":1}}],[\"superialzahlen\",{\"1\":{\"102\":1}}],[\"suche\",{\"1\":{\"17\":1,\"19\":1}}],[\"swift\",{\"1\":{\"99\":1}}],[\"sächsische\",{\"1\":{\"77\":1}}],[\"sass\",{\"1\":{\"68\":1,\"79\":1}}],[\"saarbrücken\",{\"1\":{\"63\":1}}],[\"sammeln\",{\"1\":{\"70\":1}}],[\"sammelt\",{\"1\":{\"20\":1}}],[\"sammle\",{\"1\":{\"25\":1}}],[\"system\",{\"1\":{\"82\":1}}],[\"systemen\",{\"1\":{\"54\":1}}],[\"symbole\",{\"1\":{\"26\":1}}],[\"skepsis\",{\"1\":{\"52\":1}}],[\"skalierbar\",{\"1\":{\"24\":1}}],[\"skalierbarkeit\",{\"1\":{\"19\":1}}],[\"shops\",{\"1\":{\"41\":2}}],[\"shopware\",{\"1\":{\"41\":2,\"47\":1}}],[\"shop\",{\"1\":{\"41\":1}}],[\"sql\",{\"1\":{\"23\":1,\"68\":1,\"79\":1}}],[\"spiegelung\",{\"1\":{\"90\":1}}],[\"spiele\",{\"1\":{\"38\":1}}],[\"spannungsspiel\",{\"1\":{\"102\":1}}],[\"spanisch\",{\"1\":{\"66\":1}}],[\"spam\",{\"1\":{\"11\":1}}],[\"sport\",{\"1\":{\"38\":2}}],[\"spricht\",{\"1\":{\"75\":1}}],[\"spreche\",{\"1\":{\"38\":1}}],[\"sprachen\",{\"0\":{\"35\":1,\"43\":1,\"61\":1,\"66\":1,\"72\":1,\"75\":1,\"99\":1,\"100\":1},\"1\":{\"38\":1,\"44\":1,\"63\":1}}],[\"sprache\",{\"1\":{\"14\":1,\"52\":1}}],[\"speaker\",{\"1\":{\"35\":1}}],[\"sperrung\",{\"1\":{\"8\":1}}],[\"singen\",{\"1\":{\"102\":1}}],[\"sind\",{\"1\":{\"8\":2,\"13\":1,\"14\":1,\"15\":1,\"17\":1,\"23\":1,\"24\":1,\"26\":1,\"44\":1}}],[\"sitzungen\",{\"1\":{\"90\":1}}],[\"sie\",{\"1\":{\"20\":1,\"52\":1}}],[\"siehe\",{\"1\":{\"14\":1}}],[\"sichtbar\",{\"1\":{\"25\":1}}],[\"sicherzustellen\",{\"1\":{\"14\":1}}],[\"sicher\",{\"1\":{\"14\":1}}],[\"sicherheitslücken\",{\"1\":{\"11\":1}}],[\"sich\",{\"1\":{\"0\":1,\"1\":2,\"3\":2,\"5\":1,\"11\":1,\"20\":1,\"52\":2,\"69\":1,\"73\":1}}],[\"sense\",{\"1\":{\"76\":1}}],[\"senden\",{\"1\":{\"73\":1}}],[\"sender\",{\"1\":{\"15\":1}}],[\"server\",{\"0\":{\"96\":1},\"1\":{\"87\":1,\"90\":2,\"91\":1,\"92\":1}}],[\"servern\",{\"1\":{\"24\":1}}],[\"services\",{\"1\":{\"76\":1}}],[\"seo\",{\"1\":{\"74\":1,\"83\":1}}],[\"second\",{\"1\":{\"63\":1}}],[\"selenium\",{\"1\":{\"57\":1}}],[\"selber\",{\"1\":{\"27\":1}}],[\"selbstständigkeit\",{\"1\":{\"70\":1}}],[\"selbstbestimmt\",{\"1\":{\"25\":1}}],[\"selbst\",{\"1\":{\"5\":1,\"70\":1}}],[\"sehr\",{\"1\":{\"27\":1,\"38\":2}}],[\"sehen\",{\"1\":{\"20\":1}}],[\"sebastian\",{\"0\":{\"69\":1},\"1\":{\"16\":1}}],[\"sein\",{\"1\":{\"19\":1}}],[\"seines\",{\"1\":{\"52\":1}}],[\"seiner\",{\"1\":{\"22\":1,\"73\":1}}],[\"seine\",{\"1\":{\"14\":1,\"73\":1}}],[\"seinen\",{\"1\":{\"0\":1}}],[\"seitdem\",{\"1\":{\"63\":1,\"64\":1}}],[\"seit\",{\"1\":{\"14\":1,\"27\":1,\"63\":1,\"90\":2}}],[\"seite\",{\"1\":{\"10\":1,\"12\":1,\"69\":1}}],[\"seiten\",{\"1\":{\"8\":2,\"9\":4,\"11\":2,\"41\":1}}],[\"science\",{\"1\":{\"76\":1,\"102\":2}}],[\"scrum\",{\"1\":{\"42\":1,\"74\":1}}],[\"schildern\",{\"1\":{\"90\":1}}],[\"schicke\",{\"1\":{\"19\":1}}],[\"schon\",{\"1\":{\"90\":1}}],[\"schweiz\",{\"1\":{\"77\":2}}],[\"schulzeit\",{\"1\":{\"52\":1}}],[\"schutz\",{\"1\":{\"11\":1}}],[\"schriftlich\",{\"1\":{\"66\":2,\"72\":1,\"75\":1}}],[\"schrift\",{\"1\":{\"43\":1}}],[\"schritte\",{\"1\":{\"11\":1,\"52\":1}}],[\"schauwerbegestalter\",{\"1\":{\"90\":1}}],[\"schau\",{\"1\":{\"26\":1}}],[\"schaffen\",{\"1\":{\"22\":1,\"24\":1,\"25\":1}}],[\"schönen\",{\"1\":{\"38\":1}}],[\"schön\",{\"1\":{\"18\":1}}],[\"schließt\",{\"1\":{\"90\":1}}],[\"schließung\",{\"1\":{\"24\":1}}],[\"schließlich\",{\"1\":{\"3\":1,\"90\":1}}],[\"schleifen\",{\"1\":{\"14\":1}}],[\"scout\",{\"1\":{\"3\":1}}],[\"soul\",{\"1\":{\"102\":2}}],[\"source\",{\"1\":{\"19\":1,\"20\":1,\"24\":1,\"67\":1}}],[\"so\",{\"1\":{\"38\":2,\"90\":1}}],[\"sowie\",{\"1\":{\"24\":1,\"90\":1}}],[\"soweit\",{\"1\":{\"10\":1,\"11\":2}}],[\"sorgen\",{\"1\":{\"19\":1}}],[\"sorgfalt\",{\"1\":{\"8\":1}}],[\"sogar\",{\"1\":{\"14\":1}}],[\"somit\",{\"1\":{\"14\":1}}],[\"sommer\",{\"1\":{\"3\":1}}],[\"sofort\",{\"1\":{\"63\":1}}],[\"sofern\",{\"1\":{\"12\":1}}],[\"softwarearchitekt\",{\"1\":{\"74\":1}}],[\"softwareunternehmen\",{\"1\":{\"70\":1}}],[\"softwareprojekt\",{\"1\":{\"29\":1}}],[\"softwareentwicklung\",{\"1\":{\"14\":1,\"51\":1,\"52\":1,\"76\":3,\"89\":1}}],[\"softwareentwicklern\",{\"1\":{\"14\":1}}],[\"softwareentwickler\",{\"1\":{\"13\":1,\"44\":1,\"63\":1,\"73\":1}}],[\"software\",{\"1\":{\"1\":1,\"14\":2,\"24\":1,\"40\":2,\"42\":1,\"73\":1,\"76\":4,\"90\":1,\"92\":1}}],[\"solutions\",{\"1\":{\"76\":1}}],[\"soll\",{\"1\":{\"19\":1,\"76\":1}}],[\"sollten\",{\"1\":{\"12\":1}}],[\"solltest\",{\"1\":{\"10\":1}}],[\"solche\",{\"1\":{\"10\":1}}],[\"social\",{\"0\":{\"2\":1,\"24\":1},\"1\":{\"1\":1,\"2\":4,\"4\":1,\"15\":2,\"24\":1,\"29\":1,\"67\":1,\"76\":2,\"90\":1,\"92\":1}}],[\"sozialen\",{\"1\":{\"14\":1,\"19\":1}}],[\"soziales\",{\"1\":{\"4\":1}}],[\"soziale\",{\"1\":{\"1\":1,\"2\":1,\"24\":1}}],[\"story\",{\"0\":{\"70\":1}}],[\"stolz\",{\"1\":{\"15\":1}}],[\"studio\",{\"1\":{\"57\":1}}],[\"studiert\",{\"1\":{\"38\":1}}],[\"studiums\",{\"1\":{\"52\":1,\"70\":1}}],[\"studium\",{\"1\":{\"18\":1,\"27\":1,\"67\":1,\"70\":1}}],[\"stärke\",{\"1\":{\"27\":1}}],[\"stärken\",{\"1\":{\"25\":1}}],[\"stellvertretender\",{\"1\":{\"102\":1}}],[\"stellen\",{\"1\":{\"4\":1,\"14\":1}}],[\"stein\",{\"0\":{\"69\":1},\"1\":{\"16\":1}}],[\"stets\",{\"1\":{\"9\":1,\"11\":1}}],[\"strukturelle\",{\"1\":{\"90\":1}}],[\"strategien\",{\"1\":{\"53\":1}}],[\"str\",{\"1\":{\"6\":2}}],[\"stackoverflow\",{\"1\":{\"73\":1}}],[\"stadt\",{\"1\":{\"38\":2}}],[\"starte\",{\"1\":{\"25\":1}}],[\"startenunsere\",{\"1\":{\"13\":1}}],[\"stattfindet\",{\"1\":{\"14\":1}}],[\"stage\",{\"1\":{\"2\":1}}],[\"stand\",{\"1\":{\"0\":1}}],[\"stieß\",{\"1\":{\"1\":1,\"3\":1,\"38\":1}}],[\"tätig\",{\"1\":{\"90\":1}}],[\"tätigkeit\",{\"1\":{\"8\":1}}],[\"tun\",{\"1\":{\"90\":1}}],[\"typografie\",{\"1\":{\"65\":1,\"67\":1}}],[\"typeorm\",{\"1\":{\"41\":1,\"45\":1}}],[\"typescript\",{\"1\":{\"21\":1,\"41\":1,\"45\":1}}],[\"tiktok\",{\"1\":{\"24\":1}}],[\"tools\",{\"0\":{\"87\":1}}],[\"toulouse\",{\"1\":{\"38\":1}}],[\"to\",{\"1\":{\"22\":1,\"23\":1}}],[\"tatsächlich\",{\"1\":{\"14\":1}}],[\"themen\",{\"1\":{\"102\":1}}],[\"thema\",{\"1\":{\"63\":1}}],[\"the\",{\"1\":{\"14\":1}}],[\"treten\",{\"1\":{\"18\":1}}],[\"treffen\",{\"1\":{\"14\":1,\"20\":1,\"63\":1}}],[\"trotzdem\",{\"1\":{\"10\":1}}],[\"tracking\",{\"1\":{\"58\":1}}],[\"trac\",{\"1\":{\"58\":1}}],[\"trat\",{\"1\":{\"4\":1}}],[\"trafen\",{\"1\":{\"1\":1}}],[\"traf\",{\"1\":{\"0\":1}}],[\"textildruck\",{\"1\":{\"76\":1}}],[\"textes\",{\"1\":{\"12\":1}}],[\"tex\",{\"1\":{\"67\":1}}],[\"testumgebungen\",{\"1\":{\"91\":1}}],[\"tester\",{\"1\":{\"91\":1}}],[\"testen\",{\"1\":{\"29\":2,\"53\":2,\"54\":2,\"56\":2,\"91\":2,\"92\":1}}],[\"testrail\",{\"1\":{\"58\":1}}],[\"testmanagement\",{\"0\":{\"58\":1}}],[\"test\",{\"1\":{\"56\":1,\"58\":1}}],[\"testverfahren\",{\"0\":{\"56\":1}}],[\"testkonzept\",{\"1\":{\"54\":2}}],[\"testkonzeption\",{\"1\":{\"53\":1}}],[\"testautomatisierung\",{\"0\":{\"57\":1},\"1\":{\"53\":1,\"54\":2}}],[\"testing\",{\"0\":{\"33\":1,\"97\":1},\"1\":{\"53\":1,\"54\":1,\"56\":1,\"65\":1}}],[\"testszenarien\",{\"1\":{\"22\":1}}],[\"tests\",{\"1\":{\"22\":1,\"23\":1}}],[\"techstack\",{\"0\":{\"21\":1,\"23\":1,\"78\":1}}],[\"technologischer\",{\"1\":{\"90\":1}}],[\"technologiekenntnissen\",{\"1\":{\"80\":1}}],[\"technologien\",{\"0\":{\"80\":1},\"1\":{\"18\":1,\"78\":1,\"90\":1}}],[\"technologie\",{\"1\":{\"13\":1}}],[\"technischen\",{\"1\":{\"69\":1,\"70\":1}}],[\"technischer\",{\"1\":{\"13\":1}}],[\"technisch\",{\"1\":{\"63\":1}}],[\"telegram\",{\"1\":{\"18\":1,\"26\":1}}],[\"telefon\",{\"1\":{\"6\":1}}],[\"teile\",{\"1\":{\"12\":2}}],[\"teil\",{\"1\":{\"12\":1}}],[\"teamleitung\",{\"1\":{\"76\":1}}],[\"teamkoordination\",{\"1\":{\"76\":2}}],[\"teammanagement\",{\"1\":{\"67\":1}}],[\"teammitgliedern\",{\"1\":{\"5\":1,\"14\":1}}],[\"team\",{\"0\":{\"105\":1},\"1\":{\"1\":1,\"4\":2,\"5\":1,\"14\":3,\"17\":1,\"63\":1,\"90\":1}}],[\"teamspeak\",{\"1\":{\"87\":1}}],[\"teams\",{\"1\":{\"0\":1,\"3\":1,\"14\":2,\"18\":1,\"19\":1}}],[\"tmg\",{\"1\":{\"6\":1,\"8\":2}}],[\"pjannto\",{\"1\":{\"90\":1,\"92\":1}}],[\"physik\",{\"1\":{\"102\":1}}],[\"philosoph\",{\"1\":{\"102\":1}}],[\"phasen\",{\"1\":{\"90\":1}}],[\"php\",{\"0\":{\"47\":1,\"82\":1},\"1\":{\"31\":1,\"41\":1,\"79\":1}}],[\"pullrequest\",{\"1\":{\"89\":1}}],[\"punkte\",{\"1\":{\"60\":1}}],[\"pm2\",{\"1\":{\"81\":1}}],[\"psychologische\",{\"1\":{\"69\":1}}],[\"python\",{\"1\":{\"59\":1,\"68\":1,\"79\":1}}],[\"pflege\",{\"1\":{\"54\":1}}],[\"playwright\",{\"1\":{\"57\":1}}],[\"planning\",{\"1\":{\"76\":1}}],[\"plan\",{\"1\":{\"56\":1}}],[\"planung\",{\"1\":{\"40\":1,\"54\":1,\"76\":2}}],[\"platziere\",{\"1\":{\"25\":1}}],[\"plattform\",{\"1\":{\"23\":1,\"63\":1}}],[\"pairing\",{\"1\":{\"90\":1}}],[\"passero\",{\"1\":{\"77\":1}}],[\"pascal\",{\"1\":{\"68\":1,\"79\":1,\"98\":1,\"99\":1}}],[\"patching\",{\"1\":{\"54\":1}}],[\"paper\",{\"1\":{\"40\":1}}],[\"parlament\",{\"1\":{\"20\":1}}],[\"portopalo\",{\"1\":{\"77\":1}}],[\"portierung\",{\"1\":{\"54\":1}}],[\"poi\",{\"1\":{\"46\":1}}],[\"postfix\",{\"1\":{\"87\":1}}],[\"postgresql\",{\"1\":{\"50\":1,\"88\":1}}],[\"postscript\",{\"1\":{\"34\":1,\"99\":1}}],[\"positives\",{\"1\":{\"13\":1}}],[\"pop\",{\"1\":{\"26\":1}}],[\"permakultur\",{\"1\":{\"63\":1}}],[\"permanente\",{\"1\":{\"9\":1}}],[\"perspektiven\",{\"1\":{\"69\":1}}],[\"persönlicher\",{\"1\":{\"13\":1}}],[\"personalisierte\",{\"1\":{\"26\":1}}],[\"personen\",{\"1\":{\"20\":1}}],[\"personenbezogene\",{\"1\":{\"11\":1}}],[\"personenbezogener\",{\"1\":{\"11\":1}}],[\"person\",{\"1\":{\"0\":1,\"73\":1}}],[\"per\",{\"1\":{\"11\":1,\"17\":1}}],[\"praktizieren\",{\"1\":{\"102\":1}}],[\"praktischen\",{\"1\":{\"52\":1}}],[\"privatwissenschaftler\",{\"1\":{\"102\":1}}],[\"private\",{\"1\":{\"63\":1,\"102\":1}}],[\"prinzipien\",{\"1\":{\"14\":1}}],[\"präsentation\",{\"0\":{\"38\":1}}],[\"präsentieren\",{\"1\":{\"5\":1}}],[\"prospekte\",{\"1\":{\"90\":1}}],[\"programmen\",{\"1\":{\"90\":1}}],[\"programmiert\",{\"1\":{\"73\":1}}],[\"programmiersprachen\",{\"0\":{\"44\":1},\"1\":{\"79\":1,\"90\":1}}],[\"programmieren\",{\"1\":{\"38\":1,\"64\":1,\"70\":1,\"73\":1,\"90\":1}}],[\"programmierer\",{\"1\":{\"29\":2,\"73\":1,\"92\":1}}],[\"programmierung\",{\"0\":{\"34\":1,\"99\":1},\"1\":{\"52\":1,\"90\":2}}],[\"produkts\",{\"1\":{\"41\":1}}],[\"produkt\",{\"1\":{\"24\":1}}],[\"project\",{\"1\":{\"22\":1,\"29\":1,\"92\":1,\"102\":2}}],[\"projektmanagement\",{\"1\":{\"90\":1}}],[\"projektmanager\",{\"1\":{\"74\":1}}],[\"projekts\",{\"1\":{\"54\":1}}],[\"projektbeschreibung\",{\"1\":{\"19\":1}}],[\"projekten\",{\"1\":{\"14\":2,\"27\":1,\"29\":1,\"54\":1,\"92\":1}}],[\"projekte\",{\"0\":{\"15\":1,\"29\":1,\"41\":1,\"54\":1,\"67\":1,\"76\":1,\"92\":1,\"104\":1},\"1\":{\"13\":1,\"14\":1,\"15\":1,\"25\":2,\"54\":1,\"69\":1,\"70\":1,\"90\":2}}],[\"projekt\",{\"1\":{\"0\":3,\"1\":1,\"2\":2,\"3\":1,\"13\":1,\"19\":1,\"20\":1,\"22\":2,\"24\":1,\"40\":1,\"63\":1,\"67\":1,\"70\":1,\"90\":1,\"91\":1,\"92\":1}}],[\"prozenten\",{\"1\":{\"20\":1}}],[\"prozessautomatisierung\",{\"1\":{\"67\":1}}],[\"prozess\",{\"1\":{\"14\":1}}],[\"profile\",{\"1\":{\"26\":1}}],[\"profil\",{\"0\":{\"36\":1,\"62\":1,\"101\":1},\"1\":{\"18\":2,\"25\":1}}],[\"professionellen\",{\"1\":{\"18\":1}}],[\"professionelle\",{\"1\":{\"14\":1}}],[\"ubuntu\",{\"1\":{\"85\":1}}],[\"ux\",{\"1\":{\"71\":1}}],[\"user\",{\"1\":{\"69\":1}}],[\"ui\",{\"1\":{\"26\":1,\"29\":1,\"91\":1,\"92\":1}}],[\"ups\",{\"1\":{\"26\":1}}],[\"utopia\",{\"0\":{\"25\":1},\"1\":{\"25\":1,\"26\":2}}],[\"urheberrechtsverletzung\",{\"1\":{\"10\":1}}],[\"urheberrechte\",{\"1\":{\"10\":1}}],[\"urheberrecht\",{\"0\":{\"10\":1}}],[\"ursprüngliche\",{\"1\":{\"0\":1}}],[\"umfassen\",{\"1\":{\"90\":1}}],[\"umzusetzen\",{\"1\":{\"70\":1}}],[\"umsetze\",{\"1\":{\"90\":1}}],[\"umsetzen\",{\"1\":{\"13\":1,\"69\":1}}],[\"umsetzung\",{\"1\":{\"22\":1,\"76\":1}}],[\"umständen\",{\"1\":{\"8\":1}}],[\"umgehend\",{\"1\":{\"8\":1,\"9\":1,\"10\":1}}],[\"um\",{\"1\":{\"0\":2,\"1\":1,\"2\":1,\"4\":1,\"5\":1,\"10\":1,\"14\":4,\"17\":1,\"19\":2,\"41\":1,\"69\":1,\"70\":1,\"73\":2}}],[\"ulfs\",{\"1\":{\"76\":1,\"80\":1}}],[\"ulf\",{\"0\":{\"73\":1},\"1\":{\"0\":2,\"1\":2,\"2\":1,\"3\":2,\"6\":2,\"16\":1,\"22\":1,\"73\":1,\"74\":1,\"75\":1,\"77\":1,\"78\":1,\"79\":1}}],[\"unvollständige\",{\"1\":{\"80\":1}}],[\"unvermeidlichen\",{\"1\":{\"14\":1}}],[\"unverlangten\",{\"1\":{\"11\":1}}],[\"uni\",{\"1\":{\"63\":1}}],[\"unix\",{\"1\":{\"54\":1}}],[\"unit\",{\"1\":{\"22\":1,\"65\":1}}],[\"universitäten\",{\"1\":{\"0\":1}}],[\"unwartbar\",{\"1\":{\"14\":1}}],[\"unberührt\",{\"1\":{\"8\":1,\"12\":1}}],[\"unterrichten\",{\"1\":{\"102\":1}}],[\"unternehmen\",{\"1\":{\"67\":1,\"70\":1}}],[\"unternahm\",{\"1\":{\"52\":1}}],[\"unterstützung\",{\"1\":{\"54\":2}}],[\"unterstützen\",{\"1\":{\"13\":1,\"52\":1}}],[\"unter\",{\"1\":{\"1\":1,\"2\":1,\"4\":1,\"24\":1}}],[\"unsere\",{\"1\":{\"14\":2,\"19\":1,\"25\":1,\"26\":1}}],[\"unseren\",{\"1\":{\"11\":1,\"18\":1}}],[\"unserer\",{\"1\":{\"8\":1,\"11\":1,\"14\":3,\"26\":1}}],[\"unseres\",{\"1\":{\"0\":1,\"26\":1}}],[\"unser\",{\"1\":{\"3\":1,\"9\":1,\"14\":2}}],[\"uns\",{\"1\":{\"1\":1,\"2\":1,\"14\":1,\"17\":1,\"18\":4,\"19\":2}}],[\"und\",{\"0\":{\"16\":1,\"44\":1,\"60\":1,\"102\":1},\"1\":{\"0\":2,\"1\":3,\"2\":3,\"3\":1,\"5\":2,\"8\":1,\"11\":1,\"12\":1,\"13\":2,\"14\":8,\"18\":1,\"19\":4,\"20\":1,\"22\":5,\"24\":2,\"25\":7,\"26\":3,\"27\":1,\"29\":1,\"38\":3,\"40\":4,\"41\":2,\"43\":1,\"52\":6,\"53\":2,\"54\":2,\"56\":2,\"60\":3,\"63\":3,\"66\":2,\"67\":3,\"69\":3,\"70\":1,\"72\":1,\"73\":6,\"74\":1,\"75\":2,\"76\":2,\"78\":1,\"80\":1,\"90\":11,\"91\":2,\"92\":2,\"102\":4}}],[\"actions\",{\"1\":{\"96\":1}}],[\"acht\",{\"1\":{\"67\":1}}],[\"administration\",{\"0\":{\"96\":1},\"1\":{\"90\":1}}],[\"adressen\",{\"1\":{\"11\":1}}],[\"agenturen\",{\"1\":{\"54\":1}}],[\"ag\",{\"1\":{\"40\":1}}],[\"agiles\",{\"1\":{\"91\":1}}],[\"agile\",{\"1\":{\"51\":1,\"54\":1,\"89\":1,\"91\":1}}],[\"agiler\",{\"1\":{\"22\":1}}],[\"agilen\",{\"1\":{\"14\":1,\"90\":1}}],[\"arch\",{\"1\":{\"85\":1}}],[\"architekt\",{\"1\":{\"42\":1}}],[\"arten\",{\"1\":{\"38\":1}}],[\"arbeitsabläufe\",{\"1\":{\"18\":1}}],[\"arbeitsprozess\",{\"1\":{\"14\":1}}],[\"arbeitete\",{\"1\":{\"22\":2,\"67\":1}}],[\"arbeitet\",{\"1\":{\"14\":1}}],[\"arbeiten\",{\"1\":{\"0\":2,\"14\":1,\"18\":2,\"19\":1,\"90\":1}}],[\"arbeit\",{\"0\":{\"39\":1,\"40\":1},\"1\":{\"14\":2,\"40\":1,\"69\":1}}],[\"aktiv\",{\"1\":{\"25\":1,\"63\":1}}],[\"aktionen\",{\"1\":{\"25\":1}}],[\"aktualität\",{\"1\":{\"8\":1}}],[\"apache\",{\"1\":{\"46\":1,\"49\":1,\"86\":1}}],[\"apollo\",{\"1\":{\"23\":1,\"45\":1,\"81\":1}}],[\"appium\",{\"1\":{\"57\":1}}],[\"app\",{\"0\":{\"20\":1},\"1\":{\"15\":1,\"20\":1,\"76\":1,\"90\":1,\"92\":2}}],[\"abzubauen\",{\"1\":{\"52\":1}}],[\"abzustimmen\",{\"1\":{\"20\":1}}],[\"abitur\",{\"1\":{\"38\":1,\"76\":1}}],[\"abgesehen\",{\"1\":{\"38\":1}}],[\"abgeschlossen\",{\"1\":{\"18\":1}}],[\"abgelehnt\",{\"1\":{\"20\":1}}],[\"ablehnen\",{\"1\":{\"20\":1}}],[\"abteilung\",{\"1\":{\"19\":1}}],[\"ab\",{\"1\":{\"8\":1}}],[\"abschluss\",{\"1\":{\"70\":1,\"76\":1}}],[\"abschnitt\",{\"1\":{\"0\":1}}],[\"abstimmung\",{\"1\":{\"20\":1}}],[\"abs\",{\"1\":{\"6\":1,\"8\":1}}],[\"as\",{\"1\":{\"5\":1}}],[\"autodidaktisch\",{\"1\":{\"90\":1}}],[\"autodidaktische\",{\"1\":{\"52\":1}}],[\"autoit\",{\"1\":{\"79\":1}}],[\"autorität\",{\"1\":{\"14\":1}}],[\"augenhöhe\",{\"1\":{\"25\":1}}],[\"außerdem\",{\"1\":{\"14\":1}}],[\"ausgeschaltet\",{\"1\":{\"77\":1}}],[\"ausbildung\",{\"0\":{\"76\":1}}],[\"austausch\",{\"1\":{\"60\":1}}],[\"auszeichnungssprachen\",{\"0\":{\"34\":1}}],[\"auswirkungen\",{\"1\":{\"19\":1}}],[\"aus\",{\"1\":{\"12\":1,\"18\":2}}],[\"ausdrücklich\",{\"1\":{\"11\":3}}],[\"ausdrückliche\",{\"1\":{\"11\":1}}],[\"ausprobieren\",{\"1\":{\"2\":1}}],[\"auch\",{\"1\":{\"9\":1,\"14\":1,\"18\":2,\"90\":4}}],[\"aufgehört\",{\"1\":{\"64\":1}}],[\"aufgewachsen\",{\"1\":{\"38\":1}}],[\"aufgaben\",{\"1\":{\"40\":1,\"41\":2,\"74\":1}}],[\"aufregend\",{\"1\":{\"38\":1}}],[\"auftraggeber\",{\"1\":{\"14\":1}}],[\"auftritt\",{\"1\":{\"0\":1}}],[\"aufweisen\",{\"1\":{\"11\":1}}],[\"aufmerksam\",{\"1\":{\"10\":1}}],[\"auf\",{\"1\":{\"0\":1,\"1\":1,\"2\":1,\"4\":2,\"8\":2,\"9\":2,\"10\":2,\"11\":2,\"12\":1,\"14\":2,\"15\":1,\"17\":2,\"19\":2,\"23\":1,\"24\":1,\"25\":4,\"26\":1,\"38\":1,\"41\":1,\"56\":1,\"63\":1,\"73\":1,\"90\":2}}],[\"am\",{\"1\":{\"2\":1,\"4\":1,\"22\":2,\"40\":1,\"44\":1,\"67\":1}}],[\"anrufen\",{\"1\":{\"73\":1}}],[\"anbieten\",{\"1\":{\"67\":1}}],[\"anbieter\",{\"1\":{\"9\":1}}],[\"anfertigung\",{\"1\":{\"90\":1}}],[\"anfang\",{\"1\":{\"90\":1}}],[\"anfangszeit\",{\"1\":{\"38\":1}}],[\"anforderungen\",{\"1\":{\"26\":1}}],[\"andererseits\",{\"1\":{\"69\":1}}],[\"anderen\",{\"1\":{\"40\":1,\"90\":1}}],[\"and\",{\"1\":{\"35\":1,\"57\":1}}],[\"anwendungssoftware\",{\"1\":{\"90\":1}}],[\"anwendungsfällen\",{\"1\":{\"26\":1}}],[\"anwendungsfälle\",{\"1\":{\"26\":1}}],[\"anwendung\",{\"1\":{\"40\":1,\"41\":1,\"90\":1}}],[\"anwendungen\",{\"1\":{\"28\":1,\"90\":1,\"91\":1}}],[\"anpassbare\",{\"1\":{\"26\":1}}],[\"annehmen\",{\"1\":{\"20\":1,\"69\":1}}],[\"ansprüche\",{\"1\":{\"90\":1}}],[\"anspruch\",{\"1\":{\"19\":1}}],[\"anstellung\",{\"1\":{\"70\":1}}],[\"ansätze\",{\"0\":{\"55\":1,\"93\":1}}],[\"anschrift\",{\"1\":{\"11\":1}}],[\"anhaltspunkte\",{\"1\":{\"9\":1}}],[\"angular\",{\"1\":{\"45\":1}}],[\"angularjs\",{\"1\":{\"41\":1}}],[\"angabe\",{\"1\":{\"11\":1}}],[\"angaben\",{\"1\":{\"6\":1}}],[\"angefangen\",{\"1\":{\"73\":1}}],[\"angeforderter\",{\"1\":{\"11\":1}}],[\"angesprochen\",{\"1\":{\"52\":1}}],[\"angeschlossen\",{\"1\":{\"3\":1}}],[\"angeboten\",{\"1\":{\"24\":1}}],[\"angebot\",{\"1\":{\"9\":1}}],[\"angedachte\",{\"1\":{\"1\":1}}],[\"anzuschließen\",{\"1\":{\"3\":1}}],[\"antrat\",{\"1\":{\"3\":1}}],[\"an\",{\"1\":{\"0\":1,\"3\":1,\"4\":1,\"11\":1,\"14\":2,\"17\":1,\"26\":1,\"29\":1,\"52\":1,\"54\":1,\"63\":1,\"73\":1,\"92\":1}}],[\"algorithmus\",{\"1\":{\"73\":1}}],[\"alt\",{\"1\":{\"64\":1}}],[\"altes\",{\"1\":{\"63\":1}}],[\"alternative\",{\"1\":{\"13\":1,\"22\":1,\"24\":1}}],[\"all\",{\"1\":{\"20\":1}}],[\"allgemeinen\",{\"1\":{\"8\":2}}],[\"allen\",{\"1\":{\"90\":1}}],[\"alle\",{\"1\":{\"1\":1,\"38\":1}}],[\"alles\",{\"1\":{\"0\":1,\"27\":2}}],[\"alexander\",{\"0\":{\"27\":1},\"1\":{\"16\":1,\"22\":1}}],[\"alex\",{\"1\":{\"0\":1,\"1\":1,\"2\":1,\"3\":1}}],[\"also\",{\"1\":{\"90\":1}}],[\"alsbacher\",{\"1\":{\"6\":2}}],[\"als\",{\"1\":{\"0\":3,\"1\":1,\"2\":1,\"3\":1,\"5\":1,\"8\":2,\"10\":1,\"12\":1,\"14\":1,\"18\":1,\"22\":1,\"38\":1,\"40\":1,\"44\":1,\"63\":4,\"64\":1,\"70\":2,\"90\":1}}],[\"ios\",{\"1\":{\"92\":1}}],[\"iphone\",{\"1\":{\"90\":1}}],[\"ipfs\",{\"1\":{\"31\":1}}],[\"irgendwann\",{\"1\":{\"63\":1}}],[\"ihm\",{\"1\":{\"73\":1}}],[\"ihn\",{\"1\":{\"73\":1}}],[\"ihnen\",{\"1\":{\"52\":1}}],[\"ihren\",{\"1\":{\"20\":2}}],[\"ihrer\",{\"1\":{\"12\":1}}],[\"ihrem\",{\"1\":{\"12\":1}}],[\"ich\",{\"1\":{\"27\":5,\"29\":1,\"38\":10,\"40\":1,\"41\":3,\"44\":2,\"52\":1,\"63\":5,\"64\":2,\"67\":5,\"69\":3,\"70\":6,\"90\":5,\"92\":1,\"102\":1}}],[\"issues\",{\"1\":{\"58\":1}}],[\"ispirierende\",{\"1\":{\"25\":1}}],[\"istqb\",{\"1\":{\"53\":1}}],[\"ist\",{\"1\":{\"0\":1,\"8\":1,\"9\":2,\"11\":2,\"12\":1,\"14\":5,\"20\":1,\"21\":1,\"22\":1,\"23\":2,\"24\":1,\"27\":1,\"52\":1,\"73\":5,\"77\":1,\"78\":2,\"80\":2,\"90\":2}}],[\"ideen\",{\"1\":{\"69\":1}}],[\"idee\",{\"1\":{\"22\":1,\"24\":1}}],[\"it\",{\"1\":{\"14\":1,\"18\":1,\"19\":1,\"80\":1}}],[\"italien\",{\"1\":{\"3\":1}}],[\"it4c\",{\"0\":{\"5\":1,\"14\":1},\"1\":{\"0\":1,\"5\":2,\"6\":1,\"13\":1,\"14\":1,\"63\":1}}],[\"impressumspflicht\",{\"1\":{\"11\":1}}],[\"impressum\",{\"0\":{\"6\":1}}],[\"implementieren\",{\"1\":{\"1\":1,\"17\":1,\"73\":1}}],[\"immer\",{\"1\":{\"3\":1,\"38\":1,\"80\":1}}],[\"im\",{\"1\":{\"2\":1,\"3\":2,\"4\":1,\"11\":3,\"25\":1,\"40\":2,\"52\":1,\"63\":3,\"67\":1,\"80\":1,\"90\":1}}],[\"inhaber\",{\"1\":{\"90\":1,\"92\":1}}],[\"inhaltliche\",{\"1\":{\"9\":1}}],[\"inhalte\",{\"0\":{\"8\":1},\"1\":{\"8\":4,\"9\":4,\"10\":3}}],[\"inhalt\",{\"1\":{\"6\":1,\"12\":1}}],[\"including\",{\"1\":{\"88\":2}}],[\"integrierte\",{\"1\":{\"102\":1}}],[\"interaktiven\",{\"1\":{\"26\":1,\"90\":1}}],[\"interaktive\",{\"1\":{\"25\":1}}],[\"interessanter\",{\"1\":{\"90\":1}}],[\"interessierten\",{\"1\":{\"52\":1}}],[\"interessiert\",{\"1\":{\"18\":1}}],[\"interessen\",{\"0\":{\"60\":1,\"102\":1},\"1\":{\"102\":1}}],[\"interesse\",{\"1\":{\"17\":1,\"38\":1,\"52\":1}}],[\"internetseiten\",{\"1\":{\"102\":1}}],[\"internetangebotes\",{\"1\":{\"12\":1}}],[\"internet\",{\"1\":{\"11\":1,\"90\":1}}],[\"intuition\",{\"1\":{\"56\":1}}],[\"ingenieurs\",{\"1\":{\"40\":2}}],[\"individuell\",{\"1\":{\"24\":1,\"26\":1}}],[\"insomnia\",{\"1\":{\"57\":1}}],[\"ins\",{\"1\":{\"41\":1}}],[\"instagram\",{\"1\":{\"24\":1}}],[\"insbesondere\",{\"1\":{\"10\":1,\"63\":1}}],[\"innenleben\",{\"1\":{\"18\":1}}],[\"innerhalb\",{\"1\":{\"14\":1,\"19\":1}}],[\"informatikstudium\",{\"1\":{\"63\":1}}],[\"informatik\",{\"1\":{\"38\":1,\"70\":2,\"76\":1}}],[\"informationsmaterialien\",{\"1\":{\"11\":1}}],[\"informationen\",{\"1\":{\"8\":2,\"26\":1}}],[\"info\",{\"1\":{\"6\":1}}],[\"influencer\",{\"1\":{\"0\":1}}],[\"in\",{\"0\":{\"40\":1},\"1\":{\"0\":1,\"3\":1,\"11\":1,\"12\":1,\"18\":3,\"19\":3,\"20\":1,\"21\":1,\"23\":1,\"25\":1,\"38\":8,\"43\":1,\"44\":1,\"52\":3,\"63\":4,\"67\":1,\"69\":1,\"70\":4,\"73\":1,\"76\":2,\"90\":5,\"102\":2}}],[\"ebenso\",{\"1\":{\"90\":1}}],[\"ebenfalls\",{\"1\":{\"22\":1}}],[\"evonik\",{\"1\":{\"76\":1}}],[\"evaluieren\",{\"1\":{\"0\":1}}],[\"effektiv\",{\"1\":{\"69\":1}}],[\"effektiver\",{\"1\":{\"14\":1}}],[\"elisp\",{\"1\":{\"68\":1}}],[\"ehealth\",{\"1\":{\"54\":1}}],[\"eye\",{\"1\":{\"42\":1,\"74\":1}}],[\"etc\",{\"1\":{\"40\":2,\"41\":4}}],[\"etwa\",{\"1\":{\"11\":1}}],[\"echten\",{\"1\":{\"25\":1}}],[\"echte\",{\"1\":{\"25\":1}}],[\"europa\",{\"1\":{\"14\":1}}],[\"existenten\",{\"1\":{\"63\":1}}],[\"exploratives\",{\"1\":{\"53\":1,\"54\":1,\"56\":1}}],[\"express\",{\"1\":{\"45\":1,\"49\":1,\"81\":1,\"86\":1}}],[\"exports\",{\"1\":{\"40\":1}}],[\"expertise\",{\"0\":{\"54\":1,\"67\":1,\"92\":1},\"1\":{\"13\":1,\"19\":1}}],[\"externen\",{\"1\":{\"9\":1}}],[\"email\",{\"1\":{\"11\":1}}],[\"eigentümer\",{\"1\":{\"92\":1}}],[\"eigentliches\",{\"1\":{\"70\":1}}],[\"eigenem\",{\"1\":{\"24\":1}}],[\"eigenen\",{\"1\":{\"24\":1,\"26\":1,\"70\":1}}],[\"eigene\",{\"1\":{\"8\":1,\"63\":1}}],[\"eignen\",{\"1\":{\"24\":1}}],[\"einsatz\",{\"1\":{\"90\":2}}],[\"einsetzen\",{\"1\":{\"26\":1}}],[\"einrichtung\",{\"1\":{\"41\":1,\"54\":1,\"91\":1,\"92\":1}}],[\"eindruck\",{\"1\":{\"38\":1}}],[\"einfach\",{\"1\":{\"26\":1}}],[\"einfluss\",{\"1\":{\"9\":1}}],[\"einzubinden\",{\"1\":{\"73\":1}}],[\"einzuarbeiten\",{\"1\":{\"18\":1}}],[\"einzelne\",{\"1\":{\"12\":1}}],[\"einige\",{\"1\":{\"15\":1}}],[\"eingerichtet\",{\"1\":{\"5\":1}}],[\"eineinhalb\",{\"1\":{\"70\":1}}],[\"einem\",{\"1\":{\"19\":1,\"38\":1,\"63\":2,\"70\":1,\"102\":1}}],[\"eines\",{\"1\":{\"14\":1,\"18\":1,\"40\":2,\"76\":1}}],[\"einerseits\",{\"1\":{\"69\":1}}],[\"einer\",{\"1\":{\"8\":1,\"9\":1,\"18\":1,\"40\":1,\"54\":1,\"63\":1,\"90\":3,\"102\":1}}],[\"eine\",{\"1\":{\"3\":1,\"8\":2,\"9\":1,\"10\":1,\"19\":1,\"22\":1,\"24\":1,\"73\":3,\"76\":1,\"77\":1,\"80\":1,\"90\":2}}],[\"einen\",{\"1\":{\"0\":1,\"10\":1,\"14\":1,\"18\":1,\"64\":1,\"73\":1,\"76\":1}}],[\"ein\",{\"1\":{\"0\":1,\"3\":1,\"4\":1,\"11\":1,\"14\":2,\"17\":1,\"19\":1,\"20\":1,\"22\":1,\"27\":1,\"40\":1,\"63\":3,\"73\":1,\"78\":1,\"90\":1}}],[\"e\",{\"1\":{\"6\":1,\"11\":1,\"17\":1,\"73\":1,\"102\":1}}],[\"essen\",{\"1\":{\"60\":1}}],[\"es\",{\"1\":{\"5\":1,\"14\":1,\"18\":1,\"24\":1,\"52\":1,\"69\":1,\"70\":1,\"73\":2,\"77\":1,\"80\":1}}],[\"erzählen\",{\"1\":{\"90\":1}}],[\"erp\",{\"1\":{\"76\":1}}],[\"erlernt\",{\"1\":{\"90\":1}}],[\"erlebnis\",{\"1\":{\"70\":1}}],[\"erledige\",{\"1\":{\"41\":1}}],[\"erwecken\",{\"1\":{\"63\":1}}],[\"erweiterbar\",{\"1\":{\"24\":1}}],[\"erweitern\",{\"1\":{\"17\":1}}],[\"ergänzt\",{\"1\":{\"26\":1}}],[\"erreichbar\",{\"1\":{\"17\":1}}],[\"erreichen\",{\"1\":{\"14\":1,\"19\":1}}],[\"erfüllen\",{\"1\":{\"74\":1}}],[\"erfüllt\",{\"1\":{\"14\":1}}],[\"erfahrungen\",{\"1\":{\"70\":1}}],[\"erfahrung\",{\"1\":{\"56\":1}}],[\"erfahrenen\",{\"1\":{\"17\":1}}],[\"erfolgt\",{\"1\":{\"11\":1}}],[\"er\",{\"1\":{\"14\":1,\"63\":1,\"73\":3}}],[\"erhoben\",{\"1\":{\"11\":1}}],[\"erhalten\",{\"1\":{\"2\":1}}],[\"erkennbar\",{\"1\":{\"9\":1}}],[\"erst\",{\"1\":{\"8\":1}}],[\"erstes\",{\"1\":{\"70\":1}}],[\"ersten\",{\"1\":{\"63\":1}}],[\"erstellung\",{\"1\":{\"90\":1}}],[\"erstelle\",{\"1\":{\"25\":1}}],[\"erstellt\",{\"1\":{\"8\":1,\"10\":1,\"90\":1}}],[\"erstellte\",{\"1\":{\"0\":1,\"22\":1}}],[\"erste\",{\"1\":{\"1\":1,\"3\":1,\"52\":1,\"70\":1}}],[\"ermöglichen\",{\"1\":{\"5\":1,\"25\":1}}],[\"energy\",{\"1\":{\"76\":1}}],[\"enorm\",{\"1\":{\"70\":1}}],[\"engagiert\",{\"1\":{\"102\":1}}],[\"engagements\",{\"0\":{\"60\":1,\"102\":1}}],[\"engineer\",{\"1\":{\"63\":1}}],[\"engine\",{\"1\":{\"54\":1}}],[\"english\",{\"1\":{\"35\":1}}],[\"englisch\",{\"1\":{\"14\":1,\"17\":1,\"43\":1,\"61\":1,\"66\":1,\"72\":1,\"75\":2,\"100\":1}}],[\"end\",{\"1\":{\"22\":2,\"23\":2,\"90\":1}}],[\"ende\",{\"0\":{\"2\":1}}],[\"endete\",{\"1\":{\"1\":1}}],[\"enterprise\",{\"1\":{\"76\":1}}],[\"entdecke\",{\"1\":{\"25\":1}}],[\"entdeckte\",{\"1\":{\"22\":1}}],[\"enthalten\",{\"1\":{\"20\":2}}],[\"enthält\",{\"1\":{\"9\":1}}],[\"entwicklungsumgebungen\",{\"0\":{\"98\":1}}],[\"entwicklungsleiter\",{\"1\":{\"91\":1}}],[\"entwicklungsleitung\",{\"1\":{\"90\":1}}],[\"entwicklung\",{\"0\":{\"30\":1,\"31\":1,\"51\":1,\"89\":1,\"94\":1,\"95\":1},\"1\":{\"29\":2,\"40\":1,\"41\":1,\"53\":1,\"54\":1,\"76\":6,\"90\":2,\"91\":1,\"92\":4}}],[\"entwicklerteam\",{\"1\":{\"19\":1}}],[\"entwicklerumgebung\",{\"1\":{\"18\":1}}],[\"entwicklern\",{\"1\":{\"17\":1}}],[\"entwicklerkollektiv\",{\"1\":{\"5\":1}}],[\"entwickler\",{\"0\":{\"18\":1},\"1\":{\"1\":1,\"18\":1,\"22\":1,\"28\":2,\"42\":1,\"63\":1,\"65\":3,\"71\":1,\"74\":1,\"91\":3,\"92\":2,\"102\":1}}],[\"entwickeln\",{\"1\":{\"26\":1,\"90\":1}}],[\"entwickelt\",{\"1\":{\"14\":1,\"29\":1,\"92\":1}}],[\"entfernen\",{\"1\":{\"8\":1,\"9\":1,\"10\":1}}],[\"entfernung\",{\"1\":{\"8\":1}}],[\"entscheidung\",{\"1\":{\"20\":1}}],[\"entscheidungen\",{\"1\":{\"14\":1}}],[\"entsprechen\",{\"1\":{\"12\":1}}],[\"entsprechenden\",{\"1\":{\"8\":1,\"10\":1}}],[\"entstandene\",{\"1\":{\"1\":1}}],[\"entstanden\",{\"1\":{\"0\":1}}],[\"wünsche\",{\"1\":{\"69\":1}}],[\"white\",{\"1\":{\"40\":1}}],[\"write\",{\"1\":{\"35\":1}}],[\"währung\",{\"1\":{\"22\":1}}],[\"während\",{\"1\":{\"1\":1,\"52\":2,\"70\":1}}],[\"wäre\",{\"1\":{\"18\":1}}],[\"wöchentlichen\",{\"1\":{\"14\":1}}],[\"www\",{\"1\":{\"5\":1}}],[\"woche\",{\"1\":{\"77\":1}}],[\"wochen\",{\"1\":{\"77\":2}}],[\"wohl\",{\"1\":{\"63\":1}}],[\"wohnte\",{\"1\":{\"3\":1}}],[\"workflows\",{\"1\":{\"89\":1}}],[\"workflow\",{\"1\":{\"89\":1}}],[\"wordpress\",{\"1\":{\"47\":1,\"82\":1}}],[\"wort\",{\"1\":{\"43\":1}}],[\"wo\",{\"1\":{\"26\":1,\"67\":1}}],[\"wolfgang\",{\"0\":{\"90\":1},\"1\":{\"16\":1,\"22\":1}}],[\"wollen\",{\"1\":{\"14\":1}}],[\"wolle\",{\"1\":{\"0\":1,\"1\":1,\"2\":1,\"3\":1}}],[\"windows\",{\"1\":{\"92\":1}}],[\"wichtig\",{\"1\":{\"80\":1}}],[\"wichtige\",{\"1\":{\"26\":1,\"69\":1}}],[\"will\",{\"1\":{\"22\":1}}],[\"willst\",{\"1\":{\"19\":1}}],[\"wissenschaftlicher\",{\"1\":{\"76\":1}}],[\"wissen\",{\"1\":{\"14\":1,\"19\":1,\"52\":1}}],[\"widersprochen\",{\"1\":{\"11\":1}}],[\"wirklich\",{\"1\":{\"69\":1}}],[\"wirklichkeit\",{\"1\":{\"69\":1}}],[\"wird\",{\"1\":{\"11\":1,\"14\":1,\"26\":1,\"27\":1,\"41\":1,\"69\":1,\"80\":1}}],[\"wir\",{\"1\":{\"2\":1,\"8\":4,\"9\":3,\"10\":2,\"11\":1,\"13\":2,\"14\":6,\"15\":2,\"17\":1,\"18\":1,\"19\":1,\"22\":1,\"63\":1,\"76\":1,\"90\":1}}],[\"wieder\",{\"1\":{\"1\":2,\"77\":1}}],[\"wie\",{\"1\":{\"0\":1,\"3\":1,\"14\":2,\"20\":1,\"24\":1,\"69\":1,\"73\":1,\"90\":2}}],[\"was\",{\"1\":{\"27\":1,\"69\":1}}],[\"wachsen\",{\"1\":{\"25\":1}}],[\"wahlheimat\",{\"1\":{\"63\":1}}],[\"wahl\",{\"0\":{\"64\":1},\"1\":{\"16\":1,\"22\":1}}],[\"wahlmethoden\",{\"1\":{\"0\":1}}],[\"wandel\",{\"1\":{\"13\":1,\"14\":1,\"25\":1}}],[\"wann\",{\"1\":{\"0\":1,\"77\":1}}],[\"wartungsfreundlich\",{\"1\":{\"69\":1}}],[\"waren\",{\"1\":{\"9\":1,\"40\":1,\"63\":1,\"90\":1}}],[\"war\",{\"1\":{\"1\":1,\"3\":1,\"22\":3,\"24\":1,\"38\":2,\"40\":2,\"63\":1,\"64\":1,\"70\":1,\"90\":2}}],[\"welt\",{\"1\":{\"73\":1}}],[\"welchen\",{\"1\":{\"80\":1}}],[\"welche\",{\"1\":{\"0\":1}}],[\"weg\",{\"1\":{\"70\":1}}],[\"wendet\",{\"1\":{\"73\":1}}],[\"wenig\",{\"1\":{\"40\":1}}],[\"wenn\",{\"1\":{\"14\":2,\"18\":4,\"19\":1,\"69\":1,\"73\":2,\"77\":1,\"90\":1}}],[\"webcraft\",{\"1\":{\"76\":1}}],[\"webbereich\",{\"1\":{\"63\":1}}],[\"web\",{\"0\":{\"48\":1,\"83\":1},\"1\":{\"54\":1,\"90\":1}}],[\"webentwickler\",{\"1\":{\"27\":1}}],[\"webserver\",{\"0\":{\"49\":1,\"86\":1}}],[\"webseite\",{\"1\":{\"11\":1}}],[\"webseiten\",{\"1\":{\"9\":1,\"63\":1}}],[\"website\",{\"1\":{\"0\":1,\"5\":1,\"26\":1,\"73\":1}}],[\"wechseln\",{\"1\":{\"14\":1}}],[\"werken\",{\"1\":{\"52\":1}}],[\"werkzeugen\",{\"1\":{\"53\":1}}],[\"werkzeuge\",{\"0\":{\"55\":1,\"93\":1},\"1\":{\"25\":1,\"52\":1}}],[\"werbeagentur\",{\"1\":{\"90\":1}}],[\"werbeinformationen\",{\"1\":{\"11\":1}}],[\"werbung\",{\"1\":{\"11\":1}}],[\"werden\",{\"1\":{\"3\":1,\"8\":1,\"9\":1,\"10\":4,\"11\":2,\"19\":1,\"24\":2,\"25\":1,\"69\":1}}],[\"weile\",{\"1\":{\"73\":1,\"77\":1}}],[\"weiß\",{\"1\":{\"73\":1}}],[\"weise\",{\"1\":{\"19\":1}}],[\"weisen\",{\"1\":{\"11\":1}}],[\"weitere\",{\"0\":{\"60\":1,\"102\":1},\"1\":{\"102\":1}}],[\"weiterentwickelt\",{\"1\":{\"24\":1}}],[\"weitergegeben\",{\"1\":{\"11\":1}}],[\"weiter\",{\"1\":{\"1\":1,\"2\":1}}],[\"wurden\",{\"1\":{\"8\":1,\"9\":1,\"10\":1}}],[\"wurde\",{\"1\":{\"0\":1,\"1\":1,\"2\":1,\"4\":1,\"5\":1,\"12\":1,\"24\":1,\"38\":1,\"70\":1}}],[\"drucker\",{\"1\":{\"90\":1}}],[\"druck\",{\"1\":{\"90\":1}}],[\"drucksoftware\",{\"1\":{\"90\":1}}],[\"driven\",{\"1\":{\"56\":2}}],[\"dritte\",{\"1\":{\"11\":3}}],[\"dritter\",{\"1\":{\"9\":1,\"10\":2}}],[\"doppelrechten\",{\"1\":{\"90\":1}}],[\"doppellinken\",{\"1\":{\"90\":1}}],[\"dovecot\",{\"1\":{\"87\":1}}],[\"docker\",{\"1\":{\"32\":1,\"84\":1,\"96\":1}}],[\"dort\",{\"1\":{\"26\":1,\"40\":1}}],[\"dokumenten\",{\"1\":{\"20\":1}}],[\"dokumentes\",{\"1\":{\"12\":1}}],[\"diversen\",{\"1\":{\"90\":1}}],[\"di\",{\"1\":{\"77\":1}}],[\"diplomarbeit\",{\"1\":{\"70\":1}}],[\"diy\",{\"1\":{\"52\":1}}],[\"digitale\",{\"1\":{\"25\":1}}],[\"dich\",{\"1\":{\"18\":1,\"25\":1}}],[\"direkt\",{\"1\":{\"26\":1,\"70\":1}}],[\"dir\",{\"1\":{\"18\":1,\"19\":1,\"25\":1,\"26\":1}}],[\"disruptiver\",{\"1\":{\"14\":1}}],[\"dienstleistungen\",{\"1\":{\"67\":1}}],[\"diensteanbieter\",{\"1\":{\"8\":2}}],[\"dies\",{\"1\":{\"11\":1,\"90\":2}}],[\"diesbezügliche\",{\"1\":{\"8\":1}}],[\"diesmal\",{\"1\":{\"1\":1}}],[\"dieses\",{\"0\":{\"12\":1},\"1\":{\"12\":1,\"24\":1}}],[\"diese\",{\"1\":{\"8\":1,\"9\":1,\"11\":1,\"12\":1,\"41\":1}}],[\"diesen\",{\"1\":{\"8\":1}}],[\"diesem\",{\"1\":{\"0\":1}}],[\"dieser\",{\"1\":{\"0\":1,\"3\":1,\"10\":1,\"12\":1,\"63\":1}}],[\"die\",{\"1\":{\"0\":1,\"1\":2,\"4\":1,\"5\":1,\"8\":3,\"9\":2,\"10\":2,\"11\":3,\"12\":1,\"13\":2,\"14\":8,\"15\":1,\"19\":4,\"20\":5,\"22\":2,\"23\":2,\"24\":3,\"25\":2,\"26\":4,\"38\":2,\"40\":3,\"44\":3,\"52\":2,\"60\":1,\"63\":3,\"67\":1,\"69\":2,\"70\":1,\"73\":5,\"74\":1,\"76\":2,\"77\":1,\"78\":1,\"80\":1,\"90\":8}}],[\"durch\",{\"1\":{\"11\":3,\"24\":1,\"26\":1,\"73\":2,\"77\":1,\"90\":1}}],[\"du\",{\"1\":{\"10\":1,\"18\":5,\"19\":1,\"26\":3,\"80\":1}}],[\"delphi\",{\"1\":{\"98\":1}}],[\"debian\",{\"1\":{\"85\":1}}],[\"dezentrale\",{\"1\":{\"25\":1,\"26\":1}}],[\"detaillierte\",{\"1\":{\"19\":1,\"26\":1}}],[\"dein\",{\"1\":{\"18\":2,\"25\":1}}],[\"deiner\",{\"1\":{\"25\":1,\"26\":1}}],[\"deine\",{\"1\":{\"11\":1,\"13\":1,\"17\":1,\"19\":1,\"25\":1,\"26\":1}}],[\"deutsch\",{\"1\":{\"17\":1,\"43\":1,\"61\":1,\"66\":1,\"72\":1,\"75\":2,\"100\":1}}],[\"deutschesee\",{\"1\":{\"41\":1}}],[\"deutschen\",{\"1\":{\"20\":1,\"41\":1}}],[\"deutsche\",{\"1\":{\"14\":1}}],[\"deutschland\",{\"1\":{\"6\":2,\"38\":2}}],[\"development\",{\"1\":{\"56\":2}}],[\"devops\",{\"0\":{\"32\":1,\"96\":1},\"1\":{\"29\":1,\"42\":1,\"53\":1,\"74\":1,\"91\":1,\"92\":1}}],[\"dev\",{\"1\":{\"5\":1,\"6\":1,\"22\":2}}],[\"designer\",{\"1\":{\"91\":1}}],[\"design\",{\"1\":{\"42\":1,\"53\":1,\"74\":1,\"91\":1}}],[\"desktop\",{\"1\":{\"28\":1,\"90\":1,\"91\":1}}],[\"deshalb\",{\"1\":{\"9\":1}}],[\"des\",{\"1\":{\"3\":1,\"5\":1,\"12\":2,\"14\":2,\"19\":1,\"20\":1,\"24\":1,\"40\":1,\"41\":2,\"54\":1,\"70\":1,\"102\":3}}],[\"dem\",{\"1\":{\"0\":1,\"1\":1,\"2\":1,\"3\":1,\"4\":1,\"8\":1,\"11\":1,\"12\":1,\"24\":1,\"70\":4}}],[\"democracy\",{\"0\":{\"20\":1},\"1\":{\"0\":2,\"1\":1,\"15\":1,\"20\":1,\"76\":1}}],[\"denen\",{\"1\":{\"78\":1}}],[\"den\",{\"1\":{\"0\":1,\"5\":1,\"6\":1,\"8\":2,\"13\":1,\"14\":2,\"22\":1,\"38\":2,\"69\":1,\"73\":1,\"77\":1,\"79\":1,\"90\":1,\"102\":1}}],[\"derzeit\",{\"1\":{\"90\":1}}],[\"derartige\",{\"1\":{\"9\":1,\"10\":1}}],[\"deren\",{\"1\":{\"9\":1}}],[\"der\",{\"1\":{\"0\":2,\"1\":2,\"2\":1,\"3\":2,\"8\":3,\"9\":6,\"11\":7,\"12\":1,\"14\":5,\"17\":1,\"18\":1,\"19\":2,\"20\":1,\"22\":3,\"23\":1,\"24\":2,\"25\":1,\"38\":3,\"40\":1,\"41\":3,\"52\":5,\"63\":1,\"67\":1,\"69\":2,\"70\":2,\"76\":1,\"90\":4,\"92\":2,\"102\":2}}],[\"dauer\",{\"1\":{\"77\":1}}],[\"da\",{\"1\":{\"76\":1,\"80\":1}}],[\"daher\",{\"1\":{\"38\":1}}],[\"danach\",{\"1\":{\"38\":1}}],[\"dank\",{\"1\":{\"26\":1}}],[\"dann\",{\"1\":{\"20\":1,\"70\":1}}],[\"dafür\",{\"1\":{\"19\":1,\"90\":1}}],[\"dabei\",{\"1\":{\"18\":1,\"67\":1,\"73\":1,\"90\":2}}],[\"davon\",{\"1\":{\"12\":1}}],[\"datenplattform\",{\"1\":{\"76\":1}}],[\"datenkonvertierung\",{\"1\":{\"67\":1}}],[\"datentransfer\",{\"1\":{\"40\":1}}],[\"datenbanken\",{\"1\":{\"90\":1}}],[\"datenbankplanung\",{\"1\":{\"74\":1}}],[\"datenbank\",{\"0\":{\"34\":1,\"50\":1,\"88\":1,\"99\":1},\"1\":{\"23\":1,\"42\":1,\"65\":1}}],[\"datenübertragung\",{\"1\":{\"11\":1}}],[\"daten\",{\"1\":{\"11\":4,\"40\":1}}],[\"datenschutz\",{\"0\":{\"11\":1}}],[\"dazu\",{\"1\":{\"3\":1,\"14\":1,\"22\":1,\"25\":1}}],[\"darin\",{\"1\":{\"41\":1}}],[\"daran\",{\"1\":{\"18\":1}}],[\"darauf\",{\"1\":{\"3\":1,\"11\":1}}],[\"darüber\",{\"1\":{\"0\":1,\"14\":1}}],[\"dass\",{\"1\":{\"11\":1,\"14\":3,\"38\":2}}],[\"das\",{\"1\":{\"0\":2,\"1\":2,\"2\":2,\"4\":3,\"5\":2,\"14\":3,\"18\":1,\"19\":2,\"20\":2,\"21\":1,\"22\":3,\"23\":2,\"24\":1,\"38\":2,\"41\":1,\"52\":1,\"63\":2,\"64\":1,\"70\":2,\"90\":2}}]],\"version\":2}}")).map(([e,t])=>[e,It(t,{fields:["h","t","c"],storeFields:["h","t","c"]})]));self.onmessage=({data:{type:e="all",query:t,locale:s,options:n,id:o}})=>{const r=Ct[s];e==="suggest"?self.postMessage([e,o,et(t,r,n)]):e==="search"?self.postMessage([e,o,tt(t,r,n)]):self.postMessage({suggestions:[e,o,et(t,r,n)],results:[e,o,tt(t,r,n)]})}; +//# sourceMappingURL=index.js.map diff --git a/team/alexander-friedland.html b/team/alexander-friedland.html new file mode 100644 index 0000000..b5a0574 --- /dev/null +++ b/team/alexander-friedland.html @@ -0,0 +1,41 @@ + + + + + + + + + + Alexander Friedland | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/team/hannes-heine.html b/team/hannes-heine.html new file mode 100644 index 0000000..c4a2482 --- /dev/null +++ b/team/hannes-heine.html @@ -0,0 +1,41 @@ + + + + + + + + + + Hannes Heine | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/team/index.html b/team/index.html new file mode 100644 index 0000000..e1472cb --- /dev/null +++ b/team/index.html @@ -0,0 +1,41 @@ + + + + + + + + + + Team | IT4C + + + + + + + + + diff --git a/team/mathias-lenz.html b/team/mathias-lenz.html new file mode 100644 index 0000000..ef8a11a --- /dev/null +++ b/team/mathias-lenz.html @@ -0,0 +1,41 @@ + + + + + + + + + + Mathias | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/team/maximilian-harz.html b/team/maximilian-harz.html new file mode 100644 index 0000000..4f092bd --- /dev/null +++ b/team/maximilian-harz.html @@ -0,0 +1,41 @@ + + + + + + + + + + Maximilian Harz | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/team/moriz-wahl.html b/team/moriz-wahl.html new file mode 100644 index 0000000..259c4a0 --- /dev/null +++ b/team/moriz-wahl.html @@ -0,0 +1,41 @@ + + + + + + + + + + Moriz Wahl | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/team/sebastian-stein.html b/team/sebastian-stein.html new file mode 100644 index 0000000..5214844 --- /dev/null +++ b/team/sebastian-stein.html @@ -0,0 +1,41 @@ + + + + + + + + + + Sebastian Stein | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/team/ulf-gebhardt.html b/team/ulf-gebhardt.html new file mode 100644 index 0000000..eb48a2b --- /dev/null +++ b/team/ulf-gebhardt.html @@ -0,0 +1,41 @@ + + + + + + + + + + Ulf Gebhardt | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + + diff --git a/team/wolfgang-huss.html b/team/wolfgang-huss.html new file mode 100644 index 0000000..4e08ada --- /dev/null +++ b/team/wolfgang-huss.html @@ -0,0 +1,41 @@ + + + + + + + + + + Wolfgang Huß | IT4C + + + + + +
    Zum Hauptinhalt springen
    + + +