diff --git a/!pagefind/fragment/en_132fd4b.pf_fragment b/!pagefind/fragment/en_132fd4b.pf_fragment
new file mode 100644
index 0000000..f2620c5
Binary files /dev/null and b/!pagefind/fragment/en_132fd4b.pf_fragment differ
diff --git a/!pagefind/fragment/en_2d9ac9c.pf_fragment b/!pagefind/fragment/en_2d9ac9c.pf_fragment
new file mode 100644
index 0000000..671dcac
Binary files /dev/null and b/!pagefind/fragment/en_2d9ac9c.pf_fragment differ
diff --git a/!pagefind/fragment/en_3c668d9.pf_fragment b/!pagefind/fragment/en_3c668d9.pf_fragment
new file mode 100644
index 0000000..2a22316
Binary files /dev/null and b/!pagefind/fragment/en_3c668d9.pf_fragment differ
diff --git a/!pagefind/fragment/en_513510c.pf_fragment b/!pagefind/fragment/en_513510c.pf_fragment
new file mode 100644
index 0000000..64dacb9
Binary files /dev/null and b/!pagefind/fragment/en_513510c.pf_fragment differ
diff --git a/!pagefind/fragment/en_53b7e8c.pf_fragment b/!pagefind/fragment/en_53b7e8c.pf_fragment
new file mode 100644
index 0000000..6015f65
Binary files /dev/null and b/!pagefind/fragment/en_53b7e8c.pf_fragment differ
diff --git a/!pagefind/fragment/en_6a73d96.pf_fragment b/!pagefind/fragment/en_6a73d96.pf_fragment
new file mode 100644
index 0000000..a51e111
Binary files /dev/null and b/!pagefind/fragment/en_6a73d96.pf_fragment differ
diff --git a/!pagefind/fragment/en_a15058c.pf_fragment b/!pagefind/fragment/en_a15058c.pf_fragment
new file mode 100644
index 0000000..aecf5a0
Binary files /dev/null and b/!pagefind/fragment/en_a15058c.pf_fragment differ
diff --git a/!pagefind/fragment/en_b2bbecc.pf_fragment b/!pagefind/fragment/en_b2bbecc.pf_fragment
new file mode 100644
index 0000000..9b00430
Binary files /dev/null and b/!pagefind/fragment/en_b2bbecc.pf_fragment differ
diff --git a/!pagefind/fragment/en_be20c9e.pf_fragment b/!pagefind/fragment/en_be20c9e.pf_fragment
new file mode 100644
index 0000000..9588fa6
Binary files /dev/null and b/!pagefind/fragment/en_be20c9e.pf_fragment differ
diff --git a/!pagefind/fragment/en_c6640fb.pf_fragment b/!pagefind/fragment/en_c6640fb.pf_fragment
new file mode 100644
index 0000000..c1939e1
Binary files /dev/null and b/!pagefind/fragment/en_c6640fb.pf_fragment differ
diff --git a/!pagefind/fragment/en_d3e224d.pf_fragment b/!pagefind/fragment/en_d3e224d.pf_fragment
new file mode 100644
index 0000000..6899655
Binary files /dev/null and b/!pagefind/fragment/en_d3e224d.pf_fragment differ
diff --git a/!pagefind/index/en_2f6e2f5.pf_index b/!pagefind/index/en_2f6e2f5.pf_index
new file mode 100644
index 0000000..4fccb70
Binary files /dev/null and b/!pagefind/index/en_2f6e2f5.pf_index differ
diff --git a/!pagefind/pagefind-entry.json b/!pagefind/pagefind-entry.json
new file mode 100644
index 0000000..91d9335
--- /dev/null
+++ b/!pagefind/pagefind-entry.json
@@ -0,0 +1 @@
+{"version":"0.12.0","languages":{"en":{"hash":"en_bbd813c479","wasm":"en","page_count":11}}}
\ No newline at end of file
diff --git a/!pagefind/pagefind-modular-ui.css b/!pagefind/pagefind-modular-ui.css
new file mode 100644
index 0000000..9c6793e
--- /dev/null
+++ b/!pagefind/pagefind-modular-ui.css
@@ -0,0 +1,214 @@
+:root {
+ --pagefind-ui-scale: 0.8;
+ --pagefind-ui-primary: #034AD8;
+ --pagefind-ui-fade: #707070;
+ --pagefind-ui-text: #393939;
+ --pagefind-ui-background: #ffffff;
+ --pagefind-ui-border: #eeeeee;
+ --pagefind-ui-tag: #eeeeee;
+ --pagefind-ui-border-width: 2px;
+ --pagefind-ui-border-radius: 8px;
+ --pagefind-ui-image-border-radius: 8px;
+ --pagefind-ui-image-box-ratio: 3 / 2;
+ --pagefind-ui-font: system, -apple-system, ".SFNSText-Regular",
+ "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue",
+ "Lucida Grande", sans-serif;
+}
+
+[data-pfmod-hidden] {
+ display: none !important;
+}
+
+[data-pfmod-suppressed] {
+ opacity: 0 !important;
+ pointer-events: none !important;
+}
+
+[data-pfmod-sr-hidden] {
+ -webkit-clip: rect(0 0 0 0) !important;
+ clip: rect(0 0 0 0) !important;
+ -webkit-clip-path: inset(100%) !important;
+ clip-path: inset(100%) !important;
+ height: 1px !important;
+ overflow: hidden !important;
+ overflow: clip !important;
+ position: absolute !important;
+ white-space: nowrap !important;
+ width: 1px !important;
+}
+
+[data-pfmod-loading] {
+ color: var(--pagefind-ui-text);
+ background-color: var(--pagefind-ui-text);
+ border-radius: var(--pagefind-ui-border-radius);
+ opacity: 0.1;
+ pointer-events: none;
+}
+
+/* Input */
+
+.pagefind-modular-input-wrapper {
+ position: relative;
+}
+
+.pagefind-modular-input-wrapper::before {
+ background-color: var(--pagefind-ui-text);
+ width: calc(18px * var(--pagefind-ui-scale));
+ height: calc(18px * var(--pagefind-ui-scale));
+ top: calc(23px * var(--pagefind-ui-scale));
+ left: calc(20px * var(--pagefind-ui-scale));
+ content: "";
+ position: absolute;
+ display: block;
+ opacity: 0.7;
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");
+ mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");
+ -webkit-mask-size: 100%;
+ mask-size: 100%;
+ z-index: 9;
+ pointer-events: none;
+}
+
+.pagefind-modular-input {
+ height: calc(64px * var(--pagefind-ui-scale));
+ padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));
+ background-color: var(--pagefind-ui-background);
+ border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);
+ border-radius: var(--pagefind-ui-border-radius);
+ font-size: calc(21px * var(--pagefind-ui-scale));
+ position: relative;
+ appearance: none;
+ -webkit-appearance: none;
+ display: flex;
+ width: 100%;
+ box-sizing: border-box;
+ font-weight: 700;
+}
+
+.pagefind-modular-input::placeholder {
+ opacity: 0.2;
+}
+
+.pagefind-modular-input-clear {
+ position: absolute;
+ top: calc(2px * var(--pagefind-ui-scale));
+ right: calc(2px * var(--pagefind-ui-scale));
+ height: calc(60px * var(--pagefind-ui-scale));
+ border-radius: var(--pagefind-ui-border-radius);
+ padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));
+ color: var(--pagefind-ui-text);
+ font-size: calc(14px * var(--pagefind-ui-scale));
+ cursor: pointer;
+ background-color: var(--pagefind-ui-background);
+ border: none;
+ appearance: none;
+}
+
+/* ResultList */
+
+.pagefind-modular-list-result {
+ list-style-type: none;
+ display: flex;
+ align-items: flex-start;
+ gap: min(calc(40px * var(--pagefind-ui-scale)), 3%);
+ padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));
+ border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);
+}
+
+.pagefind-modular-list-result:last-of-type {
+ border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);
+}
+
+.pagefind-modular-list-thumb {
+ width: min(30%,
+ calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));
+ max-width: calc(120px * var(--pagefind-ui-scale));
+ margin-top: calc(10px * var(--pagefind-ui-scale));
+ aspect-ratio: var(--pagefind-ui-image-box-ratio);
+ position: relative;
+}
+
+.pagefind-modular-list-image {
+ display: block;
+ position: absolute;
+ left: 50%;
+ transform: translateX(-50%);
+ font-size: 0;
+ width: auto;
+ height: auto;
+ max-width: 100%;
+ max-height: 100%;
+ border-radius: var(--pagefind-ui-image-border-radius);
+}
+
+.pagefind-modular-list-inner {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ margin-top: calc(10px * var(--pagefind-ui-scale));
+}
+
+.pagefind-modular-list-title {
+ display: inline-block;
+ font-weight: 700;
+ font-size: calc(21px * var(--pagefind-ui-scale));
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.pagefind-modular-list-link {
+ color: var(--pagefind-ui-text);
+ text-decoration: none;
+}
+
+.pagefind-modular-list-link:hover {
+ text-decoration: underline;
+}
+
+.pagefind-modular-list-excerpt {
+ display: inline-block;
+ font-weight: 400;
+ font-size: calc(16px * var(--pagefind-ui-scale));
+ margin-top: calc(4px * var(--pagefind-ui-scale));
+ margin-bottom: 0;
+ min-width: calc(250px * var(--pagefind-ui-scale));
+}
+
+/* FilterPills */
+
+.pagefind-modular-filter-pills-wrapper {
+ overflow-x: scroll;
+ padding: 15px 0;
+}
+
+.pagefind-modular-filter-pills {
+ display: flex;
+ gap: 6px;
+}
+
+.pagefind-modular-filter-pill {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border: none;
+ appearance: none;
+ padding: 0 calc(24px * var(--pagefind-ui-scale));
+ background-color: var(--pagefind-ui-background);
+ color: var(--pagefind-ui-fade);
+ border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);
+ border-radius: calc(25px * var(--pagefind-ui-scale));
+ font-size: calc(18px * var(--pagefind-ui-scale));
+ height: calc(50px * var(--pagefind-ui-scale));
+ cursor: pointer;
+ white-space: nowrap;
+}
+
+.pagefind-modular-filter-pill:hover {
+ border-color: var(--pagefind-ui-primary);
+}
+
+.pagefind-modular-filter-pill[aria-pressed="true"] {
+ border-color: var(--pagefind-ui-primary);
+ color: var(--pagefind-ui-primary);
+}
\ No newline at end of file
diff --git a/!pagefind/pagefind-modular-ui.js b/!pagefind/pagefind-modular-ui.js
new file mode 100644
index 0000000..2e1d27d
--- /dev/null
+++ b/!pagefind/pagefind-modular-ui.js
@@ -0,0 +1,7 @@
+(()=>{var b=Object.defineProperty;var w=(i,e)=>{for(var t in e)b(i,t,{get:e[t],enumerable:!0})};var f={};w(f,{FilterPills:()=>h,Input:()=>l,Instance:()=>p,ResultList:()=>a,Summary:()=>o});var r=class{constructor(e){this.element=document.createElement(e)}id(e){return this.element.id=e,this}class(e){return this.element.classList.add(e),this}attrs(e){for(let[t,s]of Object.entries(e))this.element.setAttribute(t,s);return this}text(e){return this.element.innerText=e,this}html(e){return this.element.innerHTML=e,this}handle(e,t){return this.element.addEventListener(e,t),this}addTo(e){return e instanceof r?e.element.appendChild(this.element):e.appendChild(this.element),this.element}};var T=async(i=100)=>new Promise(e=>setTimeout(e,i)),l=class{constructor(e={}){if(this.inputEl=null,this.clearEl=null,this.instance=null,this.searchID=0,this.debounceTimeoutMs=e.debounceTimeoutMs??300,e.inputElement){if(e.containerElement){console.warn("[Pagefind Input component]: inputElement and containerElement both supplied. Ignoring the container option.");return}this.initExisting(e.inputElement)}else if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Input component]: No selector supplied for containerElement or inputElement");return}this.inputEl.addEventListener("input",async t=>{if(this.instance&&typeof t?.target?.value=="string"){this.updateState(t.target.value);let s=++this.searchID;if(await T(this.debounceTimeoutMs),s!==this.searchID)return null;this.instance?.triggerSearch(t.target.value)}}),this.inputEl.addEventListener("keydown",t=>{t.key==="Escape"&&(++this.searchID,this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState("")),t.key==="Enter"&&t.preventDefault()}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()})}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No container found for ${e} selector`);return}if(t.tagName==="INPUT")console.warn(`[Pagefind Input component]: Encountered input element for ${e} when a container was expected`),console.warn("[Pagefind Input component]: Treating containerElement option as inputElement and proceeding"),this.initExisting(e);else{t.innerHTML="";let s=new r("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});this.inputEl=new r("input").class("pagefind-modular-input").addTo(s),this.clearEl=new r("button").class("pagefind-modular-input-clear").attrs({"data-pfmod-suppressed":"true"}).text("Clear").handle("click",()=>{this.inputEl.value="",this.instance.triggerSearch(""),this.updateState("")}).addTo(s),s.addTo(t)}}initExisting(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No input element found for ${e} selector`);return}if(t.tagName!=="INPUT"){console.error(`[Pagefind Input component]: Expected ${e} to be an element`);return}this.inputEl=t}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pfmod-suppressed"):this.clearEl.setAttribute("data-pfmod-suppressed","true"))}register(e){this.instance=e,this.instance.on("search",(t,s)=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))})}focus(){this.inputEl&&this.inputEl.focus()}};var g=i=>{if(i instanceof Element)return[i];if(Array.isArray(i)&&i.every(e=>e instanceof Element))return i;if(typeof i=="string"||i instanceof String){let e=document.createElement("div");return e.innerHTML=i,[...e.childNodes]}else return console.error(`[Pagefind ResultList component]: Expected template function to return an HTML element or string, got ${typeof i}`),[]},v=()=>{let i=(e=30)=>". ".repeat(Math.floor(10+Math.random()*e));return`
+
+
+ `},y=i=>{let e=new r("li").class("pagefind-modular-list-result"),t=new r("div").class("pagefind-modular-list-thumb").addTo(e);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(t);let s=new r("div").class("pagefind-modular-list-inner").addTo(e),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i.url}).addTo(n),new r("p").class("pagefind-modular-list-excerpt").html(i.excerpt).addTo(s),e.element},E=i=>{if(!(i instanceof HTMLElement))return null;let e=window.getComputedStyle(i).overflowY;return e!=="visible"&&e!=="hidden"?i:E(i.parentNode)},u=class{constructor(e={}){this.rawResult=e.result,this.placeholderNodes=e.placeholderNodes,this.resultFn=e.resultFn,this.intersectionEl=e.intersectionEl,this.result=null,this.waitForIntersection()}waitForIntersection(){if(!this.placeholderNodes?.length)return;let e={root:this.intersectionEl,rootMargin:"0px",threshold:.01};new IntersectionObserver((s,n)=>{this.result===null&&s?.[0]?.isIntersecting&&(this.load(),n.disconnect())},e).observe(this.placeholderNodes[0])}async load(){if(!this.placeholderNodes?.length)return;this.result=await this.rawResult.data();let e=this.resultFn(this.result),t=g(e);for(;this.placeholderNodes.length>1;)this.placeholderNodes.pop().remove();this.placeholderNodes[0].replaceWith(...t)}},a=class{constructor(e){if(this.intersectionEl=document.body,this.containerEl=null,this.results=[],this.placeholderTemplate=e.placeholderTemplate??v,this.resultTemplate=e.resultTemplate??y,e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind ResultList component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind ResultList component]: No container found for ${e} selector`);return}this.containerEl=t}append(e){for(let t of e)this.containerEl.appendChild(t)}register(e){e.on("results",t=>{this.containerEl&&(this.containerEl.innerHTML="",this.intersectionEl=E(this.containerEl),this.results=t.results.map(s=>{let n=g(this.placeholderTemplate());return this.append(n),new u({result:s,placeholderNodes:n,resultFn:this.resultTemplate,intersectionEl:this.intersectionEl})}))}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="")})}};var o=class{constructor(e={}){if(this.containerEl=null,this.defaultMessage=e.defaultMessage??"",this.term="",e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Summary component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Summary component]: No container found for ${e} selector`);return}this.containerEl=t,this.containerEl.innerText=this.defaultMessage}register(e){e.on("search",(t,s)=>{this.term=t}),e.on("results",t=>{if(!this.containerEl||!t)return;if(!this.term){this.containerEl.innerText=this.defaultMessage;return}let s=t?.results?.length??0;this.containerEl.innerText=`${s} result${s===1?"":"s"} for ${this.term}`}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerText=`Searching for ${this.term}...`)})}};var h=class{constructor(e={}){if(this.instance=null,this.wrapper=null,this.pillContainer=null,this.available={},this.selected=["All"],this.total=0,this.filterMemo="",this.filter=e.filter,this.ordering=e.ordering??null,this.alwaysShow=e.alwaysShow??!1,this.selectMultiple=e.selectMultiple??!1,!this.filter?.length){console.error("[Pagefind FilterPills component]: No filter option supplied, nothing to display");return}if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind FilterPills component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind FilterPills component]: No container found for ${e} selector`);return}t.innerHTML="";let s=`pagefind_modular_filter_pills_${this.filter}`,n=new r("div").class("pagefind-modular-filter-pills-wrapper").attrs({role:"group","aria-labelledby":s});this.alwaysShow||n.attrs({"data-pfmod-hidden":!0}),new r("div").id(s).class("pagefind-modular-filter-pills-label").attrs({"data-pfmod-sr-hidden":!0}).text(`Filter results by ${this.filter}`).addTo(n),this.pillContainer=new r("div").class("pagefind-modular-filter-pills").addTo(n),this.wrapper=n.addTo(t)}update(){let e=this.available.map(t=>t[0]).join("~");e==this.filterMemo?this.updateExisting():(this.renderNew(),this.filterMemo=e)}pushFilters(){let e=this.selected.filter(t=>t!=="All");this.instance.triggerFilter(this.filter,e)}pillInner(e,t){return this.total?`${e} (${t}) `:`${e} `}renderNew(){this.available.forEach(([e,t])=>{new r("button").class("pagefind-modular-filter-pill").html(this.pillInner(e,t)).attrs({"aria-pressed":this.selected.includes(e),type:"button"}).handle("click",()=>{e==="All"?this.selected=["All"]:this.selected.includes(e)?this.selected=this.selected.filter(s=>s!==e):this.selectMultiple?this.selected.push(e):this.selected=[e],this.selected?.length?this.selected?.length>1&&(this.selected=this.selected.filter(s=>s!=="All")):this.selected=["All"],this.update(),this.pushFilters()}).addTo(this.pillContainer)})}updateExisting(){let e=[...this.pillContainer.childNodes];this.available.forEach(([t,s],n)=>{e[n].innerHTML=this.pillInner(t,s),e[n].setAttribute("aria-pressed",this.selected.includes(t))})}register(e){this.instance=e,this.instance.on("filters",t=>{if(!this.pillContainer)return;this.selectMultiple?t=t.available:t=t.total;let s=t[this.filter];if(!s){console.warn(`[Pagefind FilterPills component]: No possible values found for the ${this.filter} filter`);return}this.available=Object.entries(s),Array.isArray(this.ordering)?this.available.sort((n,d)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(d[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,d)=>n[0].localeCompare(d[0])),this.available.unshift(["All",this.total]),this.update()}),e.on("results",t=>{this.pillContainer&&(this.total=t?.unfilteredResultCount||0,this.available?.[0]?.[0]==="All"&&(this.available[0][1]=this.total),this.total||this.alwaysShow?this.wrapper.removeAttribute("data-pfmod-hidden"):this.wrapper.setAttribute("data-pfmod-hidden","true"),this.update())})}};var F=async(i=50)=>await new Promise(e=>setTimeout(e,i)),c;try{c=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1]}catch{c="/_pagefind/",console.warn(`Pagefind couldn't determine the base of the bundle from the javascript import path. Falling back to the default of ${c}.`),console.warn("You can configure this by passing a bundlePath option to PagefindComposable Instance"),console.warn(`[DEBUG: Loaded from ${document?.currentScript?.src??"unknown"}]`)}var p=class{constructor(e={}){this.__pagefind__=null,this.__initializing__=null,this.__searchID__=0,this.__hooks__={search:[],filters:[],loading:[],results:[]},this.components=[],this.searchTerm="",this.searchFilters={},this.searchResult={},this.availableFilters=null,this.totalFilters=null,this.options={bundlePath:e.bundlePath??c,mergeIndex:e.mergeIndex??[]},delete e.bundlePath,delete e.resetStyles,delete e.processResult,delete e.processTerm,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,this.pagefindOptions=e}add(e){e?.register?.(this),this.components.push(e)}on(e,t){if(!this.__hooks__[e]){let s=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Composable]: Unknown event type ${e}. Supported events: [${s}]`);return}if(typeof t!="function"){console.error(`[Pagefind Composable]: Expected callback to be a function, received ${typeof t}`);return}this.__hooks__[e].push(t)}triggerLoad(){this.__load__()}triggerSearch(e){this.searchTerm=e,this.__dispatch__("search",e,this.searchFilters),this.__search__(e,this.searchFilters)}triggerSearchWithFilters(e,t){this.searchTerm=e,this.searchFilters=t,this.__dispatch__("search",e,t),this.__search__(e,t)}triggerFilters(e){this.searchFilters=e,this.__dispatch__("search",this.searchTerm,e),this.__search__(this.searchTerm,e)}triggerFilter(e,t){this.searchFilters=this.searchFilters||{},this.searchFilters[e]=t,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(e,...t){this.__hooks__[e]?.forEach(s=>s?.(...t))}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}async __search__(e,t){this.__dispatch__("loading"),await this.__load__();let s=++this.__searchID__;if(!e||!e.length)return this.__clear__();let n=await this.__pagefind__.search(e,{filters:t});n&&this.__searchID__===s&&(n.filters&&Object.keys(n.filters)?.length&&(this.availableFilters=n.filters,this.totalFilters=n.totalFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=n,this.__dispatch__("results",this.searchResult))}async __load__(){if(this.__initializing__){for(;!this.__pagefind__;)await F(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e=await import(`${this.options.bundlePath}pagefind.js`);await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})();
diff --git a/!pagefind/pagefind-ui.css b/!pagefind/pagefind-ui.css
new file mode 100644
index 0000000..303ae74
--- /dev/null
+++ b/!pagefind/pagefind-ui.css
@@ -0,0 +1 @@
+.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable="true"]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", sans-serif}.pagefind-ui.svelte-1bkqzc5{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-1bkqzc5{display:none!important}.pagefind-ui__suppressed.svelte-1bkqzc5{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-1bkqzc5{position:relative}.pagefind-ui__form.svelte-1bkqzc5:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-1bkqzc5{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-1bkqzc5::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-1bkqzc5{position:absolute;top:calc(2px * var(--pagefind-ui-scale));right:calc(2px * var(--pagefind-ui-scale));height:calc(60px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-1bkqzc5{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-1bkqzc5{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-1bkqzc5{padding:0}.pagefind-ui__message.svelte-1bkqzc5{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-1bkqzc5{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-1bkqzc5:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}
diff --git a/!pagefind/pagefind-ui.js b/!pagefind/pagefind-ui.js
new file mode 100644
index 0000000..ca987e1
--- /dev/null
+++ b/!pagefind/pagefind-ui.js
@@ -0,0 +1 @@
+(()=>{var dn=Object.defineProperty;var S=(t,e)=>{for(var n in e)dn(t,n,{get:e[n],enumerable:!0})};function M(){}function Le(t){return t()}function gt(){return Object.create(null)}function V(t){t.forEach(Le)}function He(t){return typeof t=="function"}function X(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var Ae;function Be(t,e){return Ae||(Ae=document.createElement("a")),Ae.href=e,t===Ae.href}function bt(t){return Object.keys(t).length===0}var Et=!1;function hn(){Et=!0}function mn(){Et=!1}function E(t,e){t.appendChild(e)}function v(t,e,n){t.insertBefore(e,n||null)}function R(t){t.parentNode&&t.parentNode.removeChild(t)}function oe(t,e){for(let n=0;nt.removeEventListener(e,n,r)}function g(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function gn(t){return Array.from(t.childNodes)}function $(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function Ge(t,e){t.value=e??""}function q(t,e,n){t.classList[n?"add":"remove"](e)}var Y=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,n,r=null){this.e||(this.is_svg?this.e=pn(n.nodeName):this.e=y(n.nodeName),this.t=n,this.c(e)),this.i(r)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.childNodes)}i(e){for(let n=0;n{Me.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var hs=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function vt(t,e){U(t,1,1,()=>{e.delete(t.key)})}function Ct(t,e,n,r,s,l,i,o,a,_,m,c){let d=t.length,b=l.length,u=d,f={};for(;u--;)f[t[u].key]=u;let p=[],C=new Map,D=new Map;for(u=b;u--;){let w=c(s,l,u),H=n(w),N=i.get(H);N?r&&N.p(w,e):(N=_(H,w),N.c()),C.set(H,p[u]=N),H in f&&D.set(H,Math.abs(u-f[H]))}let z=new Set,F=new Set;function W(w){j(w,1),w.m(o,m),i.set(w.key,w),m=w.first,b--}for(;d&&b;){let w=p[b-1],H=t[d-1],N=w.key,J=H.key;w===H?(m=w.first,d--,b--):C.has(J)?!i.has(N)||z.has(N)?W(w):F.has(J)?d--:D.get(N)>D.get(J)?(F.add(N),W(w)):(z.add(J),d--):(a(H,i),d--)}for(;d--;){let w=t[d];C.has(w.key)||a(w,i)}for(;b;)W(p[b-1]);return p}function wt(t,e,n){let r=t.$$.props[e];r!==void 0&&(t.$$.bound[r]=n,n(t.$$.ctx[r]))}function $e(t){t&&t.c()}function Ne(t,e,n,r){let{fragment:s,after_update:l}=t.$$;s&&s.m(e,n),r||qe(()=>{let i=t.$$.on_mount.map(Le).filter(He);t.$$.on_destroy?t.$$.on_destroy.push(...i):V(i),t.$$.on_mount=[]}),l.forEach(qe)}function ue(t,e){let n=t.$$;n.fragment!==null&&(V(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function vn(t,e){t.$$.dirty[0]===-1&&(te.push(t),yn(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let u=b.length?b[0]:d;return _.ctx&&s(_.ctx[c],_.ctx[c]=u)&&(!_.skip_bound&&_.bound[c]&&_.bound[c](u),m&&vn(t,c)),d}):[],_.update(),m=!0,V(_.before_update),_.fragment=r?r(_.ctx):!1,e.target){if(e.hydrate){hn();let c=gn(e.target);_.fragment&&_.fragment.l(c),c.forEach(R)}else _.fragment&&_.fragment.c();e.intro&&j(t.$$.fragment),Ne(t,e.target,e.anchor,e.customElement),mn(),Rt()}le(a)}var Cn;typeof HTMLElement=="function"&&(Cn=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:t}=this.$$;this.$$.on_disconnect=t.map(Le).filter(He);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(t,e,n){this[t]=n}disconnectedCallback(){V(this.$$.on_disconnect)}$destroy(){ue(this,1),this.$destroy=M}$on(t,e){if(!He(e))return M;let n=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return n.push(e),()=>{let r=n.indexOf(e);r!==-1&&n.splice(r,1)}}$set(t){this.$$set&&!bt(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}});var L=class{$destroy(){ue(this,1),this.$destroy=M}$on(e,n){if(!He(n))return M;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let s=r.indexOf(n);s!==-1&&r.splice(s,1)}}$set(e){this.$$set&&!bt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function A(t){let e=typeof t=="string"?t.charCodeAt(0):t;return e>=97&&e<=122||e>=65&&e<=90}function x(t){let e=typeof t=="string"?t.charCodeAt(0):t;return e>=48&&e<=57}function G(t){return A(t)||x(t)}var Tt=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var xe={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"};var wn={}.hasOwnProperty;function Oe(t,e={}){let n=kt(),r=String(t),s=r.toLowerCase(),l=0;if(t==null)throw new Error("Expected string, got `"+t+"`");if(wn.call(xe,s)){let o=xe[s];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof o=="string"?Oe(o):(n[Tt.includes(s)?"regular":"irregular"]=r,n)}for(;A(s.charCodeAt(l))&&l<9;)l++;if(l>1&&l<9){if(n.language=r.slice(0,l),l<4){let o=0;for(;s.charCodeAt(l)===45&&A(s.charCodeAt(l+1))&&A(s.charCodeAt(l+2))&&A(s.charCodeAt(l+3))&&!A(s.charCodeAt(l+4));){if(o>2)return i(l,3,"Too many extended language subtags, expected at most 3 subtags");n.extendedLanguageSubtags.push(r.slice(l+1,l+4)),l+=4,o++}}for(s.charCodeAt(l)===45&&A(s.charCodeAt(l+1))&&A(s.charCodeAt(l+2))&&A(s.charCodeAt(l+3))&&A(s.charCodeAt(l+4))&&!A(s.charCodeAt(l+5))&&(n.script=r.slice(l+1,l+5),l+=5),s.charCodeAt(l)===45&&(A(s.charCodeAt(l+1))&&A(s.charCodeAt(l+2))&&!A(s.charCodeAt(l+3))?(n.region=r.slice(l+1,l+3),l+=3):x(s.charCodeAt(l+1))&&x(s.charCodeAt(l+2))&&x(s.charCodeAt(l+3))&&!x(s.charCodeAt(l+4))&&(n.region=r.slice(l+1,l+4),l+=4));s.charCodeAt(l)===45;){let o=l+1,a=o;for(;G(s.charCodeAt(a));){if(a-o>7)return i(a,1,"Too long variant, expected at most 8 characters");a++}if(a-o>4||a-o>3&&x(s.charCodeAt(o)))n.variants.push(r.slice(o,a)),l=a;else break}for(;s.charCodeAt(l)===45&&!(s.charCodeAt(l+1)===120||!G(s.charCodeAt(l+1))||s.charCodeAt(l+2)!==45||!G(s.charCodeAt(l+3)));){let o=l+2,a=0;for(;s.charCodeAt(o)===45&&G(s.charCodeAt(o+1))&&G(s.charCodeAt(o+2));){let _=o+1;for(o=_+2,a++;G(s.charCodeAt(o));){if(o-_>7)return i(o,2,"Too long extension, expected at most 8 characters");o++}}if(!a)return i(o,4,"Empty extension, extensions must have at least 2 characters of content");n.extensions.push({singleton:r.charAt(l+1),extensions:r.slice(l+3,o).split("-")}),l=o}}else l=0;if(l===0&&s.charCodeAt(l)===120||s.charCodeAt(l)===45&&s.charCodeAt(l+1)===120){l=l?l+2:1;let o=l;for(;s.charCodeAt(o)===45&&G(s.charCodeAt(o+1));){let a=l+1;for(o=a;G(s.charCodeAt(o));){if(o-a>7)return i(o,5,"Too long private-use area, expected at most 8 characters");o++}n.privateuse.push(r.slice(l+1,o)),l=o}}if(l!==r.length)return i(l,6,"Found superfluous content after tag");return n;function i(o,a,_){return e.warning&&e.warning(_,a,o),e.forgiving?n:kt()}}function kt(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function St(t,e,n){let r=t.slice();return r[8]=e[n][0],r[9]=e[n][1],r}function Tn(t){let e,n,r,s,l,i=t[0]&&At(t);return{c(){i&&i.c(),e=k(),n=y("div"),r=y("p"),r.textContent=`${t[3](30)}`,s=k(),l=y("p"),l.textContent=`${t[3](40)}`,g(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),g(n,"class","pagefind-ui__result-inner svelte-j9e30")},m(o,a){i&&i.m(o,a),v(o,e,a),v(o,n,a),E(n,r),E(n,s),E(n,l)},p(o,a){o[0]?i||(i=At(o),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(o){i&&i.d(o),o&&R(e),o&&R(n)}}}function kn(t){let e,n,r,s,l=t[1].meta?.title+"",i,o,a,_=t[1].excerpt+"",m,c=t[0]&&Ft(t),d=t[2].length&&Ht(t);return{c(){c&&c.c(),e=k(),n=y("div"),r=y("p"),s=y("a"),o=k(),a=y("p"),m=k(),d&&d.c(),g(s,"class","pagefind-ui__result-link svelte-j9e30"),g(s,"href",i=t[1].meta?.url||t[1].url),g(r,"class","pagefind-ui__result-title svelte-j9e30"),g(a,"class","pagefind-ui__result-excerpt svelte-j9e30"),g(n,"class","pagefind-ui__result-inner svelte-j9e30")},m(b,u){c&&c.m(b,u),v(b,e,u),v(b,n,u),E(n,r),E(r,s),s.innerHTML=l,E(n,o),E(n,a),a.innerHTML=_,E(n,m),d&&d.m(n,null)},p(b,u){b[0]?c?c.p(b,u):(c=Ft(b),c.c(),c.m(e.parentNode,e)):c&&(c.d(1),c=null),u&2&&l!==(l=b[1].meta?.title+"")&&(s.innerHTML=l),u&2&&i!==(i=b[1].meta?.url||b[1].url)&&g(s,"href",i),u&2&&_!==(_=b[1].excerpt+"")&&(a.innerHTML=_),b[2].length?d?d.p(b,u):(d=Ht(b),d.c(),d.m(n,null)):d&&(d.d(1),d=null)},d(b){c&&c.d(b),b&&R(e),b&&R(n),d&&d.d()}}}function At(t){let e;return{c(){e=y("div"),g(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(n,r){v(n,e,r)},d(n){n&&R(e)}}}function Ft(t){let e,n=t[1].meta.image&&Mt(t);return{c(){e=y("div"),n&&n.c(),g(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(r,s){v(r,e,s),n&&n.m(e,null)},p(r,s){r[1].meta.image?n?n.p(r,s):(n=Mt(r),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(r){r&&R(e),n&&n.d()}}}function Mt(t){let e,n,r;return{c(){e=y("img"),g(e,"class","pagefind-ui__result-image svelte-j9e30"),Be(e.src,n=t[1].meta?.image)||g(e,"src",n),g(e,"alt",r=t[1].meta?.image_alt||t[1].meta?.title)},m(s,l){v(s,e,l)},p(s,l){l&2&&!Be(e.src,n=s[1].meta?.image)&&g(e,"src",n),l&2&&r!==(r=s[1].meta?.image_alt||s[1].meta?.title)&&g(e,"alt",r)},d(s){s&&R(e)}}}function Ht(t){let e,n=t[2],r=[];for(let s=0;st.toLocaleUpperCase();function An(t,e,n){let{show_images:r=!0}=e,{process_result:s=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],o,a=[],_=async c=>{n(1,o=await c.data()),n(1,o=s?.(o)??o),n(2,a=Object.entries(o.meta).filter(([d])=>!i.includes(d)))},m=(c=30)=>". ".repeat(Math.floor(10+Math.random()*c));return t.$$set=c=>{"show_images"in c&&n(0,r=c.show_images),"process_result"in c&&n(4,s=c.process_result),"result"in c&&n(5,l=c.result)},t.$$.update=()=>{if(t.$$.dirty&32)e:_(l)},[r,o,a,m,s,l]}var We=class extends L{constructor(e){super(),Q(this,e,An,Sn,X,{show_images:0,process_result:4,result:5})}},jt=We;function Dt(t,e,n){let r=t.slice();return r[7]=e[n][0],r[8]=e[n][1],r[9]=e,r[10]=n,r}function zt(t,e,n){let r=t.slice();return r[11]=e[n][0],r[12]=e[n][1],r[13]=e,r[14]=n,r}function It(t){let e,n,r=t[3]("filters_label")+"",s,l,i=Object.entries(t[1]),o=[];for(let a=0;at.toLocaleUpperCase();function Mn(t,e,n){let{available_filters:r=null}=e,{show_empty_filters:s=!0}=e,{translate:l=()=>""}=e,i={},o=!1,a=!1;function _(m,c){i[`${m}:${c}`]=this.checked,n(0,i)}return t.$$set=m=>{"available_filters"in m&&n(1,r=m.available_filters),"show_empty_filters"in m&&n(2,s=m.show_empty_filters),"translate"in m&&n(3,l=m.translate)},t.$$.update=()=>{if(t.$$.dirty&34){e:if(r&&!o){n(5,o=!0);let m=Object.entries(r||{});m.length===1&&Object.entries(m[0][1])?.length<=6&&n(4,a=!0)}}},[i,r,s,l,a,o,_]}var Je=class extends L{constructor(e){super(),Q(this,e,Mn,Fn,X,{available_filters:1,show_empty_filters:2,translate:3,selected_filters:0})}get selected_filters(){return this.$$.ctx[0]}},Bt=Je;var Ke={};S(Ke,{comments:()=>Nn,default:()=>Dn,direction:()=>On,strings:()=>jn,thanks_to:()=>Hn});var Hn="Jan Claasen",Nn="",On="ltr",jn={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},Dn={thanks_to:Hn,comments:Nn,direction:On,strings:jn};var Ye={};S(Ye,{comments:()=>In,default:()=>qn,direction:()=>Un,strings:()=>Pn,thanks_to:()=>zn});var zn="Pablo Villaverde ",In="",Un="ltr",Pn={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9es resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques seg\xFCents:",searching:"Cercant [SEARCH_TERM]..."},qn={thanks_to:zn,comments:In,direction:Un,strings:Pn};var Xe={};S(Xe,{comments:()=>Bn,default:()=>$n,direction:()=>Gn,strings:()=>Vn,thanks_to:()=>Ln});var Ln="Jan Claasen",Bn="",Gn="ltr",Vn={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche f\xFCr [SEARCH_TERM]"},$n={thanks_to:Ln,comments:Bn,direction:Gn,strings:Vn};var Ze={};S(Ze,{comments:()=>Wn,default:()=>Yn,direction:()=>Jn,strings:()=>Kn,thanks_to:()=>xn});var xn="Liam Bigelow ",Wn="",Jn="ltr",Kn={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},Yn={thanks_to:xn,comments:Wn,direction:Jn,strings:Kn};var Qe={};S(Qe,{comments:()=>Zn,default:()=>tr,direction:()=>Qn,strings:()=>er,thanks_to:()=>Xn});var Xn="Pablo Villaverde ",Zn="",Qn="ltr",er={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes b\xFAsquedas:",searching:"Buscando [SEARCH_TERM]..."},tr={thanks_to:Xn,comments:Zn,direction:Qn,strings:er};var et={};S(et,{comments:()=>rr,default:()=>ir,direction:()=>sr,strings:()=>lr,thanks_to:()=>nr});var nr="Nicolas Friedli ",rr="",sr="ltr",lr={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},ir={thanks_to:nr,comments:rr,direction:sr,strings:lr};var tt={};S(tt,{comments:()=>ar,default:()=>fr,direction:()=>cr,strings:()=>ur,thanks_to:()=>or});var or="Pablo Villaverde ",ar="",cr="ltr",ur={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},fr={thanks_to:or,comments:ar,direction:cr,strings:ur};var nt={};S(nt,{comments:()=>dr,default:()=>pr,direction:()=>hr,strings:()=>mr,thanks_to:()=>_r});var _r="Tate",dr="",hr="ltr",mr={placeholder:"\u691C\u7D22",clear_search:"\u6D88\u3059",load_more:"\u3082\u3063\u3068\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u4EF6\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u4EF6\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u4EF6\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059"},pr={thanks_to:_r,comments:dr,direction:hr,strings:mr};var rt={};S(rt,{comments:()=>br,default:()=>Rr,direction:()=>Er,strings:()=>yr,thanks_to:()=>gr});var gr="Paul van Brouwershaven",br="",Er="ltr",yr={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},Rr={thanks_to:gr,comments:br,direction:Er,strings:yr};var st={};S(st,{comments:()=>Cr,default:()=>kr,direction:()=>wr,strings:()=>Tr,thanks_to:()=>vr});var vr="Christopher Wingate",Cr="",wr="ltr",Tr={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]"},kr={thanks_to:vr,comments:Cr,direction:wr,strings:Tr};var lt={};S(lt,{comments:()=>Ar,default:()=>Hr,direction:()=>Fr,strings:()=>Mr,thanks_to:()=>Sr});var Sr="Jonatah",Ar="",Fr="ltr",Mr={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},Hr={thanks_to:Sr,comments:Ar,direction:Fr,strings:Mr};var it={};S(it,{comments:()=>Or,default:()=>zr,direction:()=>jr,strings:()=>Dr,thanks_to:()=>Nr});var Nr="Aleksandr Gordeev",Or="",jr="ltr",Dr={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]"},zr={thanks_to:Nr,comments:Or,direction:jr,strings:Dr};var ot={};S(ot,{comments:()=>Ur,default:()=>Lr,direction:()=>Pr,strings:()=>qr,thanks_to:()=>Ir});var Ir="Montazar Al-Jaber ",Ur="",Pr="ltr",qr={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]..."},Lr={thanks_to:Ir,comments:Ur,direction:Pr,strings:qr};var at={};S(at,{comments:()=>Gr,default:()=>xr,direction:()=>Vr,strings:()=>$r,thanks_to:()=>Br});var Br="Amber Song",Gr="",Vr="ltr",$r={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},xr={thanks_to:Br,comments:Gr,direction:Vr,strings:$r};var ct={};S(ct,{comments:()=>Jr,default:()=>Xr,direction:()=>Kr,strings:()=>Yr,thanks_to:()=>Wr});var Wr="Amber Song",Jr="",Kr="ltr",Yr={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F09\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u7D22",filters_label:"\u7BE9\u9078",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},Xr={thanks_to:Wr,comments:Jr,direction:Kr,strings:Yr};var ut={};S(ut,{comments:()=>Qr,default:()=>ns,direction:()=>es,strings:()=>ts,thanks_to:()=>Zr});var Zr="Amber Song",Qr="",es="ltr",ts={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},ns={thanks_to:Zr,comments:Qr,direction:es,strings:ts};var rs=[Ke,Ye,Xe,Ze,Qe,et,tt,nt,rt,st,lt,it,ot,at,ct,ut],Gt=rs,Vt=["../../translations/af.json","../../translations/ca.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fr.json","../../translations/gl.json","../../translations/ja.json","../../translations/nl.json","../../translations/no.json","../../translations/pt.json","../../translations/ru.json","../../translations/sv.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function $t(t,e,n){let r=t.slice();return r[45]=e[n],r}function xt(t){let e,n,r;function s(i){t[30](i)}let l={show_empty_filters:t[3],available_filters:t[15],translate:t[16]};return t[6]!==void 0&&(l.selected_filters=t[6]),e=new Bt({props:l}),ne.push(()=>wt(e,"selected_filters",s)),{c(){$e(e.$$.fragment)},m(i,o){Ne(e,i,o),r=!0},p(i,o){let a={};o[0]&8&&(a.show_empty_filters=i[3]),o[0]&32768&&(a.available_filters=i[15]),!n&&o[0]&64&&(n=!0,a.selected_filters=i[6],yt(()=>n=!1)),e.$set(a)},i(i){r||(j(e.$$.fragment,i),r=!0)},o(i){U(e.$$.fragment,i),r=!1},d(i){ue(e,i)}}}function Wt(t){let e,n,r,s,l=[is,ls],i=[];function o(a,_){return a[11]?0:1}return n=o(t,[-1,-1]),r=i[n]=l[n](t),{c(){e=y("div"),r.c(),g(e,"class","pagefind-ui__results-area svelte-1bkqzc5")},m(a,_){v(a,e,_),i[n].m(e,null),s=!0},p(a,_){let m=n;n=o(a,_),n===m?i[n].p(a,_):(ae(),U(i[m],1,1,()=>{i[m]=null}),ce(),r=i[n],r?r.p(a,_):(r=i[n]=l[n](a),r.c()),j(r,1),r.m(e,null))},i(a){s||(j(r),s=!0)},o(a){U(r),s=!1},d(a){a&&R(e),i[n].d()}}}function ls(t){let e,n,r,s=[],l=new Map,i,o,a;function _(f,p){return f[10].results.length===0?cs:f[10].results.length===1?as:os}let m=_(t,[-1,-1]),c=m(t),d=t[10].results.slice(0,t[14]),b=f=>f[45].id;for(let f=0;ft[14]&&Kt(t);return{c(){e=y("p"),c.c(),n=k(),r=y("ol");for(let f=0;ff[14]?u?u.p(f,p):(u=Kt(f),u.c(),u.m(o.parentNode,o)):u&&(u.d(1),u=null)},i(f){if(!a){for(let p=0;p{u=null}),ce()),p[12]?f?(f.p(p,C),C[0]&4096&&j(f,1)):(f=Wt(p),f.c(),j(f,1),f.m(a,null)):f&&(ae(),U(f,1,1,()=>{f=null}),ce()),(!c||C[0]&4096)&&q(a,"pagefind-ui__hidden",!p[12]),(!c||C[0]&1)&&q(e,"pagefind-ui--reset",p[0])},i(p){c||(j(u),j(f),c=!0)},o(p){U(u),U(f),c=!1},d(p){p&&R(e),t[27](null),t[28](null),u&&u.d(),f&&f.d(),d=!1,V(b)}}}var fs=t=>t.preventDefault();function _s(t,e,n){let r={},s=Vt.map(h=>h.match(/([^\/]+)\.json$/)[1]);for(let h=0;hf[h]??ht[h]??"";Ve(()=>{let h=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",T=Oe(h.toLocaleLowerCase());ht=r[`${T.language}-${T.script}-${T.region}`]||r[`${T.language}-${T.region}`]||r[`${T.language}`]||r.en});let mt=async()=>{if(!W&&(n(9,W=!0),!C)){let h=await import(`${l}pagefind.js`);await h.options(d||{});for(let T of b){if(!T.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let P=T.bundlePath;delete T.bundlePath,await h.mergeIndex(P,T)}C=h,Qt()}},Qt=async()=>{C&&(dt=await C.filters(),(!re||!Object.keys(re).length)&&n(15,re=dt))},en=h=>{let T={};return Object.entries(h).filter(([,P])=>P).forEach(([P])=>{let[I,_n]=P.split(/:(.*)$/);T[I]=T[I]||[],T[I].push(_n)}),T},se,tn=async(h,T)=>{if(!h){n(12,N=!1),se&&clearTimeout(se);return}let P=en(T),I=()=>nn(h,P);c>0&&h?(se&&clearTimeout(se),se=setTimeout(I,c),await pt(),C.preload(h,{filters:P})):I(),rn()},pt=async()=>{for(;!C;)mt(),await new Promise(h=>setTimeout(h,50))},nn=async(h,T)=>{n(13,_t=h||""),typeof _=="function"&&(h=_(h)),n(11,H=!0),n(12,N=!0),await pt();let P=++J,I=await C.search(h,{filters:T});J===P&&(I.filters&&Object.keys(I.filters)?.length&&n(15,re=I.filters),n(10,w=I),n(11,H=!1),n(14,ze=5))},rn=()=>{let h=z.offsetWidth;h!=F&&n(7,D.style.paddingRight=`${h+2}px`,D)},sn=h=>{h?.preventDefault(),n(14,ze+=5)},ln=h=>{h.key==="Escape"&&(n(5,p=""),D.blur()),h.key==="Enter"&&h.preventDefault()};function on(){p=this.value,n(5,p),n(19,u)}function an(h){ne[h?"unshift":"push"](()=>{D=h,n(7,D)})}function cn(h){ne[h?"unshift":"push"](()=>{z=h,n(8,z)})}let un=()=>{n(5,p=""),D.blur()};function fn(h){Se=h,n(6,Se)}return t.$$set=h=>{"base_path"in h&&n(20,l=h.base_path),"reset_styles"in h&&n(0,i=h.reset_styles),"show_images"in h&&n(1,o=h.show_images),"process_result"in h&&n(2,a=h.process_result),"process_term"in h&&n(21,_=h.process_term),"show_empty_filters"in h&&n(3,m=h.show_empty_filters),"debounce_timeout_ms"in h&&n(22,c=h.debounce_timeout_ms),"pagefind_options"in h&&n(23,d=h.pagefind_options),"merge_index"in h&&n(24,b=h.merge_index),"trigger_search_term"in h&&n(19,u=h.trigger_search_term),"translations"in h&&n(4,f=h.translations)},t.$$.update=()=>{if(t.$$.dirty[0]&524288)e:u&&(n(5,p=u),n(19,u=""));if(t.$$.dirty[0]&96)e:tn(p,Se)},[i,o,a,m,f,p,Se,D,z,W,w,H,N,_t,ze,re,Zt,mt,sn,u,l,_,c,d,b,ln,on,an,cn,un,fn]}var ft=class extends L{constructor(e){super(),Q(this,e,_s,us,X,{base_path:20,reset_styles:0,show_images:1,process_result:2,process_term:21,show_empty_filters:3,debounce_timeout_ms:22,pagefind_options:23,merge_index:24,trigger_search_term:19,translations:4},null,[-1,-1])}},Xt=ft;var je;try{je=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1]}catch{je="/_pagefind/",console.warn(`Pagefind couldn't determine the base of the bundle from the javascript import path. Falling back to the default of ${je}.`),console.warn("You can configure this by passing a bundlePath option to PagefindUI"),console.warn(`[DEBUG: Loaded from ${document?.currentScript?.src??"unknown"}]`)}var De=class{constructor(e){this._pfs=null;let n=e.element??"[data-pagefind-ui]",r=e.bundlePath??je,s=e.resetStyles??!0,l=e.showImages??!0,i=e.processResult??null,o=e.processTerm??null,a=e.showEmptyFilters??!0,_=e.debounceTimeoutMs??300,m=e.mergeIndex??[],c=e.translations??[];delete e.element,delete e.bundlePath,delete e.resetStyles,delete e.showImages,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations;let d=document.querySelector(n);d?this._pfs=new Xt({target:d,props:{base_path:r,reset_styles:s,show_images:l,process_result:i,process_term:o,show_empty_filters:a,debounce_timeout_ms:_,merge_index:m,translations:c,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${n}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}};window.PagefindUI=De;})();
diff --git a/!pagefind/pagefind.en_bbd813c479.pf_meta b/!pagefind/pagefind.en_bbd813c479.pf_meta
new file mode 100644
index 0000000..7e85886
Binary files /dev/null and b/!pagefind/pagefind.en_bbd813c479.pf_meta differ
diff --git a/!pagefind/pagefind.js b/!pagefind/pagefind.js
new file mode 100644
index 0000000..4d2dd16
--- /dev/null
+++ b/!pagefind/pagefind.js
@@ -0,0 +1 @@
+const pagefind_version="0.12.0";let wasm_bindgen;(function(){const __exports={};let script_src;if(typeof document==='undefined'){script_src=location.href}else{script_src=new URL("UNHANDLED",location.href).toString()}let wasm;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1);getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}__exports.init_pagefind=function(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret};__exports.load_index_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret};__exports.load_filter_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret};const cachedTextEncoder=new TextEncoder('utf-8');const encodeString=(typeof cachedTextEncoder.encodeInto==='function'?function(arg,view){return cachedTextEncoder.encodeInto(arg,view)}:function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length}});function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length);getUint8Memory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len);const mem=getUint8Memory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code}if(offset!==len){if(offset!==0){arg=arg.slice(offset)}ptr=realloc(ptr,len,len=offset+arg.length*3);const view=getUint8Memory0().subarray(ptr+offset,ptr+len);const ret=encodeString(arg,view);offset+=ret.written}WASM_VECTOR_LEN=offset;return ptr}__exports.add_synthetic_filter=function(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret};let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}const cachedTextDecoder=new TextDecoder('utf-8',{ignoreBOM:true,fatal:true});cachedTextDecoder.decode();function getStringFromWasm0(ptr,len){return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr,ptr+len))}__exports.request_indexes=function(ptr,query){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};__exports.request_filter_indexes=function(ptr,filters){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_filter_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};__exports.request_all_filter_indexes=function(ptr){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.request_all_filter_indexes(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};__exports.filters=function(ptr){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.filters(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};__exports.search=function(ptr,query,filter,sort,exact){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;wasm.search(retptr,ptr,ptr0,len0,ptr1,len1,ptr2,len2,exact);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(r0,r1)}};async function load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get('Content-Type')!='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module}}else{return instance}}}function getImports(){const imports={};imports.wbg={};return imports}function initMemory(imports,maybe_memory){}function finalizeInit(instance,module){wasm=instance.exports;init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){const imports=getImports();initMemory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return finalizeInit(instance,module)}async function init(input){if(typeof input==='undefined'){input=script_src.replace(/\.js$/,'_bg.wasm')}const imports=getImports();if(typeof input==='string'||(typeof Request==='function'&&input instanceof Request)||(typeof URL==='function'&&input instanceof URL)){input=fetch(input)}initMemory(imports);const{instance,module}=await load(await input,imports);return finalizeInit(instance,module)}wasm_bindgen=Object.assign(init,{initSync},__exports)})();let gunzip;(()=>{var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i=0;i<31;++i){b[i]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i=0;var l=new u16(mb);for(;i>>rvb]=sv}}}}else{co=new u16(s);for(i=0;i>>15-cd[i]}}}return co};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i=1;im)m=a[i]}return m};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7)};var shft=function(p){return(p+7)/8|0};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i=0;i>>4;if(s<16){ldt[i++]=s}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i++]=c}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1)}else err(1);if(pos>tbts){if(noSt)err(0);break}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i=sym-257,b=fleb[i];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2)};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)))}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1}catch(e){}gunzip=gunzipSync})();const asyncSleep=async(ms=100)=>{return new Promise(r=>setTimeout(r,ms))};class PagefindInstance{constructor(opts={}){this.backend=wasm_bindgen;this.decoder=new TextDecoder('utf-8');this.wasm=null;this.basePath=opts.basePath||"/_pagefind/";this.primary=opts.primary||false;if(this.primary){this.initPrimary()}if(/[^\/]$/.test(this.basePath)){this.basePath=`${this.basePath}/`}if(window?.location?.origin&&this.basePath.startsWith(window.location.origin)){this.basePath=this.basePath.replace(window.location.origin,'')}this.baseUrl=opts.baseUrl||this.defaultBasePath();if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`}this.indexWeight=opts.indexWeight??1;this.mergeFilter=opts.mergeFilter??{};this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.searchMeta=null;this.languages=null}initPrimary(){try{this.basePath=import.meta.url.match(/^(.*\/)pagefind.js.*$/)[1]}catch(e){console.warn("Pagefind couldn't determine the base of the bundle from the import path. Falling back to the default.")}}defaultBasePath(){let default_base=this.basePath.match(/^(.*\/)_pagefind/)?.[1];return default_base||"/"}async options(options){const opts=["basePath","baseUrl","indexWeight","mergeFilter"];for(const[k,v]of Object.entries(options)){if(k==="mergeFilter"){let filters=this.stringifyFilters(v);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters)}else if(opts.includes(k)){this[k]=v}else{console.warn(`Unknown Pagefind option ${k}. Allowed options: [${opts.join(', ')}]`)}}}decompress(data,file="unknown file"){if(this.decoder.decode(data.slice(0,12))==="pagefind_dcd"){return data.slice(12)}data=gunzip(data);if(this.decoder.decode(data.slice(0,12))!=="pagefind_dcd"){console.error(`Decompressing ${file} appears to have failed: Missing signature`);return data}return data.slice(12)}async init(language,opts){await this.loadEntry();let index=this.findIndex(language);let lang_wasm=index.wasm?index.wasm:"unknown";let resources=[this.loadMeta(index.hash)];if(opts.load_wasm===true){resources.push(this.loadWasm(lang_wasm))}await Promise.all(resources);this.raw_ptr=this.backend.init_pagefind(new Uint8Array(this.searchMeta))}async loadEntry(){try{let entry_json=await fetch(`${this.basePath}pagefind-entry.json?ts=${Date.now()}`);entry_json=await entry_json.json();this.languages=entry_json.languages;if(entry_json.version!==pagefind_version){if(this.primary){console.warn(["Pagefind JS version doesn't match the version in your search index.",`Pagefind JS: ${pagefind_version}. Pagefind index: ${entry_json.version}`,"If you upgraded Pagefind recently, you likely have a cached pagefind.js file.","If you encounter any search errors, try clearing your cache."].join('\n'))}else{console.warn(["Merging a Pagefind index from a different version than the main Pagefind instance.",`Main Pagefind JS: ${pagefind_version}. Merged index (${this.basePath}): ${entry_json.version}`,"If you encounter any search errors, make sure that both sites are running the same version of Pagefind."].join('\n'))}}}catch(e){console.error(`Failed to load Pagefind metadata:\n${e.toString()}`);throw new Error("Failed to load Pagefind metadata")}}findIndex(language){if(this.languages){let index=this.languages[language];if(index)return index;index=this.languages[language.split("-")[0]];if(index)return index;let topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async loadMeta(index){try{let compressed_meta=await fetch(`${this.basePath}pagefind.${index}.pf_meta`);compressed_meta=await compressed_meta.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata")}catch(e){console.error(`Failed to load the meta index:\n${e.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_wasm=await fetch(wasm_url);compressed_wasm=await compressed_wasm.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression")}this.wasm=await this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind WASM:\n${e.toString()}`);throw new Error(`Failed to load the Pagefind WASM:\n${e.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_chunk=await fetch(url);compressed_chunk=await compressed_chunk.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed to load the index chunk ${url}:\n${e.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return await this.loaded_chunks[hash]}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return await this.loaded_filters[hash]}async _loadFragment(hash){let compressed_fragment=await fetch(`${this.basePath}fragment/${hash}.pf_fragment`);compressed_fragment=await compressed_fragment.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment))}async loadFragment(hash,excerpt=[0,0],locations=[]){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash)}let fragment=await this.loaded_fragments[hash];if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,'>');fragment.content=fragment.content.replace(/\u200B/g,'')}let is_zws_delimited=fragment.raw_content.includes('\u200B');let fragment_words=[];if(is_zws_delimited){fragment_words=fragment.raw_content.split('\u200B')}else{fragment_words=fragment.raw_content.split(/[\r\n\s]+/g)}for(let word of locations){fragment_words[word]=`${fragment_words[word]} `}fragment.excerpt=fragment_words.slice(excerpt[0],excerpt[0]+excerpt[1]).join(is_zws_delimited?'':' ').trim();if(!fragment.raw_url){fragment.raw_url=fragment.url;fragment.url=this.fullUrl(fragment.raw_url)}return fragment}fullUrl(raw){return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/")}async getPtr(){while(this.raw_ptr===null){await asyncSleep(50)}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)")}return this.raw_ptr}parseFilters(str){let output={};if(!str)return output;for(const block of str.split("__PF_FILTER_DELIM__")){let[filter,values]=block.split(/:(.*)$/);output[filter]={};if(values){for(const valueBlock of values.split("__PF_VALUE_DELIM__")){if(valueBlock){let[,value,count]=valueBlock.match(/^(.*):(\d+)$/);output[filter][value]=parseInt(count)??count}}}}return output}stringifyFilters(obj={}){let filter_list=[];for(let[filter,values]of Object.entries(obj)){if(Array.isArray(values)){for(let value of values){filter_list.push(`${filter}:${value}`)}}else{filter_list.push(`${filter}:${values}`)}}return filter_list.join("__PF_FILTER_DELIM__")}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`)}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`)}return`${sort}:${direction}`}return``}async filters(){let ptr=await this.getPtr();let filter_chunks=this.backend.request_all_filter_indexes(ptr).split(' ').filter(v=>v).map(chunk=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);ptr=await this.getPtr();let results=this.backend.filters(ptr);return this.parseFilters(results)}async preload(term,options={}){options.preload=true;await this.search(term,options)}async search(term,options={}){options={verbose:false,filters:{},sort:{},...options,};const log=str=>{if(options.verbose)console.log(str)};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`)}term=term.toLowerCase().trim().replace(/[\.`~!@#\$%\^&\*\(\)\{\}\[\]\\\|:;'",<>\/\?\-]/g,"").replace(/\s{2,}/g," ").trim();log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}}}let sort_list=this.stringifySorts(options.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options.filters);log(`Stringified filters to ${filter_list}`);let chunks=this.backend.request_indexes(ptr,term).split(' ').filter(v=>v).map(chunk=>this.loadChunk(chunk));let filter_chunks=this.backend.request_filter_indexes(ptr,filter_list).split(' ').filter(v=>v).map(chunk=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options.preload){log(`Preload — bailing out of search operation now.`);return}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,filter_list,sort_list,exact_search);log(`Got the raw search result: ${result}`);let[unfilteredResultCount,results,filters,totalFilters]=result.split(/:([^:]*):(.*)__PF_UNFILTERED_DELIM__(.*)$/);let filterObj=this.parseFilters(filters);let totalFilterObj=this.parseFilters(totalFilters);log(`Remaining filters: ${JSON.stringify(result)}`);results=results.length?results.split(" "):[];let resultsInterface=results.map(result=>{let[hash,score,excerpt,locations]=result.split('@');log(`Processing result: \n hash:${hash}\n score:${score}\n excerpt:${excerpt}\n locations:${locations}`);locations=locations.split(',').map(l=>parseInt(l));excerpt=excerpt.split(',').map(l=>parseInt(l));return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,excerpt_range:excerpt,data:async()=>await this.loadFragment(hash,excerpt,locations)}});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? '' : 's'} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);return{results:resultsInterface,unfilteredResultCount:parseInt(unfilteredResultCount),filters:filterObj,totalFilters:totalFilterObj,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}}}}class Pagefind{constructor(){this.backend=wasm_bindgen;this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({primary:true});this.instances=[this.primary];this.init()}async options(options){await this.primary.options(options)}async init(){if(document?.querySelector){const langCode=document.querySelector("html").getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase()}await this.primary.init(this.primaryLanguage,{load_wasm:true})}async mergeIndex(indexPath,options={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return}let newInstance=new PagefindInstance({primary:false,basePath:indexPath});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50)}await newInstance.init(options.language||this.primaryLanguage,{load_wasm:false});delete options["language"];await newInstance.options(options)}mergeFilters(filters){const merged={};for(const searchFilter of filters){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count}}}}return merged}async filters(){let filters=await Promise.all(this.instances.map(i=>i.filters()));return this.mergeFilters(filters)}async preload(term,options={}){await Promise.all(this.instances.map(i=>i.preload(term,options)))}async debouncedSearch(term,options,debounceTimeoutMs=300){const thisSearchID=++this.searchID;this.preload(term,options);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null}const searchResult=await this.search(term,options);if(thisSearchID!==this.searchID){return null}return searchResult}async search(term,options={}){let search=await Promise.all(this.instances.map(i=>i.search(term,options)));const filters=this.mergeFilters(search.map(s=>s.filters));const totalFilters=this.mergeFilters(search.map(s=>s.totalFilters));const results=search.map(s=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search.map(s=>s.timings);const unfilteredResultCount=search.reduce((sum,s)=>sum+s.unfilteredResultCount,0);return{results,unfilteredResultCount,filters,totalFilters,timings}}}const pagefind=new Pagefind();export const mergeIndex=async(indexPath,options)=>await pagefind.mergeIndex(indexPath,options);export const options=async(options)=>await pagefind.options(options);export const search=async(term,options)=>await pagefind.search(term,options);export const debouncedSearch=async(term,options,debounceTimeoutMs)=>await pagefind.debouncedSearch(term,options,debounceTimeoutMs);export const preload=async(term,options)=>await pagefind.preload(term,options);export const filters=async()=>await pagefind.filters()
\ No newline at end of file
diff --git a/!pagefind/wasm.en.pagefind b/!pagefind/wasm.en.pagefind
new file mode 100644
index 0000000..a20a266
Binary files /dev/null and b/!pagefind/wasm.en.pagefind differ
diff --git a/!pagefind/wasm.unknown.pagefind b/!pagefind/wasm.unknown.pagefind
new file mode 100644
index 0000000..bcd3f4b
Binary files /dev/null and b/!pagefind/wasm.unknown.pagefind differ
diff --git a/FAQ.html b/FAQ.html
new file mode 100644
index 0000000..b56705d
--- /dev/null
+++ b/FAQ.html
@@ -0,0 +1,83 @@
+
+
+
+
+ FAQ | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FAQ
+
+Jovian
+“Relating to [...] Jupiter or the class of [...] which Jupiter belongs.”
+
+
+What's Jupiter?
+
+
There's a disambiguation page that won't help you .
+It's not known exactly what it's the codename for.
+It is either the codename for the Steam Deck, or the codename for the new Steam OS for the Steam Deck.
+Things get awfully murky with Neptune also being a thing, and it's unclear from the outside what it is.
+To the best of our knowledge, Jupiter is the OS.
+
+
+What channels are supported?
+
+
Truthfully, no channel is supported , but the older the stable release was cut, the more likely the additions from Jovian NixOS won't work as expected.
+
Thus, it is preferable to use nixos-unstable
. The latest update should work fine, and when it doesn't, it'll be handled soon enough.
+
+
+
+
+
+
+
+
diff --git a/configuration.html b/configuration.html
new file mode 100644
index 0000000..4887843
--- /dev/null
+++ b/configuration.html
@@ -0,0 +1,81 @@
+
+
+
+
+ Configuration | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Configuration
+
+
+This page is a stub.
+
+
All available module options along with their descriptions can be found under modules
.
+
To use the Steam Deck UI, set jovian.steam.enable = true;
in your configuration.
+This will only enable the Steam Deck UI tooling. To enable "desktop" steam, enable the usual NixOS options.
+Then you can start the UI using one of the following methods:
+
+(preferred ) Use jovian.steam.autoStart = true;
to auto-start at login, and enabling use of Switch to Desktop option.
+Select "Gaming Mode" in the Display Manager or run start-gamescope-session
in a VT.
+Launch gamescope-session
within an existing desktop session. This will run gamescope in nested mode which results in higher latency.
+
+
If you want Switch to Desktop to switch to another session with autoStart
, you will need to configure jovian.steam.desktopSession
.
+Configure it with the name of the X11 or Wayland session of your choosing.
+The Switch to Desktop option will not work with the other two methods of running the Steam Deck UI, instead it will close Steam.
+
+
+
+
+
+
+
+
diff --git a/contributing.html b/contributing.html
new file mode 100644
index 0000000..e8b7d90
--- /dev/null
+++ b/contributing.html
@@ -0,0 +1,108 @@
+
+
+
+
+ Contributing to Jovian NixOS | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Contributing to Jovian NixOS
+
Development happens on the GitHub Repository .
+
Reporting issues
+
Yes, issues are contributions.
+
First, look around in the opened and closed issues , someone might have reported the same issue.
+In case of doubt or if it's not the same exact issue, feel free to open a new issue .
+
If you're not sure an issue is the same or not, especially an older closed issue, prefer opening a new issue, and in the issue tell us you suspect it could be related to that other issue.
+
First, identify if the issue not an upstream NixOS issue.
+If it is not related to a device-specific issue (e.g. Steam Deck), to the Steam Deck UI integration, or to the few other system integration this repository handles, it is possibly a NixOS issue.
+If you're unsure, it's okay to report it in the Jovian NixOS repository, at worst we'll explain how it's unrelated and ask you to report back to upstream and cross-reference.
+
Submitting changes
+
Opening a Pull Request on the GitHub repository is the preferred contribution workflow.
+
Though, if you can't, or don't want to, a properly git format-patch
or git send-email
contribution is fine too.
+Find one or a few major contributor's e-mail address in the git repo, and send it there.
+
There are no strict guidelines.
+
+Changes that are not about hardware-specific quirks, the Steam Deck UI, or system integration thereof should preferably be sent to Nixpkgs.
+Implement as if you were contributing to Nixpkgs.
+Test your changes, and tell us what you did do, and what you did not do.
+
+
“AI”-assisted changes
+
+
+Using pre-existing boilerplate , snippets , or syntax suggestions from your IDE are not considered as “AI”-assisted changes.
+
+
Contributions written largely with help of LLMs (Large Language Models ), other “AI” (or non-“AI”), or similar systems are not welcome.
+Such systems of concern are generally using statistical models built on “knowledge” acquired for the purpose without express consent, and with disregard of the authorship and attribution.
+
This includes, but is not limited to:
+
+Using them to generate comments
+Using them to generate documentation
+Using them to generate code
+
+
Contributions should be largely authored by the people in the commit information, e.g. the Committer,
Author
, Signed-off-by
, and Co-authored-by
fields, exclusively.
+
If you are unsure, or you had help from automated “AI”-generation in part of your contribution, please tell us when contributing.
+It does not mean the contribution will be rejected outright.
+We will evaluate on a case-by-case basis.
+We value honesty, and take it into consideration.
+
Other resources
+
+
+
+
+
+
+
+
+
diff --git a/devices/valve-steam-deck/index.html b/devices/valve-steam-deck/index.html
new file mode 100644
index 0000000..2b36266
--- /dev/null
+++ b/devices/valve-steam-deck/index.html
@@ -0,0 +1,82 @@
+
+
+
+
+ Steam Deck | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Steam Deck
+
Configuration
+
When configuring the system, import ./modules
from this repo in your configuration and enable the Steam Deck-specific hardware configurations with jovian.devices.steamdeck.enable = true;
.
+
Firmware Updates
+
Firmware update, at this time, is not handled automatically.
+
steamdeck-firmware
+
Updates to the BIOS and the controller are available in the steamdeck-firmware
package:
+
+BIOS: Run sudo jupiter-biosupdate
+
+Controller: Run sudo jupiter-controller-update
+
+
+
jupiter-dock-updater-bin
+
Updates to the Docking Station firmware are available in the jupiter-dock-updater-bin
package.
+Connect to the dock via USB-C and run jupiter-dock-updater
to update.
+
Helpful Tips
+
To enter the boot menu, power off the Steam Deck then hold down Volume-
and tap the Power
button.
+
+
+
+
+
+
+
+
diff --git a/getting-started.html b/getting-started.html
new file mode 100644
index 0000000..aa9491f
--- /dev/null
+++ b/getting-started.html
@@ -0,0 +1,123 @@
+
+
+
+
+ Getting Started | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Getting Started
+
Using Jovian NixOS requires some NixOS knowledge, ideally.
+It's not a strict requirement, but will make your life easier, as this may make some NixOS peculiarities harder to deal with.
+
Installing NixOS
+
For now, this may be the "hardest" step, as it requires thinking ahead.
+Note that you're free to install NixOS in any way you want.
+
Though here are the requirements:
+
+Only the unstable
channel is supported.
+
+
Here are some tips:
+
+You will most likely need some way to type commands, e.g. a keyboard.
+You can use an SD card to boot the installation media, freeing-up the only USB port.
+Using a docking station sure is helpful, but not needed.
+FDE (full-disk encryption) may or may not be an issue, considering there is no physical keyboard.
+
+
Up to this moment, nothing here is specific to Jovian NixOS or the Steam Deck.
+
Configuring Jovian NixOS
+
This is where the fun begins!
+
Configuring for your hardware
+
This only applies if you have a "made for gaming" device like the Steam Deck, or other portable gaming devices.
+
Other computers are just boring computers, and mostly need nothing special here.
+Note that since the Steam Deck experience is developed on AMD hardware, using other hardware may have issues, especially [NVIDIA hardware](https://github.com/Jovian-Experiments/Jovian-NixOS/labels/8 . hardware%3A NVIDIA).
+
Known hardware
+
+
Feel free to contribute more for-gaming hardware-specific quirks!
+
Configuring the software
+
+
+This section is a stub.
+
+
When configuring the system, import ./modules
from this repo in your configuration.
+
One way to do so is by using fetchTarball
in the imports
of your configuration.
+
{ config , lib , pkgs , ... }:
+
+{
+ imports = [
+ (
+ # Put the most recent revision here:
+ let revision = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ; in
+ builtins . fetchTarball {
+ url = "https://github.com/Jovian-Experiments/Jovian-NixOS/archive/ ${ revision } .tar.gz" ;
+ # Update the hash as needed:
+ sha256 = "sha256:0000000000000000000000000000000000000000000000000000" ;
+ } + "/modules"
+ )
+
+ /* ... */
+ ];
+
+ /* ... */
+}
+
+
Another way is to use Flakes , or any other method to fetch inputs.
+
When hacking on Jovian NixOS things, adding the path to a Git checkout of this repo to imports
works well too.
+
See the Configuration page for more information about configuration.
+
+
+
+
+
+
+
+
diff --git a/in-depth.html b/in-depth.html
new file mode 100644
index 0000000..d8583ef
--- /dev/null
+++ b/in-depth.html
@@ -0,0 +1,69 @@
+
+
+
+
+ In-Depth | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
In-Depth
+
Learn more about:
+
+
+
+
+
+
+
+
+
diff --git a/in-depth/decky-loader.html b/in-depth/decky-loader.html
new file mode 100644
index 0000000..10d6371
--- /dev/null
+++ b/in-depth/decky-loader.html
@@ -0,0 +1,76 @@
+
+
+
+
+ Decky Loader | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Decky Loader
+
+
+This page is a stub.
+
+
To enable Decky Loader in your configuration:
+
{
+ jovian . decky-loader = {
+ enable = true ;
+ };
+}
+
+
+
+
+
+
+
+
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..f4ab34f
--- /dev/null
+++ b/index.html
@@ -0,0 +1,112 @@
+
+
+
+
+ Home | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Home
+
+
+
Jovian NixOS
+
NixOS on the Steam Deck
+
+
+
+
+
+
What is Jovian NixOS?
+
A set of packages and configurations for running NixOS on the Steam Deck .
+
This repo is also useful for obtaining a Steam Deck-like experience on other x86_64
devices.
+
+
+
+
+
Pointers to helpful pages
+
+
+
+
+
Who are we?
+
Most contributors here are also contributors to the Nixpkgs, and NixOS Linux ecosystem.
+
We're a few peeps that want to keep their Steam Deck useful as a gaming device, while also benefiting from NixOS.
+
Can I help?
+
Probably!
+
See the contributing page.
+
How do I reach any of you?
+
For support, don't hesitate to file an issue , questions are accepted.
+
For chatting about the project the matrix room at #Jovian-Experiments:matrix.org is where we hang out.
+
For other purposes, contact the developers via e-mail.
+
For obfuscation, see these raw commits which contain the relevant e-mail address at the top:
+
+
+
+
+
+
+
+
+
diff --git a/options.html b/options.html
new file mode 100644
index 0000000..520b3ac
--- /dev/null
+++ b/options.html
@@ -0,0 +1,904 @@
+
+
+
+
+ Options | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Options
+
Jovian-NixOS adds a set of extra options that can be used in your NixOS configurations under the jovian
prefix.
+
+
+
+The options listing is available on the website.
+
+
+
+
+
+
+
Name:
+jovian.decky-loader.enable
+
+
+
Default:
+false
+
+
+
+
Description:
+
+
Whether to enable the Steam Deck Plugin Loader.
+
+
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.decky-loader.package
+
+
+
Default:
+pkgs.decky-loader
+
+
+
+
Description:
+
+
The loader package to use.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.decky-loader.stateDir
+
+
+
Default:
+"/var/lib/decky-loader"
+
+
+
+
Description:
+
+
Directory to store plugins and data.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.decky-loader.user
+
+
+
Default:
+"decky"
+
+
+
+
Description:
+
+
The user Decky Loader should run plugins as.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.autoUpdate
+
+
+
Default:
+false
+
+
+
+
Description:
+
+
Whether to automatically update the BIOS and controller firmware.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enable
+
+
+
Default:
+false
+
+
+
+
Description:
+
+
Whether to enable Steam Deck-specific configurations.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableControllerUdevRules
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Enables udev rules to make the controller controllable by users.
+
Without this, neither steam, nor any other userspace client can
+switch the controller from out of its default "lizard" mode.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableDefaultCmdlineConfig
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to enable stock kernel command line flags.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableDefaultStage1Modules
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to enable essential kernel modules in initrd.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableDefaultSysctlConfig
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to enable stock sysctl configs.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableEarlyModesetting
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to enable early kernel modesetting.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableFwupdBiosUpdates
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to use fwupd to update the BIOS.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableGyroDsuService
+
+
+
Default:
+false
+
+
+
+
Description:
+
+
Whether to enable the Cemuhook DSU service for the gyroscope.
+
If enabled, motion data from the gyroscope can be used in Cemu
+with Cemuhook.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableKernelPatches
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to apply kernel patches if available.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableMesaPatches
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to apply the Mesa patches if available.
+
Currently, they allow the swapchain interval to be changed by
+the framerate limiter in gamescope.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableOsFanControl
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to enable the OS-controlled fan curve.
+
This is enabled by default since SteamOS 3.2.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enablePerfControlUdevRules
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to make performance-related device attributes controllable by users.
+
The Steam Deck Client directly modifies several device attributes to
+control the display brightness and to enable performance tuning (TDP
+limit, GPU clock control).
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableProductSerialAccess
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
+Loosen the product_serial node to 440 / root:wheel
, rather than 400 / root:root
+to allow the physical users to read S/N without auth.
+— holo-dmi-rules 1.0
+
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableSoundSupport
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to enable sound support.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableVendorRadv
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to enable the vendor branch of Mesa RADV.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.devices.steamdeck.enableXorgRotation
+
+
+
Default:
+config.jovian.devices.steamdeck.enable
+
+
+
+
Description:
+
+
Whether to rotate the display panel in X11.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.steam.autoStart
+
+
+
Default:
+false
+
+
+
+
Description:
+
+
Whether to automatically launch the Steam Deck UI on boot.
+
Traditional Display Managers cannot be enabled in conjunction with this option.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.steam.desktopSession
+
+
+
Default:
+null
+
+
+
Type:
+
+null or string
+
+
+
+
Description:
+
+
The session to launch for Desktop Mode.
+
By default, attempting to switch to the desktop will launch
+Gaming Mode again.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.steam.enable
+
+
+
Default:
+false
+
+
+
+
Description:
+
+
Whether to enable the Steam Deck UI.
+
When enabled, you can either use the autoStart
option (preferred),
+launch the Steam Deck UI from your Display Manager or
+by running start-gamescope-session
.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.steam.user
+
+
+
Default:
+(unset)
+
+
+
+
Description:
+
+
The user to run Steam with.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.workarounds.ignoreMissingKernelModules
+
+
+
Default:
+true
+
+
+
+
Description:
+
+
Whether to ignore missing kernel modules.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/options.json b/options.json
new file mode 100644
index 0000000..ffe7ff4
--- /dev/null
+++ b/options.json
@@ -0,0 +1 @@
+{"jovian.decky-loader.enable": {"declarations": [{"name": "modules/decky-loader.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/decky-loader.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Steam Deck Plugin Loader.\n", "loc": ["jovian", "decky-loader", "enable"], "readOnly": false, "type": "boolean"}, "jovian.decky-loader.extraPackages": {"declarations": [{"name": "modules/decky-loader.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/decky-loader.nix"}], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages to add to the service PATH.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.curl pkgs.unzip ]"}, "loc": ["jovian", "decky-loader", "extraPackages"], "readOnly": false, "type": "list of package"}, "jovian.decky-loader.extraPythonPackages": {"declarations": [{"name": "modules/decky-loader.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/decky-loader.nix"}], "default": {"_type": "literalExpression", "text": "pythonPackages: with pythonPackages; []"}, "description": "Extra Python packages to add to the PYTHONPATH of the loader.\n", "example": {"_type": "literalExpression", "text": "pythonPackages: with pythonPackages; [ hid ]"}, "loc": ["jovian", "decky-loader", "extraPythonPackages"], "readOnly": false, "type": "function that evaluates to a(n) list of package"}, "jovian.decky-loader.package": {"declarations": [{"name": "modules/decky-loader.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/decky-loader.nix"}], "default": {"_type": "literalExpression", "text": "pkgs.decky-loader"}, "description": "The loader package to use.\n", "loc": ["jovian", "decky-loader", "package"], "readOnly": false, "type": "package"}, "jovian.decky-loader.stateDir": {"declarations": [{"name": "modules/decky-loader.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/decky-loader.nix"}], "default": {"_type": "literalExpression", "text": "\"/var/lib/decky-loader\""}, "description": "Directory to store plugins and data.\n", "loc": ["jovian", "decky-loader", "stateDir"], "readOnly": false, "type": "path"}, "jovian.decky-loader.user": {"declarations": [{"name": "modules/decky-loader.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/decky-loader.nix"}], "default": {"_type": "literalExpression", "text": "\"decky\""}, "description": "The user Decky Loader should run plugins as.\n", "loc": ["jovian", "decky-loader", "user"], "readOnly": false, "type": "string"}, "jovian.devices.steamdeck.autoUpdate": {"declarations": [{"name": "modules/steamdeck/firmware.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/firmware.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to automatically update the BIOS and controller firmware.\n", "loc": ["jovian", "devices", "steamdeck", "autoUpdate"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enable": {"declarations": [{"name": "modules/steamdeck/default.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/default.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Steam Deck-specific configurations.\n", "loc": ["jovian", "devices", "steamdeck", "enable"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableControllerUdevRules": {"declarations": [{"name": "modules/steamdeck/controller.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/controller.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Enables udev rules to make the controller controllable by users.\n\nWithout this, neither steam, nor any other userspace client can\nswitch the controller from out of its default \"lizard\" mode.\n", "loc": ["jovian", "devices", "steamdeck", "enableControllerUdevRules"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableDefaultCmdlineConfig": {"declarations": [{"name": "modules/steamdeck/hw-support.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/hw-support.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to enable stock kernel command line flags.\n", "loc": ["jovian", "devices", "steamdeck", "enableDefaultCmdlineConfig"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableDefaultStage1Modules": {"declarations": [{"name": "modules/steamdeck/hw-support.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/hw-support.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to enable essential kernel modules in initrd.\n", "loc": ["jovian", "devices", "steamdeck", "enableDefaultStage1Modules"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableDefaultSysctlConfig": {"declarations": [{"name": "modules/steamdeck/hw-support.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/hw-support.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to enable stock sysctl configs.\n", "loc": ["jovian", "devices", "steamdeck", "enableDefaultSysctlConfig"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableEarlyModesetting": {"declarations": [{"name": "modules/steamdeck/graphical.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/graphical.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to enable early kernel modesetting.\n", "loc": ["jovian", "devices", "steamdeck", "enableEarlyModesetting"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableFwupdBiosUpdates": {"declarations": [{"name": "modules/steamdeck/firmware.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/firmware.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to use fwupd to update the BIOS.\n", "loc": ["jovian", "devices", "steamdeck", "enableFwupdBiosUpdates"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableGyroDsuService": {"declarations": [{"name": "modules/steamdeck/sdgyrodsu.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/sdgyrodsu.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Cemuhook DSU service for the gyroscope.\n\nIf enabled, motion data from the gyroscope can be used in Cemu\nwith Cemuhook.\n", "loc": ["jovian", "devices", "steamdeck", "enableGyroDsuService"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableKernelPatches": {"declarations": [{"name": "modules/steamdeck/kernel.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/kernel.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to apply kernel patches if available.\n", "loc": ["jovian", "devices", "steamdeck", "enableKernelPatches"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableMesaPatches": {"declarations": [{"name": "modules/steamdeck/mesa.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/mesa.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to apply the Mesa patches if available.\n\nCurrently, they allow the swapchain interval to be changed by\nthe framerate limiter in gamescope.\n", "loc": ["jovian", "devices", "steamdeck", "enableMesaPatches"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableOsFanControl": {"declarations": [{"name": "modules/steamdeck/fan-control.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/fan-control.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to enable the OS-controlled fan curve.\n\nThis is enabled by default since SteamOS 3.2.\n", "loc": ["jovian", "devices", "steamdeck", "enableOsFanControl"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enablePerfControlUdevRules": {"declarations": [{"name": "modules/steamdeck/perf-control.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/perf-control.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to make performance-related device attributes controllable by users.\n\nThe Steam Deck Client directly modifies several device attributes to\ncontrol the display brightness and to enable performance tuning (TDP\nlimit, GPU clock control).\n", "loc": ["jovian", "devices", "steamdeck", "enablePerfControlUdevRules"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableProductSerialAccess": {"declarations": [{"name": "modules/steamdeck/hw-support.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/hw-support.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "> Loosen the product_serial node to `440 / root:wheel`, rather than `400 / root:root`\n> to allow the physical users to read S/N without auth.\n\u2014 holo-dmi-rules 1.0\n", "loc": ["jovian", "devices", "steamdeck", "enableProductSerialAccess"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableSoundSupport": {"declarations": [{"name": "modules/steamdeck/sound.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/sound.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to enable sound support.\n", "loc": ["jovian", "devices", "steamdeck", "enableSoundSupport"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableVendorRadv": {"declarations": [{"name": "modules/steamdeck/mesa.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/mesa.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to enable the vendor branch of Mesa RADV.\n", "loc": ["jovian", "devices", "steamdeck", "enableVendorRadv"], "readOnly": false, "type": "boolean"}, "jovian.devices.steamdeck.enableXorgRotation": {"declarations": [{"name": "modules/steamdeck/graphical.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steamdeck/graphical.nix"}], "default": {"_type": "literalExpression", "text": "config.jovian.devices.steamdeck.enable"}, "description": "Whether to rotate the display panel in X11.\n", "loc": ["jovian", "devices", "steamdeck", "enableXorgRotation"], "readOnly": false, "type": "boolean"}, "jovian.steam.autoStart": {"declarations": [{"name": "modules/steam/autostart.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steam/autostart.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to automatically launch the Steam Deck UI on boot.\n\nTraditional Display Managers cannot be enabled in conjunction with this option.\n", "loc": ["jovian", "steam", "autoStart"], "readOnly": false, "type": "boolean"}, "jovian.steam.desktopSession": {"declarations": [{"name": "modules/steam/autostart.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steam/autostart.nix"}], "default": {"_type": "literalExpression", "text": "null"}, "description": "The session to launch for Desktop Mode.\n\nBy default, attempting to switch to the desktop will launch\nGaming Mode again.\n", "example": {"_type": "literalExpression", "text": "\"plasma\""}, "loc": ["jovian", "steam", "desktopSession"], "readOnly": false, "type": "null or string"}, "jovian.steam.enable": {"declarations": [{"name": "modules/steam/default.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steam/default.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Steam Deck UI.\n\nWhen enabled, you can either use the `autoStart` option (preferred),\nlaunch the Steam Deck UI from your Display Manager or\nby running `start-gamescope-session`.\n", "loc": ["jovian", "steam", "enable"], "readOnly": false, "type": "boolean"}, "jovian.steam.user": {"declarations": [{"name": "modules/steam/autostart.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/steam/autostart.nix"}], "description": "The user to run Steam with.\n", "loc": ["jovian", "steam", "user"], "readOnly": false, "type": "string"}, "jovian.workarounds.ignoreMissingKernelModules": {"declarations": [{"name": "modules/workarounds.nix", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/modules/workarounds.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to ignore missing kernel modules.\n", "loc": ["jovian", "workarounds", "ignoreMissingKernelModules"], "readOnly": false, "type": "boolean"}}
\ No newline at end of file
diff --git a/overlay.json b/overlay.json
new file mode 100644
index 0000000..9e6a4f4
--- /dev/null
+++ b/overlay.json
@@ -0,0 +1 @@
+{"decky-loader":{"description":"A plugin loader for the Steam Deck","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"GNU General Public License v2.0 only","redistributable":true,"shortName":"gpl2Only","spdxId":"GPL-2.0-only","url":"https://spdx.org/licenses/GPL-2.0-only.html"},"outputName":"out","outputs":["out"],"pname":"decky-loader","position":"pkgs/decky-loader/default.nix:143","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/decky-loader/default.nix#L143","version":"2.10.5"},"gamescope":{"description":"SteamOS session compositing window manager","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"BSD 2-clause \"Simplified\" License","redistributable":true,"shortName":"bsd2","spdxId":"BSD-2-Clause","url":"https://spdx.org/licenses/BSD-2-Clause.html"},"outputName":"out","outputs":["out","lib"],"pname":"gamescope","position":"","url":null,"version":"3.12.5"},"gamescope-session":{"entry_type":"package","outputName":"out","outputs":["out"],"pname":"gamescope-session","position":"pkgs/gamescope-session/default.nix:95","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/gamescope-session/default.nix#L95","version":"3.12.6-1"},"jovian-documentation":{"entry_type":"package","outputName":"out","outputs":["out"],"pname":"Jovian-NixOS-documentation","position":"support/docs/default.nix:44","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/support/docs/default.nix#L44","version":""},"jovian-greeter":{"entry_type":"package","outputName":"out","outputs":["out","helper"],"pname":"jovian-greeter","position":"pkgs/jovian-greeter/default.nix:4","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/jovian-greeter/default.nix#L4","version":""},"jovian-hardware-survey":{"entry_type":"package","outputName":"out","outputs":["out"],"pname":"jovian-hardware-survey","position":null,"url":null,"version":""},"jovian-steam-protocol-handler":{"entry_type":"package","outputName":"out","outputs":["out"],"pname":"jovian-steam-protocol-handler","position":"","url":null,"version":""},"jovian-stubs":{"entry_type":"package","outputName":"out","outputs":["out"],"pname":"jovian-stubs","position":"pkgs/jovian-stubs/default.nix:3","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/jovian-stubs/default.nix#L3","version":""},"jupiter-dock-updater-bin":{"entry_type":"package","outputName":"out","outputs":["out"],"pname":"jupiter-dock-updater-bin","position":"pkgs/jupiter-dock-updater-bin/default.nix:11","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/jupiter-dock-updater-bin/default.nix#L11","version":"20230714.01"},"jupiter-fan-control":{"description":"Steam Deck (Jupiter) userspace fan controller","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"GNU General Public License v3.0 or later","redistributable":true,"shortName":"gpl3Plus","spdxId":"GPL-3.0-or-later","url":"https://spdx.org/licenses/GPL-3.0-or-later.html"},"outputName":"out","outputs":["out"],"pname":"jupiter-fan-control","position":"pkgs/jupiter-fan-control/default.nix:36","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/jupiter-fan-control/default.nix#L36","version":"20230209.1"},"jupiter-hw-support":{"description":"Steam Deck (Jupiter) hardware support package\n\nThis package only contains the utility scripts as well as UCM files.\nFor the themes as well as unfree firmware, see the `steamdeck-theme`\nand `steamdeck-firmware` packages.\n","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"MIT License","redistributable":true,"shortName":"mit","spdxId":"MIT","url":"https://spdx.org/licenses/MIT.html"},"outputName":"out","outputs":["out"],"pname":"jupiter-hw-support","position":"pkgs/jupiter-hw-support/default.nix:98","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/jupiter-hw-support/default.nix#L98","version":"20231025.2"},"linux-firmware-jupiter":{"description":"Binary firmware collection packaged by kernel.org","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"Unfree redistributable firmware","redistributable":true,"shortName":"unfreeRedistributableFirmware"},"outputName":"out","outputs":["out"],"pname":"linux-firmware","position":"","url":null,"version":"20230919"},"linuxPackages_jovian":{"entry_type":"skip","reason":"(Entry is not a derivation...)"},"linux_jovian":{"description":"The Linux kernel (with patches: bridge-stp-helper, request-key-helper, export-rt-sched-migrate)","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"GNU General Public License v2.0 only","redistributable":true,"shortName":"gpl2Only","spdxId":"GPL-2.0-only","url":"https://spdx.org/licenses/GPL-2.0-only.html"},"outputName":"out","outputs":["out","dev"],"pname":"linux","position":"pkgs/linux-jovian/default.nix:10","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/linux-jovian/default.nix#L10","version":"6.1.52-valve2"},"mangohud":{"description":"A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"MIT License","redistributable":true,"shortName":"mit","spdxId":"MIT","url":"https://spdx.org/licenses/MIT.html"},"outputName":"out","outputs":["out","doc","man"],"pname":"mangohud","position":"pkgs/mangohud/upstream/default.nix:242","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/mangohud/upstream/default.nix#L242","version":"0.7.0.r54"},"mesa-radv-jupiter":{"description":"An open source 3D graphics library (RADV only)","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"MIT License","redistributable":true,"shortName":"mit","spdxId":"MIT","url":"https://spdx.org/licenses/MIT.html"},"longDescription":"The Mesa project began as an open-source implementation of the OpenGL\nspecification - a system for rendering interactive 3D graphics. Over the\nyears the project has grown to implement more graphics APIs, including\nOpenGL ES (versions 1, 2, 3), OpenCL, OpenMAX, VDPAU, VA API, XvMC, and\nVulkan. A variety of device drivers allows the Mesa libraries to be used\nin many different environments ranging from software emulation to\ncomplete hardware acceleration for modern GPUs.\n","outputName":"out","outputs":["out","dev","drivers","driversdev","debug"],"pname":"mesa-radv-jupiter","position":"pkgs/mesa-radv-jupiter/default.nix:387","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/mesa-radv-jupiter/default.nix#L387","version":"23.3.0.steamos-23.9.1"},"opensd":{"description":"Userspace driver for Steam Deck input","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"GNU General Public License v3.0 or later","redistributable":true,"shortName":"gpl3Plus","spdxId":"GPL-3.0-or-later","url":"https://spdx.org/licenses/GPL-3.0-or-later.html"},"outputName":"out","outputs":["out"],"pname":"opensd","position":"pkgs/opensd/default.nix:26","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/opensd/default.nix#L26","version":"unstable-2022-12-19"},"powerbuttond":{"description":"Steam Deck power button daemon","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"BSD 2-clause \"Simplified\" License","redistributable":true,"shortName":"bsd2","spdxId":"BSD-2-Clause","url":"https://spdx.org/licenses/BSD-2-Clause.html"},"outputName":"out","outputs":["out"],"pname":"powerbuttond","position":"pkgs/powerbuttond/default.nix:40","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/powerbuttond/default.nix#L40","version":"2.0"},"sdgyrodsu":{"description":"Cemuhook DSU server for the Steam Deck Gyroscope","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"MIT License","redistributable":true,"shortName":"mit","spdxId":"MIT","url":"https://spdx.org/licenses/MIT.html"},"outputName":"out","outputs":["out"],"pname":"sdgyrodsu","position":"pkgs/sdgyrodsu/default.nix:28","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/sdgyrodsu/default.nix#L28","version":"unstable-2022-08-22"},"steamPackages":{"entry_type":"skip","reason":"(Entry is not a derivation...)"},"steam_notif_daemon":{"description":"Steam notification daemon","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"MIT License","redistributable":true,"shortName":"mit","spdxId":"MIT","url":"https://spdx.org/licenses/MIT.html"},"outputName":"out","outputs":["out"],"pname":"steam_notif_daemon","position":"pkgs/steam_notif_daemon/default.nix:37","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/steam_notif_daemon/default.nix#L37","version":"1.0.1"},"steamdeck-bios-fwupd":{"description":"Steam Deck BIOS for fwupd","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"Unfree redistributable firmware","redistributable":true,"shortName":"unfreeRedistributableFirmware"},"outputName":"out","outputs":["out"],"pname":"steamdeck-bios-fwupd","position":"pkgs/jupiter-hw-support/bios-fwupd.nix:39","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/jupiter-hw-support/bios-fwupd.nix#L39","version":"20231025.2"},"steamdeck-firmware":{"description":"Steam Deck BIOS and controller firmware","entry_type":"package","license":{"deprecated":false,"free":true,"fullName":"Unfree redistributable firmware","redistributable":true,"shortName":"unfreeRedistributableFirmware"},"outputName":"out","outputs":["out"],"pname":"steamdeck-firmware","position":"pkgs/jupiter-hw-support/firmware.nix:129","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/jupiter-hw-support/firmware.nix#L129","version":"20231025.2"},"steamdeck-hw-theme":{"description":"Steam Deck themes (base)","entry_type":"package","license":{"deprecated":false,"free":false,"fullName":"Unfree redistributable","redistributable":true,"shortName":"unfreeRedistributable"},"outputName":"out","outputs":["out"],"pname":"steamdeck-hw-theme","position":"pkgs/jupiter-hw-support/theme.nix:39","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/jupiter-hw-support/theme.nix#L39","version":"20231025.2"},"steamos-polkit-helpers":{"entry_type":"package","outputName":"out","outputs":["out"],"pname":"steamos-polkit-helpers","position":"pkgs/jupiter-hw-support/polkit-helpers.nix:74","url":"https://github.com/Jovian-Experiments/Jovian-NixOS/blob/development/pkgs/jupiter-hw-support/polkit-helpers.nix#L74","version":"20231025.2"}}
\ No newline at end of file
diff --git a/packages.html b/packages.html
new file mode 100644
index 0000000..6cea89c
--- /dev/null
+++ b/packages.html
@@ -0,0 +1,668 @@
+
+
+
+
+ Packages | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Packages
+
Jovian-NixOS adds a set of extra packages that can be used in your NixOS configurations.
+
+
+
+The options listing is available on the website only.
+
+
+
+
+
+
+
Attribute name:
+decky-loader
+
+
+
Package name:
+decky-loader
+
+
+
Version:
+2.10.5
+
+
+
Description:
+
A plugin loader for the Steam Deck
+
+
+
License:
+
GNU General Public License v2.0 only
+
+
+
+
+
+
+
+
+
Attribute name:
+gamescope
+
+
+
Package name:
+gamescope
+
+
+
Version:
+3.12.5
+
+
+
Description:
+
SteamOS session compositing window manager
+
+
+
License:
+
BSD 2-clause "Simplified" License
+
+
+
+
+
+
+
+
Attribute name:
+gamescope-session
+
+
+
Package name:
+gamescope-session
+
+
+
Version:
+3.12.6-1
+
+
+
+
+
+
+
+
+
Attribute name:
+jovian-documentation
+
+
+
Package name:
+Jovian-NixOS-documentation
+
+
+
Version:
+
+
+
+
+
+
+
+
+
+
Attribute name:
+jovian-greeter
+
+
+
Package name:
+jovian-greeter
+
+
+
Version:
+
+
+
+
+
+
+
+
+
+
Attribute name:
+jovian-hardware-survey
+
+
+
Package name:
+jovian-hardware-survey
+
+
+
Version:
+
+
+
+
+
+
+
+
+
Attribute name:
+jovian-steam-protocol-handler
+
+
+
Package name:
+jovian-steam-protocol-handler
+
+
+
Version:
+
+
+
+
+
+
+
+
+
Attribute name:
+jovian-stubs
+
+
+
Package name:
+jovian-stubs
+
+
+
Version:
+
+
+
+
+
+
+
+
+
+
Attribute name:
+jupiter-dock-updater-bin
+
+
+
Package name:
+jupiter-dock-updater-bin
+
+
+
Version:
+20230714.01
+
+
+
+
+
+
+
+
+
Attribute name:
+jupiter-fan-control
+
+
+
Package name:
+jupiter-fan-control
+
+
+
Version:
+20230209.1
+
+
+
Description:
+
Steam Deck (Jupiter) userspace fan controller
+
+
+
License:
+
GNU General Public License v3.0 or later
+
+
+
+
+
+
+
+
+
Attribute name:
+jupiter-hw-support
+
+
+
Package name:
+jupiter-hw-support
+
+
+
Version:
+20231025.2
+
+
+
Description:
+
Steam Deck (Jupiter) hardware support package
+This package only contains the utility scripts as well as UCM files.
+For the themes as well as unfree firmware, see the `steamdeck-theme`
+and `steamdeck-firmware` packages.
+
+
+
+
+
+
+
+
+
+
+
Attribute name:
+linux-firmware-jupiter
+
+
+
Package name:
+linux-firmware
+
+
+
Version:
+20230919
+
+
+
Description:
+
Binary firmware collection packaged by kernel.org
+
+
+
License:
+
Unfree redistributable firmware
+
+
+
+
+
+
+
+
Attribute name:
+linux_jovian
+
+
+
Package name:
+linux
+
+
+
Version:
+6.1.52-valve2
+
+
+
Description:
+
The Linux kernel (with patches: bridge-stp-helper, request-key-helper, export-rt-sched-migrate)
+
+
+
License:
+
GNU General Public License v2.0 only
+
+
+
+
+
+
+
+
+
Attribute name:
+mangohud
+
+
+
Package name:
+mangohud
+
+
+
Version:
+0.7.0.r54
+
+
+
Description:
+
A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
+
+
+
+
+
+
+
+
+
+
Attribute name:
+mesa-radv-jupiter
+
+
+
Package name:
+mesa-radv-jupiter
+
+
+
Version:
+23.3.0.steamos-23.9.1
+
+
+
Description:
+
An open source 3D graphics library (RADV only)
+
+
+
Long description:
+
The Mesa project began as an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics. Over the years the project has grown to implement more graphics APIs, including OpenGL ES (versions 1, 2, 3), OpenCL, OpenMAX, VDPAU, VA API, XvMC, and Vulkan. A variety of device drivers allows the Mesa libraries to be used in many different environments ranging from software emulation to complete hardware acceleration for modern GPUs.
+
+
+
+
+
+
+
+
+
+
+
Attribute name:
+opensd
+
+
+
Package name:
+opensd
+
+
+
Version:
+unstable-2022-12-19
+
+
+
Description:
+
Userspace driver for Steam Deck input
+
+
+
License:
+
GNU General Public License v3.0 or later
+
+
+
+
+
+
+
+
+
+
Attribute name:
+sdgyrodsu
+
+
+
Package name:
+sdgyrodsu
+
+
+
Version:
+unstable-2022-08-22
+
+
+
Description:
+
Cemuhook DSU server for the Steam Deck Gyroscope
+
+
+
+
+
+
+
+
+
+
Attribute name:
+steam_notif_daemon
+
+
+
Package name:
+steam_notif_daemon
+
+
+
Version:
+1.0.1
+
+
+
Description:
+
Steam notification daemon
+
+
+
+
+
+
+
+
+
+
Attribute name:
+steamdeck-bios-fwupd
+
+
+
Package name:
+steamdeck-bios-fwupd
+
+
+
Version:
+20231025.2
+
+
+
Description:
+
Steam Deck BIOS for fwupd
+
+
+
License:
+
Unfree redistributable firmware
+
+
+
+
+
+
+
+
+
Attribute name:
+steamdeck-firmware
+
+
+
Package name:
+steamdeck-firmware
+
+
+
Version:
+20231025.2
+
+
+
Description:
+
Steam Deck BIOS and controller firmware
+
+
+
License:
+
Unfree redistributable firmware
+
+
+
+
+
+
+
+
+
Attribute name:
+steamdeck-hw-theme
+
+
+
Package name:
+steamdeck-hw-theme
+
+
+
Version:
+20231025.2
+
+
+
Description:
+
Steam Deck themes (base)
+
+
+
License:
+
Unfree redistributable
+
+
+
+
+
+
+
+
+
Attribute name:
+steamos-polkit-helpers
+
+
+
Package name:
+steamos-polkit-helpers
+
+
+
Version:
+20231025.2
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/search.html b/search.html
new file mode 100644
index 0000000..2881538
--- /dev/null
+++ b/search.html
@@ -0,0 +1,89 @@
+
+
+
+
+ Search | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Search
+
+
+
+This search engine requires use of JavaScript.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sitemap.html b/sitemap.html
new file mode 100644
index 0000000..6122e39
--- /dev/null
+++ b/sitemap.html
@@ -0,0 +1,120 @@
+
+
+
+
+ Site Map | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/steam.html b/steam.html
new file mode 100644
index 0000000..04dbc36
--- /dev/null
+++ b/steam.html
@@ -0,0 +1,221 @@
+
+
+
+
+ Steam | Jovian-NixOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Steam
+
You can enable the Steam Deck version of the Steam client with:
+
{
+ jovian . steam . enable = true ;
+}
+
+
To manually start Gaming Mode (also known as the Steam Deck UI ), there are two options:
+
+Select "Gaming Mode" in the Display Manager or run start-gamescope-session
in a VT.
+Launch gamescope-session
within an existing desktop session. This will run gamescope in nested mode which results in higher latency.
+
+
Start On Boot
+
To automatically launch Gaming Mode on boot and enable desktop switching from the power menu:
+
{
+ services . xserver . desktopManager . plasma5 . enable = true ;
+
+ jovian . steam = {
+ enable = true ;
+ autoStart = true ;
+ user = "yourname" ;
+ desktopSession = "plasma" ;
+ };
+}
+
+
Troubleshooting
+
Logs from Gaming Mode can be obtained with:
+
journalctl --user -u gamescope-session
+
+
Options
+
+
+
+The options listing is available on the website.
+
+
+
+
+
+
+
Name:
+jovian.steam.autoStart
+
+
+
Default:
+false
+
+
+
+
Description:
+
+
Whether to automatically launch the Steam Deck UI on boot.
+
Traditional Display Managers cannot be enabled in conjunction with this option.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.steam.desktopSession
+
+
+
Default:
+null
+
+
+
Type:
+
+null or string
+
+
+
+
Description:
+
+
The session to launch for Desktop Mode.
+
By default, attempting to switch to the desktop will launch
+Gaming Mode again.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.steam.enable
+
+
+
Default:
+false
+
+
+
+
Description:
+
+
Whether to enable the Steam Deck UI.
+
When enabled, you can either use the autoStart
option (preferred),
+launch the Steam Deck UI from your Display Manager or
+by running start-gamescope-session
.
+
+
+
+
+
+
+
+
+
+
Name:
+jovian.steam.user
+
+
+
Default:
+(unset)
+
+
+
+
Description:
+
+
The user to run Steam with.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/styles/fonts/FiraMono-Bold.ttf b/styles/fonts/FiraMono-Bold.ttf
new file mode 100644
index 0000000..db6f63f
Binary files /dev/null and b/styles/fonts/FiraMono-Bold.ttf differ
diff --git a/styles/fonts/FiraMono-Medium.ttf b/styles/fonts/FiraMono-Medium.ttf
new file mode 100644
index 0000000..892c124
Binary files /dev/null and b/styles/fonts/FiraMono-Medium.ttf differ
diff --git a/styles/fonts/FiraMono-Regular.ttf b/styles/fonts/FiraMono-Regular.ttf
new file mode 100644
index 0000000..3910f17
Binary files /dev/null and b/styles/fonts/FiraMono-Regular.ttf differ
diff --git a/styles/fonts/Roboto-Black.ttf b/styles/fonts/Roboto-Black.ttf
new file mode 100644
index 0000000..2d45238
Binary files /dev/null and b/styles/fonts/Roboto-Black.ttf differ
diff --git a/styles/fonts/Roboto-BlackItalic.ttf b/styles/fonts/Roboto-BlackItalic.ttf
new file mode 100644
index 0000000..29a4359
Binary files /dev/null and b/styles/fonts/Roboto-BlackItalic.ttf differ
diff --git a/styles/fonts/Roboto-Bold.ttf b/styles/fonts/Roboto-Bold.ttf
new file mode 100644
index 0000000..d998cf5
Binary files /dev/null and b/styles/fonts/Roboto-Bold.ttf differ
diff --git a/styles/fonts/Roboto-BoldItalic.ttf b/styles/fonts/Roboto-BoldItalic.ttf
new file mode 100644
index 0000000..b4e2210
Binary files /dev/null and b/styles/fonts/Roboto-BoldItalic.ttf differ
diff --git a/styles/fonts/Roboto-Italic.ttf b/styles/fonts/Roboto-Italic.ttf
new file mode 100644
index 0000000..5b390ff
Binary files /dev/null and b/styles/fonts/Roboto-Italic.ttf differ
diff --git a/styles/fonts/Roboto-Light.ttf b/styles/fonts/Roboto-Light.ttf
new file mode 100644
index 0000000..3526798
Binary files /dev/null and b/styles/fonts/Roboto-Light.ttf differ
diff --git a/styles/fonts/Roboto-LightItalic.ttf b/styles/fonts/Roboto-LightItalic.ttf
new file mode 100644
index 0000000..46e9bf7
Binary files /dev/null and b/styles/fonts/Roboto-LightItalic.ttf differ
diff --git a/styles/fonts/Roboto-Medium.ttf b/styles/fonts/Roboto-Medium.ttf
new file mode 100644
index 0000000..f714a51
Binary files /dev/null and b/styles/fonts/Roboto-Medium.ttf differ
diff --git a/styles/fonts/Roboto-MediumItalic.ttf b/styles/fonts/Roboto-MediumItalic.ttf
new file mode 100644
index 0000000..5dc6a2d
Binary files /dev/null and b/styles/fonts/Roboto-MediumItalic.ttf differ
diff --git a/styles/fonts/Roboto-Regular.ttf b/styles/fonts/Roboto-Regular.ttf
new file mode 100644
index 0000000..2b6392f
Binary files /dev/null and b/styles/fonts/Roboto-Regular.ttf differ
diff --git a/styles/fonts/Roboto-Thin.ttf b/styles/fonts/Roboto-Thin.ttf
new file mode 100644
index 0000000..4e797cf
Binary files /dev/null and b/styles/fonts/Roboto-Thin.ttf differ
diff --git a/styles/fonts/Roboto-ThinItalic.ttf b/styles/fonts/Roboto-ThinItalic.ttf
new file mode 100644
index 0000000..eea836f
Binary files /dev/null and b/styles/fonts/Roboto-ThinItalic.ttf differ
diff --git a/styles/index.css b/styles/index.css
new file mode 100644
index 0000000..279854c
--- /dev/null
+++ b/styles/index.css
@@ -0,0 +1 @@
+.__svg_search,#svg.search,body>header nav>ul .-search:before{background-image:url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212%22%20height%3D%2213%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m11.29%2011.71-4-4%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%225%22%20r%3D%224%22/%3E%3C/g%3E%3C/svg%3E')}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}body.-debug::after{z-index:10000;content:"??";position:fixed;top:0;left:0;display:block;background:#000;color:#fff;padding:0 .2em}@media screen and (max-width:479.9px){body.-debug::after{content:"xxs"}}@media screen and (min-width:480px) and (max-width:767.9px){body.-debug::after{content:"xs"}}@media screen and (min-width:768px) and (max-width:991.9px){body.-debug::after{content:"sm"}}@media screen and (min-width:992px) and (max-width:1199.9px){body.-debug::after{content:"md"}}@media screen and (min-width:1200px){body.-debug::after{content:"lg"}}@font-face{font-family:'Roboto';font-style:italic;font-weight:100;src:url('./fonts/Roboto-ThinItalic.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;src:url('./fonts/Roboto-LightItalic.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:url('./fonts/Roboto-Italic.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:url('./fonts/Roboto-MediumItalic.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:italic;font-weight:700;src:url('./fonts/Roboto-BoldItalic.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:italic;font-weight:900;src:url('./fonts/Roboto-BlackItalic.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:normal;font-weight:100;src:url('./fonts/Roboto-Thin.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:url('./fonts/Roboto-Light.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:url('./fonts/Roboto-Regular.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:url('./fonts/Roboto-Medium.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;src:url('./fonts/Roboto-Bold.ttf') format('truetype')}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;src:url('./fonts/Roboto-Black.ttf') format('truetype')}@font-face{font-family:'Fira Mono';font-style:normal;font-weight:400;src:url('./fonts/FiraMono-Regular.ttf') format('truetype')}@font-face{font-family:'Fira Mono';font-style:normal;font-weight:500;src:url('./fonts/FiraMono-Medium.ttf') format('truetype')}@font-face{font-family:'Fira Mono';font-style:normal;font-weight:700;src:url('./fonts/FiraMono-Bold.ttf') format('truetype')}img{max-width:100%;height:auto}pre{overflow:auto}body.-debug::before{pointer-events:none;content:"";display:block;z-index:999999;outline:1px dashed yellow;margin:auto;width:100%;position:fixed;top:0;left:0;right:0;bottom:0}@media screen and (min-width:768px){body.-debug::before{max-width:46rem}}@media screen and (min-width:992px){body.-debug::before{max-width:60rem}}@media screen and (min-width:1200px){body.-debug::before{max-width:73rem}}*,*::before,*::after{box-sizing:border-box}html{font-size:100%;line-height:1.77777778}body{font-size:1rem;font-family:"Roboto",sans-serif;font-weight:400;color:#000000;background-color:#ffffff;min-height:100vh;display:flex;flex-direction:column}@media screen and (max-width:767.9px){body{padding-left:1rem;padding-right:1rem}}body>main{flex-grow:1}a{text-decoration:none;border-bottom:1px solid;color:#0A3BCD}ul{padding:0;margin-top:0;margin-right:0;margin-bottom:1rem;margin-left:1rem}table{border-collapse:collapse;width:100%;margin-bottom:1rem}thead th{text-align:left}hr{margin-top:1rem;margin-bottom:1rem;border-color:#aaaaaa}h1{font-weight:700;font-family:"Roboto",sans-serif;line-height:110%;font-size:250%;margin-bottom:1rem;color:#6a6a6a}h1:not(:first-child){margin-top:1rem}@media screen and (min-width:768px){h1>span{white-space:nowrap}}h2{font-weight:700;font-family:"Roboto",sans-serif;line-height:110%;margin-bottom:1rem;font-size:200%;margin-bottom:.625rem;color:#6a6a6a}h2:not(:first-child){margin-top:1rem}@media screen and (min-width:768px){h2>span{white-space:nowrap}}h3{font-weight:700;font-family:"Roboto",sans-serif;line-height:110%;margin-bottom:1rem;font-size:150%;color:#6a6a6a}h3:not(:first-child){margin-top:1rem}@media screen and (min-width:768px){h3>span{white-space:nowrap}}h4{font-weight:700;font-family:"Roboto",sans-serif;line-height:110%;margin-bottom:1rem;font-size:140%;color:#6a6a6a}h4:not(:first-child){margin-top:1rem}@media screen and (min-width:768px){h4>span{white-space:nowrap}}h5{font-weight:700;font-family:"Roboto",sans-serif;line-height:110%;margin-bottom:1rem;font-size:130%;color:#6a6a6a}h5:not(:first-child){margin-top:1rem}@media screen and (min-width:768px){h5>span{white-space:nowrap}}h6{font-weight:700;font-family:"Roboto",sans-serif;line-height:110%;margin-bottom:1rem}h6:not(:first-child){margin-top:1rem}@media screen and (min-width:768px){h6>span{white-space:nowrap}}b,strong{font-weight:bold}section{margin-top:1.5em}p{margin-top:0;margin-bottom:1rem}tt{font-size:.875rem;overflow-wrap:break-word}dt>*:first-child,dd>*:first-child{margin-top:0}dt>*:last-child,dd>*:last-child{margin-bottom:0}pre,code{font-family:"Fira Mono",monospace}code,pre{background:#f4f4f4;display:inline-block;padding:0 .5rem;border:1px solid #d8d8d8;border-radius:.5rem;line-height:1.57777778}pre code{background:initial;display:initial;padding:initial;border:0;border-radius:0;line-height:initial}pre{display:block;padding-top:.5rem;padding-bottom:.5rem}img.inline{float:right;margin-left:1rem;margin-bottom:1rem}.generic-layout{margin:auto;width:100%}@media screen and (min-width:768px){.generic-layout{max-width:46rem}}@media screen and (min-width:992px){.generic-layout{max-width:60rem}}@media screen and (min-width:1200px){.generic-layout{max-width:73rem}}.generic-layout.lead,.generic-layout>.lead{font-size:1.25em;font-weight:bold;color:#6a6a6a}.terminal-console,.file-listing{border-radius:1.25rem;padding:1rem;overflow:auto}.terminal-console{color:#ffffff;background-color:#3a3a3a}.terminal-console .shell-prompt{font-weight:bold}.file-listing{background:#f4f4f4;color:#000000;box-shadow:0 0 1rem 0 rgba(0,0,0,0.1) inset}.columnar-layout.-longform.-two{display:flex;flex-wrap:wrap;position:relative;margin-left:1rem;left:-1rem;justify-content:flex-start;margin:0;list-style-type:none;margin-right:-1rem}body.-debug .columnar-layout.-longform.-two>*{outline:1px solid green}.columnar-layout.-longform.-two>*{margin-right:1rem;position:relative;left:1rem}body.-debug .columnar-layout.-longform.-two>*{outline:1px solid pink}.columnar-layout.-longform.-two>*{flex-grow:0;width:calc(100%/1 - 1rem)}@media screen and (min-width:480px){.columnar-layout.-longform.-two>*{width:calc(100%/1 - 1rem)}}@media screen and (min-width:768px){.columnar-layout.-longform.-two>*{width:calc(100%/1 - 1rem)}}@media screen and (min-width:992px){.columnar-layout.-longform.-two>*{width:calc(100%/2 - 1rem)}}@media screen and (min-width:1200px){.columnar-layout.-longform.-two>*{width:calc(100%/2 - 1rem)}}@media screen and (min-width:992px){.columnar-layout.-longform.-two>.-twice{width:100%}}.columnar-layout.-longform.-three{display:flex;flex-wrap:wrap;position:relative;margin-left:1rem;left:-1rem;justify-content:flex-start;margin:0;list-style-type:none;margin-right:-1rem}body.-debug .columnar-layout.-longform.-three>*{outline:1px solid green}.columnar-layout.-longform.-three>*{margin-right:1rem;position:relative;left:1rem}body.-debug .columnar-layout.-longform.-three>*{outline:1px solid pink}.columnar-layout.-longform.-three>*{flex-grow:0;width:calc(100%/1 - 1rem)}@media screen and (min-width:480px){.columnar-layout.-longform.-three>*{width:calc(100%/1 - 1rem)}}@media screen and (min-width:768px){.columnar-layout.-longform.-three>*{width:calc(100%/1 - 1rem)}}@media screen and (min-width:992px){.columnar-layout.-longform.-three>*{width:calc(100%/3 - 1rem)}}@media screen and (min-width:1200px){.columnar-layout.-longform.-three>*{width:calc(100%/3 - 1rem)}}@media screen and (min-width:992px){.columnar-layout.-longform.-three>.-twice{width:66.66666667%}}.columnar-layout.-longform.-four{display:flex;flex-wrap:wrap;position:relative;margin-left:1rem;left:-1rem;justify-content:flex-start;margin:0;list-style-type:none;margin-right:-1rem}body.-debug .columnar-layout.-longform.-four>*{outline:1px solid green}.columnar-layout.-longform.-four>*{margin-right:1rem;position:relative;left:1rem}body.-debug .columnar-layout.-longform.-four>*{outline:1px solid pink}.columnar-layout.-longform.-four>*{flex-grow:0;width:calc(100%/1 - 1rem)}@media screen and (min-width:480px){.columnar-layout.-longform.-four>*{width:calc(100%/1 - 1rem)}}@media screen and (min-width:768px){.columnar-layout.-longform.-four>*{width:calc(100%/1 - 1rem)}}@media screen and (min-width:992px){.columnar-layout.-longform.-four>*{width:calc(100%/4 - 1rem)}}@media screen and (min-width:1200px){.columnar-layout.-longform.-four>*{width:calc(100%/4 - 1rem)}}@media screen and (min-width:992px){.columnar-layout.-longform.-four>.-twice{width:50%}}.columnar-layout:not(.-longform).-two{display:flex;flex-wrap:wrap;position:relative;margin-left:1rem;left:-1rem;justify-content:flex-start;margin:0;list-style-type:none;margin-right:-1rem}body.-debug .columnar-layout:not(.-longform).-two>*{outline:1px solid green}.columnar-layout:not(.-longform).-two>*{margin-right:1rem;position:relative;left:1rem}body.-debug .columnar-layout:not(.-longform).-two>*{outline:1px solid pink}.columnar-layout:not(.-longform).-two>*{flex-grow:0;width:calc(100%/1 - 1rem)}@media screen and (min-width:480px){.columnar-layout:not(.-longform).-two>*{width:calc(100%/1 - 1rem)}}@media screen and (min-width:768px){.columnar-layout:not(.-longform).-two>*{width:calc(100%/2 - 1rem)}}@media screen and (min-width:992px){.columnar-layout:not(.-longform).-two>*{width:calc(100%/2 - 1rem)}}@media screen and (min-width:1200px){.columnar-layout:not(.-longform).-two>*{width:calc(100%/2 - 1rem)}}@media screen and (min-width:768px){.columnar-layout:not(.-longform).-two>.-twice{width:100%}}.columnar-layout:not(.-longform).-three{display:flex;flex-wrap:wrap;position:relative;margin-left:1rem;left:-1rem;justify-content:flex-start;margin:0;list-style-type:none;margin-right:-1rem}body.-debug .columnar-layout:not(.-longform).-three>*{outline:1px solid green}.columnar-layout:not(.-longform).-three>*{margin-right:1rem;position:relative;left:1rem}body.-debug .columnar-layout:not(.-longform).-three>*{outline:1px solid pink}.columnar-layout:not(.-longform).-three>*{flex-grow:0;width:calc(100%/1 - 1rem)}@media screen and (min-width:480px){.columnar-layout:not(.-longform).-three>*{width:calc(100%/1 - 1rem)}}@media screen and (min-width:768px){.columnar-layout:not(.-longform).-three>*{width:calc(100%/3 - 1rem)}}@media screen and (min-width:992px){.columnar-layout:not(.-longform).-three>*{width:calc(100%/3 - 1rem)}}@media screen and (min-width:1200px){.columnar-layout:not(.-longform).-three>*{width:calc(100%/3 - 1rem)}}@media screen and (min-width:768px){.columnar-layout:not(.-longform).-three>.-twice{width:66.66666667%}}.columnar-layout:not(.-longform).-four{display:flex;flex-wrap:wrap;position:relative;margin-left:1rem;left:-1rem;justify-content:flex-start;margin:0;list-style-type:none;margin-right:-1rem}body.-debug .columnar-layout:not(.-longform).-four>*{outline:1px solid green}.columnar-layout:not(.-longform).-four>*{margin-right:1rem;position:relative;left:1rem}body.-debug .columnar-layout:not(.-longform).-four>*{outline:1px solid pink}.columnar-layout:not(.-longform).-four>*{flex-grow:0;width:calc(100%/1 - 1rem)}@media screen and (min-width:480px){.columnar-layout:not(.-longform).-four>*{width:calc(100%/1 - 1rem)}}@media screen and (min-width:768px){.columnar-layout:not(.-longform).-four>*{width:calc(100%/4 - 1rem)}}@media screen and (min-width:992px){.columnar-layout:not(.-longform).-four>*{width:calc(100%/4 - 1rem)}}@media screen and (min-width:1200px){.columnar-layout:not(.-longform).-four>*{width:calc(100%/4 - 1rem)}}@media screen and (min-width:768px){.columnar-layout:not(.-longform).-four>.-twice{width:50%}}.well{background:#f4f4f4;color:#000000}.label{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;font-family:"Roboto",sans-serif;font-weight:bold;font-size:.8em;vertical-align:text-bottom;border-radius:.3em;padding:.1em .3em}.label.-info{background-color:#0A3BCD;color:#ffffff}.label.-warn{background-color:#ffab0d;color:#ffffff}.label.-success{background-color:#0ACD54;color:#ffffff}body>footer nav ul,body>header nav ul,body>footer nav li,body>header nav li{margin:0;padding:0;list-style-type:none}body>header{color:#ffffff;background:#000000;background-image:url("assets/jupiter.jpeg");background-size:cover;background-position:center center;box-shadow:inset 0 -100vh rgba(0,0,0,0.3),inset 0 -3rem 1rem -1.5rem rgba(0,0,0,0.45);padding-top:1rem;padding-bottom:1rem}@media screen and (max-width:767.9px){body>header{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}}body>header>*{margin:auto;width:100%}@media screen and (min-width:768px){body>header>*{max-width:46rem}}@media screen and (min-width:992px){body>header>*{max-width:60rem}}@media screen and (min-width:1200px){body>header>*{max-width:73rem}}body>header h1,body>header a{color:inherit;margin:0;text-shadow:#000 .0625rem .0625rem .125rem}body>header h1{margin-bottom:.5rem;white-space:pre;font-size:1.875rem}@media screen and (min-width:768px){body>header h1{margin-bottom:0}}body>header h1>a{position:relative;display:block;text-decoration:none;border:0;text-shadow:rgba(0,0,0,0.5) .0625rem .0625rem .125rem;padding-left:2.83333333rem}body>header h1>a::before{content:"";display:block;position:absolute;top:-0.33333333rem;left:-0.5rem;width:3rem;height:3rem;background-image:url("data:image/png;base64,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");background-size:contain}body>header>*{display:flex;flex-direction:column}@media screen and (min-width:768px){body>header>*{flex-direction:row}}body>header nav{width:100%;display:flex;align-items:end;flex-direction:column}@media screen and (min-width:768px){body>header nav{flex-direction:row}}body>header nav>ul{display:flex;justify-content:flex-end;width:100%;flex-direction:column}@media screen and (min-width:768px){body>header nav>ul{flex-direction:row}}body>header nav>ul li:not(:last-child){margin-right:1rem}body>header nav>ul .-search{position:relative;text-indent:-9999px;overflow:hidden;width:auto;height:auto}body>header nav>ul .-search:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-repeat:no-repeat;background-position:center center;display:inline-block;width:auto;height:auto;background-size:contain}@media screen and (max-width:767.9px){body>header nav>ul .-search:before{width:1.2rem;height:1.2rem;margin-top:.0625rem;left:100%;right:unset;margin-left:.3125rem}}@media screen and (min-width:768px){body>header nav>ul .-search{margin-left:-0.125rem;border-bottom:none;vertical-align:text-top;margin-top:.0625rem;display:inline-block;width:1.2rem;height:1.2rem}}body>footer{color:#000000;background:#f4f4f4;background-image:url("assets/jupiter.jpeg");background-size:cover;background-position:top right;box-shadow:inset 0 .0625rem rgba(0,0,0,0.008),inset 0 -1rem 1rem -1rem rgba(0,0,0,0.6),inset 0 -100vh rgba(244,244,244,0.8);padding-bottom:1rem;padding-top:1rem;margin-top:2rem;text-align:right}@media screen and (max-width:767.9px){body>footer{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}}body>footer>*{margin:auto;width:100%}@media screen and (min-width:768px){body>footer>*{max-width:46rem}}@media screen and (min-width:992px){body>footer>*{max-width:60rem}}@media screen and (min-width:1200px){body>footer>*{max-width:73rem}}body>footer h1,body>footer a{color:inherit;text-shadow:rgba(255,255,255,0.5) .0625rem .0625rem .125rem}body>footer nav ul{width:100%;display:flex;justify-content:flex-end;align-items:end;flex-direction:column}body>footer nav ul li:not(:first-child){margin-left:1rem}@media screen and (min-width:768px){body>footer nav ul{flex-direction:row}}blockquote{margin-left:0;margin-right:0;padding:0;border-left:.5rem solid #d8d8d8;padding-left:.5rem}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .cm{color:#999988;font-style:italic}.highlight .cp{color:#999999;font-weight:bold}.highlight .c1{color:#999988;font-style:italic}.highlight .cs{color:#999999;font-weight:bold;font-style:italic}.highlight .c,.highlight .ch,.highlight .cd,.highlight .cpf{color:#999988;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .gd{color:#000000;background-color:#ffdddd}.highlight .ge{color:#000000;font-style:italic}.highlight .gr{color:#aa0000}.highlight .gh{color:#999999}.highlight .gi{color:#000000;background-color:#ddffdd}.highlight .go{color:#888888}.highlight .gp{color:#555555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaaaaa}.highlight .gt{color:#aa0000}.highlight .kc{color:#000000;font-weight:bold}.highlight .kd{color:#000000;font-weight:bold}.highlight .kn{color:#000000;font-weight:bold}.highlight .kp{color:#000000;font-weight:bold}.highlight .kr{color:#000000;font-weight:bold}.highlight .kt{color:#445588;font-weight:bold}.highlight .k,.highlight .kv{color:#000000;font-weight:bold}.highlight .mf{color:#009999}.highlight .mh{color:#009999}.highlight .il{color:#009999}.highlight .mi{color:#009999}.highlight .mo{color:#009999}.highlight .m,.highlight .mb,.highlight .mx{color:#009999}.highlight .sa{color:#000000;font-weight:bold}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .s,.highlight .dl{color:#d14}.highlight .na{color:#008080}.highlight .bp{color:#999999}.highlight .nb{color:#0086B3}.highlight .nc{color:#445588;font-weight:bold}.highlight .no{color:#008080}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:#800080}.highlight .ne{color:#990000;font-weight:bold}.highlight .nf,.highlight .fm{color:#990000;font-weight:bold}.highlight .nl{color:#990000;font-weight:bold}.highlight .nn{color:#555555}.highlight .nt{color:#000080}.highlight .vc{color:#008080}.highlight .vg{color:#008080}.highlight .vi{color:#008080}.highlight .nv,.highlight .vm{color:#008080}.highlight .ow{color:#000000;font-weight:bold}.highlight .o{color:#000000;font-weight:bold}.highlight .w{color:#bbbbbb}.highlight{background-color:#f8f8f8}.option-details{margin-bottom:1rem;padding-bottom:.5rem;border-left:.5rem solid #e7e7e7}.option-details h2,.option-details h3,.option-details h4,.option-details h5,.option-details h6,.option-details h2 a,.option-details h3 a,.option-details h4 a,.option-details h5 a,.option-details h6 a{font-size:inherit;line-height:inherit;margin:inherit;color:inherit;font-weight:bold;border-bottom:none}.option-details>*{padding-left:1rem;padding-right:1rem}.option-details>:first-child{background:#e7e7e7;margin-bottom:.5rem;padding-left:0}.option-details>:first-child a{display:block;padding-left:1rem}.option-details>:first-child a::before{display:inline-block;content:"#";position:relative;text-align:right;width:1em;padding-right:1ex;margin-left:-1em;opacity:0;color:#aaaaaa}.option-details>:first-child a:hover::before,.option-details>:first-child a:active::before,.option-details>:first-child a:focus::before{opacity:1}.option-details .option-data code{font-size:.9em}.option-details .option-data p{margin-bottom:.33333333rem}.option-details .option-data>:first-child{padding-bottom:.1875rem}.option-details .option-data>*{line-height:1.4}@media screen and (min-width:768px){.option-details .option-data{display:flex;align-items:self-start}.option-details .option-data>:first-child{min-width:7em}}@media screen and (max-width:767.9px){.option-details .option-data>:last-child{padding-left:1rem}}.package-details{margin-bottom:1rem;padding-bottom:.5rem;border-left:.5rem solid #e7e7e7}.package-details h2,.package-details h3,.package-details h4,.package-details h5,.package-details h6,.package-details h2 a,.package-details h3 a,.package-details h4 a,.package-details h5 a,.package-details h6 a{font-size:inherit;line-height:inherit;margin:inherit;color:inherit;font-weight:bold;border-bottom:none}.package-details>*{padding-left:1rem;padding-right:1rem}.package-details>:first-child{background:#e7e7e7;margin-bottom:.5rem;padding-left:0}.package-details>:first-child a{display:block;padding-left:1rem}.package-details>:first-child a::before{display:inline-block;content:"#";position:relative;text-align:right;width:1em;padding-right:1ex;margin-left:-1em;opacity:0;color:#aaaaaa}.package-details>:first-child a:hover::before,.package-details>:first-child a:active::before,.package-details>:first-child a:focus::before{opacity:1}.package-details .package-data code{font-size:.9em}.package-details .package-data p{margin-bottom:.33333333rem}.package-details .package-data>:first-child{padding-bottom:.1875rem}.package-details .package-data>*{line-height:1.4}@media screen and (min-width:768px){.package-details .package-data{display:flex;align-items:self-start}.package-details .package-data>:first-child{min-width:8.5em}}@media screen and (max-width:767.9px){.package-details .package-data>:last-child{padding-left:1rem}}.pagefind-ui__result-thumb{display:none}.pagefind-ui__result-excerpt{margin:0}#search .pagefind-ui__results{list-style-type:none;margin:0;padding:0}#search .pagefind-ui__message{font-style:italic;padding-top:.5rem;color:#6a6a6a}#search mark{background-color:#fffeca}#search form{width:100%;position:relative}#search form input{display:block;width:100%;height:2rem;border-radius:.125rem;border:.0625rem solid #aaaaaa;padding:0 .5rem;padding-top:.125rem}#search form button{position:relative;text-indent:-9999px;overflow:hidden;width:auto;height:auto;background:unset;border:unset;margin:0;padding:0;line-height:2rem;display:block;position:absolute;top:.125rem;right:.125rem;height:1.75rem;width:1.75rem;color:#aaaaaa}#search form button:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-size:contain;background-repeat:no-repeat;background-position:center center;display:inline-block;width:auto;height:auto;display:block;padding:0;text-indent:0;content:"×";width:2rem;height:2rem;padding-right:.25rem;text-align:center}#search form button:focus,#search form button:active{border-radius:.125rem;outline:.125rem solid #4773f6}#search form button:focus,#search form button:active,#search form button:hover{cursor:pointer;color:#000000}#search .pagefind-ui__result-inner{margin-bottom:1rem;padding-bottom:.5rem;border-left:.5rem solid #e7e7e7}#search .pagefind-ui__result-inner h2,#search .pagefind-ui__result-inner h3,#search .pagefind-ui__result-inner h4,#search .pagefind-ui__result-inner h5,#search .pagefind-ui__result-inner h6,#search .pagefind-ui__result-inner h2 a,#search .pagefind-ui__result-inner h3 a,#search .pagefind-ui__result-inner h4 a,#search .pagefind-ui__result-inner h5 a,#search .pagefind-ui__result-inner h6 a{font-size:inherit;line-height:inherit;margin:inherit;color:inherit;font-weight:bold;border-bottom:none}#search .pagefind-ui__result-inner>*{padding-left:1rem;padding-right:1rem}#search .pagefind-ui__result-inner>:first-child{background:#e7e7e7;margin-bottom:.5rem;padding-left:0}#search .pagefind-ui__result-inner>:first-child a{display:block;padding-left:1rem;border:0}#search .pagefind-ui__result-inner>:first-child a::before{display:inline-block;content:"⇒";position:relative;text-align:right;width:1em;padding-right:1ex;margin-left:-1em;opacity:0}#search .pagefind-ui__result-inner>:first-child a:hover::before,#search .pagefind-ui__result-inner>:first-child a:active::before,#search .pagefind-ui__result-inner>:first-child a:focus::before{opacity:1}.responsive-table{overflow-x:auto}.for-github.-unneeded{display:none}.admonition-box{border-left-color:rgba(153,153,153,0.7)}.admonition-box header{color:#999}.admonition-box header{font-weight:bold}.admonition-box.-important{border-left-color:rgba(130,80,223,0.7)}.admonition-box.-important header{color:#8250df}.admonition-box.-note{border-left-color:rgba(9,105,218,0.7)}.admonition-box.-note header{color:#0969da}.admonition-box.-warning{border-left-color:rgba(154,103,0,0.7)}.admonition-box.-warning header{color:#9a6700}.path--index-html .generic-layout>h1{display:none}.homepage-title{display:none}.homepage-hero{background-color:#f4f4f4;padding:1rem;margin-top:1rem}.homepage-hero h2{color:inherit;margin-top:0;margin-bottom:1rem}.homepage-hero :last-child{margin-bottom:0}body>footer,body>header{background-image:url("data:image/jpeg;base64,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")}
\ No newline at end of file