diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..90fb941 --- /dev/null +++ b/404.html @@ -0,0 +1,50 @@ + 404 | pls + + Skip to content

404

Page not found. Check the URL or try using the search bar.
\ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..9de8789 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +pls.cli.rs diff --git a/_astro/Stars.astro_astro_type_script_index_0_lang.DmR5g1zV.js b/_astro/Stars.astro_astro_type_script_index_0_lang.DmR5g1zV.js new file mode 100644 index 0000000..fdc7c97 --- /dev/null +++ b/_astro/Stars.astro_astro_type_script_index_0_lang.DmR5g1zV.js @@ -0,0 +1 @@ +class o extends HTMLElement{constructor(){super();const e=t=>t>=1e3?`${Math.trunc(t/100)/10}k+`:`${Math.trunc(t/10)*10}+`,{owner:s,repo:r}=this.dataset;fetch(`https://api.github.com/repos/${s}/${r}`).then(t=>{if(t.ok)return t.json();throw new Error("Network response was not OK.")}).then(t=>{this.querySelector("#star-count").textContent=e(t.stargazers_count)}).catch(()=>{})}}customElements.define("pls-stars",o); diff --git a/_astro/SymbolsNerdFont.CGhCuC6S.ttf b/_astro/SymbolsNerdFont.CGhCuC6S.ttf new file mode 100644 index 0000000..c9263cc Binary files /dev/null and b/_astro/SymbolsNerdFont.CGhCuC6S.ttf differ diff --git a/_astro/Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js b/_astro/Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js new file mode 100644 index 0000000..646075f --- /dev/null +++ b/_astro/Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js @@ -0,0 +1 @@ +class r extends HTMLElement{static#e=new Map;#t;#n="starlight-synced-tabs__";constructor(){super();const t=this.querySelector('[role="tablist"]');if(this.tabs=[...t.querySelectorAll('[role="tab"]')],this.panels=[...this.querySelectorAll(':scope > [role="tabpanel"]')],this.#t=this.dataset.syncKey,this.#t){const i=r.#e.get(this.#t)??[];i.push(this),r.#e.set(this.#t,i)}this.tabs.forEach((i,c)=>{i.addEventListener("click",e=>{e.preventDefault();const n=t.querySelector('[aria-selected="true"]');e.currentTarget!==n&&this.switchTab(e.currentTarget,c)}),i.addEventListener("keydown",e=>{const n=this.tabs.indexOf(e.currentTarget),s=e.key==="ArrowLeft"?n-1:e.key==="ArrowRight"?n+1:e.key==="Home"?0:e.key==="End"?this.tabs.length-1:null;s!==null&&this.tabs[s]&&(e.preventDefault(),this.switchTab(this.tabs[s],s))})})}switchTab(t,i,c=!0){if(!t)return;const e=c?this.getBoundingClientRect().top:0;this.tabs.forEach(s=>{s.setAttribute("aria-selected","false"),s.setAttribute("tabindex","-1")}),this.panels.forEach(s=>{s.hidden=!0});const n=this.panels[i];n&&(n.hidden=!1),t.removeAttribute("tabindex"),t.setAttribute("aria-selected","true"),c&&(t.focus(),r.#r(this,t),window.scrollTo({top:window.scrollY+(this.getBoundingClientRect().top-e)}))}#i(t){!this.#t||typeof localStorage>"u"||localStorage.setItem(this.#n+this.#t,t)}static#r(t,i){const c=t.#t,e=r.#s(i);if(!c||!e)return;const n=r.#e.get(c);if(n){for(const s of n){if(s===t)continue;const a=s.tabs.findIndex(o=>r.#s(o)===e);a!==-1&&s.switchTab(s.tabs[a],a,!1)}t.#i(e)}}static#s(t){return t.textContent?.trim()}}customElements.define("starlight-tabs",r); diff --git a/_astro/Version.astro_astro_type_script_index_0_lang.DFEsWjTw.js b/_astro/Version.astro_astro_type_script_index_0_lang.DFEsWjTw.js new file mode 100644 index 0000000..bf2d3e2 --- /dev/null +++ b/_astro/Version.astro_astro_type_script_index_0_lang.DFEsWjTw.js @@ -0,0 +1 @@ +class t extends HTMLElement{constructor(){super(),fetch("https://api.github.com/repos/dhruvkb/pls/releases").then(e=>{if(e.ok)return e.json();throw new Error("Failed to fetch latest version.")}).then(e=>{this.querySelector("#version").textContent=e[0].name.replace(/^v/,"")})}}customElements.define("pls-version",t); diff --git a/_astro/ec.8zarh.js b/_astro/ec.8zarh.js new file mode 100644 index 0000000..bf1115d --- /dev/null +++ b/_astro/ec.8zarh.js @@ -0,0 +1,3 @@ +try{(()=>{function a(e){if(!e)return;let t=e.getAttribute("tabindex")!==null,n=e.scrollWidth>e.clientWidth;n&&!t?e.setAttribute("tabindex","0"):!n&&t&&e.removeAttribute("tabindex")}var u=window.requestIdleCallback||(e=>setTimeout(e,1)),i=window.cancelIdleCallback||clearTimeout;function l(e){let t=new Set,n,r;return new ResizeObserver(c=>{c.forEach(o=>t.add(o.target)),n&&clearTimeout(n),r&&i(r),n=setTimeout(()=>{r&&i(r),r=u(()=>{t.forEach(o=>e(o)),t.clear()})},250)})}function d(e,t){e.querySelectorAll?.(".expressive-code pre > code").forEach(n=>{let r=n.parentElement;r&&t.observe(r)})}var s=l(a);d(document,s);var b=new MutationObserver(e=>e.forEach(t=>t.addedNodes.forEach(n=>{d(n,s)})));b.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{d(document,s)});})();}catch(e){console.error("[EC] tabindex-js-module failed:",e)} +try{(()=>{function i(o){let e=document.createElement("pre");Object.assign(e.style,{opacity:"0",pointerEvents:"none",position:"absolute",overflow:"hidden",left:"0",top:"0",width:"20px",height:"20px",webkitUserSelect:"auto",userSelect:"all"}),e.ariaHidden="true",e.textContent=o,document.body.appendChild(e);let a=document.createRange();a.selectNode(e);let n=getSelection();if(!n)return!1;n.removeAllRanges(),n.addRange(a);let r=!1;try{r=document.execCommand("copy")}finally{n.removeAllRanges(),document.body.removeChild(e)}return r}async function l(o){let e=o.currentTarget,a=e.dataset,n=!1,r=a.code.replace(/\u007f/g,` +`);try{await navigator.clipboard.writeText(r),n=!0}catch{n=i(r)}if(!n||e.parentNode?.querySelector(".feedback"))return;let t=document.createElement("div");t.classList.add("feedback"),t.append(a.copied),e.before(t),t.offsetWidth,requestAnimationFrame(()=>t?.classList.add("show"));let c=()=>!t||t.classList.remove("show"),d=()=>{!t||parseFloat(getComputedStyle(t).opacity)>0||(t.remove(),t=void 0)};setTimeout(c,1500),setTimeout(d,2500),e.addEventListener("blur",c),t.addEventListener("transitioncancel",d),t.addEventListener("transitionend",d)}function s(o){o.querySelectorAll?.(".expressive-code .copy button").forEach(e=>e.addEventListener("click",l))}s(document);var u=new MutationObserver(o=>o.forEach(e=>e.addedNodes.forEach(a=>{s(a)})));u.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{s(document)});})();}catch(e){console.error("[EC] copy-js-module failed:",e)} \ No newline at end of file diff --git a/_astro/ec.j8ofn.css b/_astro/ec.j8ofn.css new file mode 100644 index 0000000..62e6fed --- /dev/null +++ b/_astro/ec.j8ofn.css @@ -0,0 +1 @@ +.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);font-weight:var(--ec-uiFontWg);line-height:var(--ec-uiLineHt);text-size-adjust:none;-webkit-text-size-adjust:none}.expressive-code *:not(path){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre > code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);font-weight:var(--ec-codeFontWg);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre.wrap .ec-line .code{white-space:pre-wrap;overflow-wrap:break-word;min-width:min(20ch, var(--ecMaxLine, 20ch))}.expressive-code pre.wrap .ec-line .code span.indent{white-space:pre}.expressive-code pre::-webkit-scrollbar,.expressive-code pre::-webkit-scrollbar-track{background-color:inherit;border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));border-top-left-radius:0;border-top-right-radius:0}.expressive-code pre::-webkit-scrollbar-thumb{background-color:var(--ec-sbThumbCol);border:4px solid transparent;background-clip:content-box;border-radius:10px}.expressive-code pre::-webkit-scrollbar-thumb:hover{background-color:var(--ec-sbThumbHoverCol)}.expressive-code .ec-line{direction:ltr;unicode-bidi:isolate;display:grid;grid-template-areas:'gutter code';grid-template-columns:auto 1fr;position:relative}.expressive-code .ec-line .gutter{grid-area:gutter;color:var(--ec-gtrFg)}.expressive-code .ec-line .gutter > *{pointer-events:none;user-select:none;-webkit-user-select:none}.expressive-code .ec-line .gutter ~ .code{--ecLineBrdCol:var(--ec-gtrBrdCol)}.expressive-code .ec-line.highlight .gutter{color:var(--ec-gtrHlFg)}.expressive-code .ec-line .code{grid-area:code;position:relative;box-sizing:content-box;padding-inline-start:calc(var(--ecIndent, 0ch) + var(--ec-codePadInl) - var(--ecGtrBrdWd));padding-inline-end:var(--ec-codePadInl);text-indent:calc(var(--ecIndent, 0ch) * -1)}.expressive-code .ec-line .code::before,.expressive-code .ec-line .code::after,.expressive-code .ec-line .code :where(*){text-indent:0}.expressive-code .ec-line .code{--ecGtrBrdWd:var(--ec-gtrBrdWd);border-inline-start:var(--ecGtrBrdWd) solid var(--ecLineBrdCol, transparent)}.expressive-code :nth-child(1 of .ec-line) .code{padding-inline-end:calc(2rem + var(--ec-codePadInl))}.expressive-code .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.expressive-code .ec-line.mark{--tmLineBgCol:var(--ec-tm-markBg)}.expressive-code .ec-line.mark .code{--ecLineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol:var(--ec-tm-insBg);--tmLabel:var(--ec-tm-insDiffIndContent)}.expressive-code .ec-line.ins .code{--ecLineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins .code::before{color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol:var(--ec-tm-delBg);--tmLabel:var(--ec-tm-delDiffIndContent)}.expressive-code .ec-line.del .code{--ecLineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del .code::before{color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{background:var(--tmLineBgCol)}.expressive-code .ec-line.mark .code,.expressive-code .ec-line.ins .code,.expressive-code .ec-line.del .code{--ecGtrBrdWd:var(--ec-tm-lineMarkerAccentWd)}.expressive-code .ec-line.mark .code::before,.expressive-code .ec-line.ins .code::before,.expressive-code .ec-line.del .code::before{display:block;position:absolute;left:0;box-sizing:border-box;content:var(--tmLabel, ' ');padding-inline-start:var(--ec-tm-lineDiffIndMargLeft);text-align:center;white-space:pre}.expressive-code .ec-line.mark.tm-label .code::before,.expressive-code .ec-line.ins.tm-label .code::before,.expressive-code .ec-line.del.tm-label .code::before{background:var(--ecLineBrdCol);padding:0 calc(var(--ec-tm-lineMarkerLabelPadInl) + var(--ec-tm-lineMarkerAccentWd)) 0 var(--ec-tm-lineMarkerLabelPadInl);color:var(--ec-tm-lineMarkerLabelCol)}.expressive-code .ec-line mark{--tmInlineBgCol:var(--ec-tm-markBg);--tmInlineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol:var(--ec-tm-insBg);--tmInlineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol:var(--ec-tm-delBg);--tmInlineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL:var(--ec-tm-inlMarkerBrdWd);--tmBrdR:var(--ec-tm-inlMarkerBrdWd);--tmRadL:var(--ec-tm-inlMarkerBrdRad);--tmRadR:var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL:0px;--tmRadL:0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR:0px;--tmRadR:0}.expressive-code .ec-line mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:'';position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius:calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing:0.4rem;--code-background:var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:'\a0'}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing:calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:'';position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:'';position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing:calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background:var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:'';position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:'';position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2)}@media (scripting: none){.expressive-code .copy{display:none}}.expressive-code .copy{direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:'';position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size:0.35rem;--tooltip-bg:var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:'';position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code{}.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible ~ .copy button:not(:hover),.expressive-code .frame .copy .feedback.show ~ button:not(:hover){opacity:0.75}}:root,:root:not([data-theme='dark']) .expressive-code[data-theme='dark']{--ec-brdRad:0px;--ec-brdWd:1px;--ec-brdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-codeFontFml:var(--__sl-font-mono);--ec-codeFontSize:var(--sl-text-code);--ec-codeFontWg:400;--ec-codeLineHt:var(--sl-line-height);--ec-codePadBlk:0.75rem;--ec-codePadInl:1rem;--ec-codeBg:#011627;--ec-codeFg:#d6deeb;--ec-codeSelBg:#1d3b53;--ec-gtrFg:#556c80;--ec-gtrBrdCol:#556c8033;--ec-gtrBrdWd:1.5px;--ec-gtrHlFg:#c5e4fd8e;--ec-uiFontFml:var(--__sl-font);--ec-uiFontSize:0.9rem;--ec-uiFontWg:400;--ec-uiLineHt:1.65;--ec-uiPadBlk:0.25rem;--ec-uiPadInl:1rem;--ec-uiSelBg:#234d708c;--ec-uiSelFg:#ffffff;--ec-focusBrd:#122d42;--ec-sbThumbCol:#ffffff17;--ec-sbThumbHoverCol:#ffffff49;--ec-tm-lineMarkerAccentMarg:0rem;--ec-tm-lineMarkerAccentWd:0.15rem;--ec-tm-lineMarkerLabelPadInl:0.2rem;--ec-tm-lineMarkerLabelCol:white;--ec-tm-lineDiffIndMargLeft:0.25rem;--ec-tm-inlMarkerBrdWd:1.5px;--ec-tm-inlMarkerBrdRad:0.2rem;--ec-tm-inlMarkerPad:0.15rem;--ec-tm-insDiffIndContent:'+';--ec-tm-delDiffIndContent:'-';--ec-tm-markBg:#ffffff17;--ec-tm-markBrdCol:#ffffff40;--ec-tm-insBg:#1e571599;--ec-tm-insBrdCol:#487f3bd0;--ec-tm-insDiffIndCol:#79b169d0;--ec-tm-delBg:#862d2799;--ec-tm-delBrdCol:#b4554bd0;--ec-tm-delDiffIndCol:#ed8779d0;--ec-frm-shdCol:#011627;--ec-frm-frameBoxShdCssVal:none;--ec-frm-edActTabBg:var(--sl-color-gray-6);--ec-frm-edActTabFg:var(--sl-color-text);--ec-frm-edActTabBrdCol:transparent;--ec-frm-edActTabIndHt:1px;--ec-frm-edActTabIndTopCol:var(--sl-color-accent-high);--ec-frm-edActTabIndBtmCol:transparent;--ec-frm-edTabsMargInlStart:0;--ec-frm-edTabsMargBlkStart:0;--ec-frm-edTabBrdRad:0px;--ec-frm-edTabBarBg:var(--sl-color-black);--ec-frm-edTabBarBrdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edTabBarBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edBg:var(--sl-color-gray-6);--ec-frm-trmTtbDotsFg:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmTtbDotsOpa:0.75;--ec-frm-trmTtbBg:var(--sl-color-black);--ec-frm-trmTtbFg:var(--sl-color-text);--ec-frm-trmTtbBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmBg:var(--sl-color-gray-6);--ec-frm-inlBtnFg:var(--sl-color-text);--ec-frm-inlBtnBg:var(--sl-color-text);--ec-frm-inlBtnBgIdleOpa:0;--ec-frm-inlBtnBgHoverOrFocusOpa:0.2;--ec-frm-inlBtnBgActOpa:0.3;--ec-frm-inlBtnBrd:var(--sl-color-text);--ec-frm-inlBtnBrdOpa:0.4;--ec-frm-tooltipSuccessBg:#158744;--ec-frm-tooltipSuccessFg:white}.expressive-code .ec-line :where(span[style^='--']:not([class])),:root:not([data-theme='dark']) .expressive-code[data-theme='dark'] .ec-line :where(span[style^='--']:not([class])){color:var(--0, inherit);font-style:var(--0fs, inherit);font-weight:var(--0fw, inherit);text-decoration:var(--0td, inherit)}@media (prefers-color-scheme: light){:root:not([data-theme='dark']){--ec-codeBg:#fbfbfb;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#7a8d96;--ec-gtrBrdCol:#7a8d9633;--ec-gtrHlFg:#403f53c3;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-shdCol:#d9d9d9;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662}:root:not([data-theme='dark']) .expressive-code .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)}}:root[data-theme='light'] .expressive-code:not([data-theme='dark']),.expressive-code[data-theme='light']{--ec-codeBg:#fbfbfb;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#7a8d96;--ec-gtrBrdCol:#7a8d9633;--ec-gtrHlFg:#403f53c3;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-shdCol:#d9d9d9;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662}:root[data-theme='light'] .expressive-code:not([data-theme='dark']) .ec-line :where(span[style^='--']:not([class])),.expressive-code[data-theme='light'] .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)} \ No newline at end of file diff --git a/_astro/hoisted.B08468CZ.js b/_astro/hoisted.B08468CZ.js new file mode 100644 index 0000000..606d20c --- /dev/null +++ b/_astro/hoisted.B08468CZ.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["_astro/ui-core.DqN7dnli.js","_astro/Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js"])))=>i.map(i=>d[i]); +import"./Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js";const S=document.getElementById("starlight__sidebar"),y=S?.querySelector("sl-sidebar-state-persist"),b="sl-sidebar-state",v=()=>{let t=[];const e=y?.dataset.hash||"";try{const n=sessionStorage.getItem(b),s=JSON.parse(n||"{}");Array.isArray(s.open)&&s.hash===e&&(t=s.open)}catch{}return{hash:e,open:t,scroll:S?.scrollTop||0}},w=t=>{try{sessionStorage.setItem(b,JSON.stringify(t))}catch{}},L=()=>w(v()),x=(t,e)=>{const n=v();n.open[e]=t,w(n)};y?.addEventListener("click",t=>{if(!(t.target instanceof Element))return;const e=t.target.closest("summary")?.closest("details");if(!e)return;const n=e.querySelector("sl-sidebar-restore"),s=parseInt(n?.dataset.index||"");isNaN(s)||x(!e.open,s)});addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&L()});addEventListener("pageHide",L);class H extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&e.addEventListener("change",n=>{n.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=n.currentTarget.value)})}}customElements.define("starlight-lang-select",H);const C="modulepreload",M=function(t){return"/"+t},E={},_=function(e,n,s){let u=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),c=a?.nonce||a?.getAttribute("nonce");u=Promise.allSettled(n.map(l=>{if(l=M(l),l in E)return;E[l]=!0;const r=l.endsWith(".css"),h=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${h}`))return;const i=document.createElement("link");if(i.rel=r?"stylesheet":C,r||(i.as="script"),i.crossOrigin="",i.href=l,c&&i.setAttribute("nonce",c),document.head.appendChild(i),r)return new Promise((o,m)=>{i.addEventListener("load",o),i.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}function d(a){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=a,window.dispatchEvent(c),!c.defaultPrevented)throw a}return u.then(a=>{for(const c of a||[])c.status==="rejected"&&d(c.reason);return e().catch(d)})};class A extends HTMLElement{constructor(){super();const e=this.querySelector("button[data-open-modal]"),n=this.querySelector("button[data-close-modal]"),s=this.querySelector("dialog"),u=this.querySelector(".dialog-frame"),d=o=>{("href"in(o.target||{})||document.body.contains(o.target)&&!u.contains(o.target))&&c()},a=o=>{s.showModal(),document.body.toggleAttribute("data-search-modal-open",!0),this.querySelector("input")?.focus(),o?.stopPropagation(),window.addEventListener("click",d)},c=()=>s.close();e.addEventListener("click",a),e.disabled=!1,n.addEventListener("click",c),s.addEventListener("close",()=>{document.body.toggleAttribute("data-search-modal-open",!1),window.removeEventListener("click",d)}),window.addEventListener("keydown",o=>{(o.metaKey===!0||o.ctrlKey===!0)&&o.key==="k"&&(s.open?c():a(),o.preventDefault())});let l={};try{l=JSON.parse(this.dataset.translations||"{}")}catch{}const i=this.dataset.stripTrailingSlash!==void 0?o=>o.replace(/(.)\/(#.*)?$/,"$1$2"):o=>o;window.addEventListener("DOMContentLoaded",()=>{(window.requestIdleCallback||(m=>setTimeout(m,1)))(async()=>{const{PagefindUI:m}=await _(async()=>{const{PagefindUI:g}=await import("./ui-core.DqN7dnli.js");return{PagefindUI:g}},__vite__mapDeps([0,1]));new m({element:"#starlight__search",baseUrl:"/",bundlePath:"/".replace(/\/$/,"")+"/pagefind/",showImages:!1,translations:l,showSubResults:!0,processResult:g=>{g.url=i(g.url),g.sub_results=g.sub_results.map(f=>(f.url=i(f.url),f))}})})})}}customElements.define("site-search",A);const T="starlight-theme",k=t=>t==="auto"||t==="dark"||t==="light"?t:"auto",I=()=>k(typeof localStorage<"u"&&localStorage.getItem(T));function P(t){typeof localStorage<"u"&&localStorage.setItem(T,t==="light"||t==="dark"?t:"")}const O=()=>matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";function p(t){StarlightThemeProvider.updatePickers(t),document.documentElement.dataset.theme=t==="auto"?O():t,P(t)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>{I()==="auto"&&p("auto")});class R extends HTMLElement{constructor(){super(),p(I()),this.querySelector("select")?.addEventListener("change",e=>{e.currentTarget instanceof HTMLSelectElement&&p(k(e.currentTarget.value))})}}customElements.define("starlight-theme-select",R);class N extends HTMLElement{constructor(){super(),this.btn=this.querySelector("button"),this.btn.addEventListener("click",()=>this.toggleExpanded());const e=this.closest("nav");e&&e.addEventListener("keyup",n=>this.closeOnEscape(n))}setExpanded(e){this.setAttribute("aria-expanded",String(e)),document.body.toggleAttribute("data-mobile-menu-expanded",e)}toggleExpanded(){this.setExpanded(this.getAttribute("aria-expanded")!=="true")}closeOnEscape(e){e.code==="Escape"&&(this.setExpanded(!1),this.btn.focus())}}customElements.define("starlight-menu-button",N);const $="_top";class q extends HTMLElement{constructor(){super(),this._current=this.querySelector('a[aria-current="true"]'),this.minH=parseInt(this.dataset.minH||"2",10),this.maxH=parseInt(this.dataset.maxH||"3",10),this.onIdle=e=>(window.requestIdleCallback||(n=>setTimeout(n,1)))(e),this.init=()=>{const e=[...this.querySelectorAll("a")],n=r=>{if(r instanceof HTMLHeadingElement){if(r.id===$)return!0;const h=r.tagName[1];if(h){const i=parseInt(h,10);if(i>=this.minH&&i<=this.maxH)return!0}}return!1},s=r=>{if(!r)return null;const h=r;for(;r;){if(n(r))return r;for(r=r.previousElementSibling;r?.lastElementChild;)r=r.lastElementChild;const i=s(r);if(i)return i}return s(h.parentElement)},u=r=>{for(const{isIntersecting:h,target:i}of r){if(!h)continue;const o=s(i);if(!o)continue;const m=e.find(g=>g.hash==="#"+encodeURIComponent(o.id));if(m){this.current=m;break}}},d=document.querySelectorAll("main [id], main [id] ~ *, main .content > *");let a;const c=()=>{a||(a=new IntersectionObserver(u,{rootMargin:this.getRootMargin()}),d.forEach(r=>a.observe(r)))};c();let l;window.addEventListener("resize",()=>{a&&a.disconnect(),clearTimeout(l),l=setTimeout(()=>this.onIdle(c),200)})},this.onIdle(()=>this.init())}set current(e){e!==this._current&&(this._current&&this._current.removeAttribute("aria-current"),e.setAttribute("aria-current","true"),this._current=e)}getRootMargin(){const e=document.querySelector("header")?.getBoundingClientRect().height||0,n=this.querySelector("summary")?.getBoundingClientRect().height||0,s=e+n+32,u=s+53,d=document.documentElement.clientHeight;return`-${s}px 0% ${u-d}px`}}customElements.define("starlight-toc",q);class B extends q{set current(e){super.current=e;const n=this.querySelector(".display-current");n&&(n.textContent=e.textContent)}constructor(){super();const e=this.querySelector("details");if(!e)return;const n=()=>{e.open=!1};e.querySelectorAll("a").forEach(s=>{s.addEventListener("click",n)}),window.addEventListener("click",s=>{e.contains(s.target)||n()}),window.addEventListener("keydown",s=>{if(s.key==="Escape"&&e.open){const u=e.contains(document.activeElement);if(n(),u){const d=e.querySelector("summary");d&&d.focus()}}})}}customElements.define("mobile-starlight-toc",B);export{_}; diff --git a/_astro/index.JwtO7_Cy.css b/_astro/index.JwtO7_Cy.css new file mode 100644 index 0000000..5e4e3bf --- /dev/null +++ b/_astro/index.JwtO7_Cy.css @@ -0,0 +1 @@ +:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-2xs: .75rem;--sl-text-xs: .8125rem;--sl-text-sm: .875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);--sl-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)}@media (min-width: 50em){:root{--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media (min-width: 72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent)}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:anywhere}code{font-family:var(--__sl-font-mono)}:root{--astro-code-color-text: var(--sl-color-white);--astro-code-color-background: var(--sl-color-gray-6);--astro-code-token-constant: var(--sl-color-blue-high);--astro-code-token-string: var(--sl-color-green-high);--astro-code-token-comment: var(--sl-color-gray-2);--astro-code-token-keyword: var(--sl-color-purple-high);--astro-code-token-parameter: var(--sl-color-red-high);--astro-code-token-function: var(--sl-color-red-high);--astro-code-token-string-expression: var(--sl-color-green-high);--astro-code-token-punctuation: var(--sl-color-gray-2);--astro-code-token-link: var(--sl-color-blue-high)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (min-width: 50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (min-width: 72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)}.sl-banner:where(.astro-xacl2luz){--__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg, var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-xacl2luz) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-34aztvym){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-34aztvym)+.content-panel:where(.astro-34aztvym){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-34aztvym){max-width:var(--sl-content-width)}.sl-container:where(.astro-34aztvym)>*+*{margin-top:1.5rem}@media (min-width: 72rem){.sl-container:where(.astro-34aztvym){margin-inline:var(--sl-content-margin-inline, auto)}}p:where(.astro-fsffge5h){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;align-items:center;gap:.75em;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings)}a:where(.astro-bfezg5e4){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3)}a:where(.astro-bfezg5e4):hover{color:var(--sl-color-white)}.pagination-links:where(.astro-i6zw4t3x){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}a:where(.astro-i6zw4t3x){display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;flex-basis:calc(50% - .5rem);flex-grow:1;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding:1rem;text-decoration:none;color:var(--sl-color-gray-2);box-shadow:var(--sl-shadow-md);overflow-wrap:anywhere}:where(.astro-i6zw4t3x)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse}a:where(.astro-i6zw4t3x):hover{border-color:var(--sl-color-gray-2)}.link-title:where(.astro-i6zw4t3x){color:var(--sl-color-white);font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-i6zw4t3x){flex-shrink:0}footer:where(.astro-n7d5usdu){flex-direction:column;gap:1.5rem}.meta:where(.astro-n7d5usdu){gap:.75rem 3rem;justify-content:space-between;flex-wrap:wrap;margin-top:3rem;font-size:var(--sl-text-sm);color:var(--sl-color-gray-3)}.meta:where(.astro-n7d5usdu)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-n7d5usdu){align-items:center;gap:.5em;margin:1.5rem auto;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3)}.kudos:where(.astro-n7d5usdu) svg{color:var(--sl-color-orange)}.kudos:where(.astro-n7d5usdu):hover{color:var(--sl-color-white)}label:where(.astro-bxuhbz6b){--sl-label-icon-size: .875rem;--sl-caret-size: 1.25rem;--sl-inline-padding: .5rem;position:relative;display:flex;align-items:center;gap:.25rem;color:var(--sl-color-gray-1)}label:where(.astro-bxuhbz6b):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-bxuhbz6b){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}.label-icon:where(.astro-bxuhbz6b){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-bxuhbz6b){font-size:var(--sl-caret-size);inset-inline-end:0}select:where(.astro-bxuhbz6b){border:0;padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);background-color:transparent;text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none}option:where(.astro-bxuhbz6b){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (min-width: 50rem){select:where(.astro-bxuhbz6b){font-size:var(--sl-text-sm)}}.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)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"โคท ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{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-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{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;outline: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, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3: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-e9gkc3{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-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * 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-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{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-e9gkc3{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-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}[data-search-modal-open]{overflow:hidden}#starlight__search{--sl-search-result-spacing: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-start: calc(3.75rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-end: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-block: calc(.9375rem * var(--pagefind-ui-scale));--sl-search-result-nested-pad-block: calc(.625rem * var(--pagefind-ui-scale));--sl-search-corners: calc(.3125rem * var(--pagefind-ui-scale));--sl-search-page-icon-size: calc(1.875rem * var(--pagefind-ui-scale));--sl-search-page-icon-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2 );--sl-search-tree-diagram-size: calc(2.5rem * var(--pagefind-ui-scale));--sl-search-tree-diagram-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2 )}#starlight__search .pagefind-ui__form:before{--pagefind-ui-text: var(--sl-color-gray-1);opacity:1}#starlight__search .pagefind-ui__search-input{color:var(--sl-color-white);font-weight:400;width:calc(100% - var(--sl-search-cancel-space))}#starlight__search input:focus{--pagefind-ui-border: var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear{inset-inline-end:var(--sl-search-cancel-space);width:calc(60px * var(--pagefind-ui-scale));padding:0;background-color:transparent;overflow:hidden}#starlight__search .pagefind-ui__search-clear:focus{outline:1px solid var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear:before{content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;background-color:var(--sl-color-text-accent);display:block;width:100%;height:100%}#starlight__search .pagefind-ui__results>*+*{margin-top:var(--sl-search-result-spacing)}#starlight__search .pagefind-ui__result{border:0;padding:0}#starlight__search .pagefind-ui__result-nested{position:relative;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),#starlight__search .pagefind-ui__result-nested{position:relative;background-color:var(--sl-color-black)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:hover,#starlight__search .pagefind-ui__result-nested:focus-within{outline:1px solid var(--sl-color-accent-high)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:focus-within{background-color:var(--sl-color-accent-low)}#starlight__search .pagefind-ui__result-thumb,#starlight__search .pagefind-ui__result-inner{margin-top:0}#starlight__search .pagefind-ui__result-inner>:first-child{border-radius:var(--sl-search-corners) var(--sl-search-corners) 0 0}#starlight__search .pagefind-ui__result-inner>:last-child{border-radius:0 0 var(--sl-search-corners) var(--sl-search-corners)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title{padding:var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-page-icon-inline-start);width:var(--sl-search-page-icon-size);background:var(--sl-color-gray-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat}#starlight__search .pagefind-ui__result-inner{align-items:stretch;gap:1px}#starlight__search .pagefind-ui__result-link{position:unset;--pagefind-ui-text: var(--sl-color-white);font-weight:600}#starlight__search .pagefind-ui__result-link:hover{text-decoration:none}#starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link:before{content:unset}#starlight__search .pagefind-ui__result-nested:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-tree-diagram-inline-start);width:var(--sl-search-tree-diagram-size);background:var(--sl-color-gray-4);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat}#starlight__search .pagefind-ui__result-nested:last-child:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E")}[dir=rtl] .pagefind-ui__result-title:before,[dir=rtl] .pagefind-ui__result-nested:before{transform:scaleX(-1)}#starlight__search .pagefind-ui__result-link:after{content:"";position:absolute;inset:0}#starlight__search .pagefind-ui__result-excerpt{font-size:calc(1rem * var(--pagefind-ui-scale));overflow-wrap:anywhere}#starlight__search mark{color:var(--sl-color-gray-2);background-color:transparent;font-weight:600}site-search:where(.astro-yozsdw25){display:contents}button:where(.astro-yozsdw25)[data-open-modal]{display:flex;align-items:center;gap:.5rem;border:0;background-color:transparent;color:var(--sl-color-gray-1);cursor:pointer;height:2.5rem;font-size:var(--sl-text-xl)}@media (min-width: 50rem){button:where(.astro-yozsdw25)[data-open-modal]{border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;background-color:var(--sl-color-black);color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);width:100%;max-width:22rem}button:where(.astro-yozsdw25)[data-open-modal]:hover{border-color:var(--sl-color-gray-2);color:var(--sl-color-white)}button:where(.astro-yozsdw25)[data-open-modal]>:last-child:where(.astro-yozsdw25){margin-inline-start:auto}}button:where(.astro-yozsdw25)>kbd:where(.astro-yozsdw25){border-radius:.25rem;font-size:var(--sl-text-2xs);gap:.25em;padding-inline:.375rem;background-color:var(--sl-color-gray-6)}kbd:where(.astro-yozsdw25){font-family:var(--__sl-font)}dialog:where(.astro-yozsdw25){margin:0;background-color:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-5);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--sl-shadow-lg)}dialog:where(.astro-yozsdw25)[open]{display:flex}dialog:where(.astro-yozsdw25)::backdrop{background-color:var(--sl-color-backdrop-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.dialog-frame:where(.astro-yozsdw25){flex-direction:column;flex-grow:1;gap:1rem;padding:1rem}button:where(.astro-yozsdw25)[data-close-modal]{position:absolute;z-index:1;align-items:center;align-self:flex-end;height:calc(64px * var(--pagefind-ui-scale));padding:.25rem;border:0;background:transparent;cursor:pointer;color:var(--sl-color-text-accent)}#starlight__search:where(.astro-yozsdw25){--pagefind-ui-primary: var(--sl-color-accent-light);--pagefind-ui-text: var(--sl-color-gray-2);--pagefind-ui-font: var(--__sl-font);--pagefind-ui-background: var(--sl-color-black);--pagefind-ui-border: var(--sl-color-gray-5);--pagefind-ui-border-width: 1px;--sl-search-cancel-space: 5rem}@media (min-width: 50rem){#starlight__search:where(.astro-yozsdw25){--sl-search-cancel-space: 0px}dialog:where(.astro-yozsdw25){margin:4rem auto auto;border-radius:.5rem;width:90%;max-width:40rem;height:max-content;min-height:15rem;max-height:calc(100% - 8rem)}.dialog-frame:where(.astro-yozsdw25){padding:1.5rem}}.site-title:where(.astro-x6k3nna5){align-items:center;gap:var(--sl-nav-gap);font-size:var(--sl-text-h4);font-weight:600;color:var(--sl-color-text-accent);text-decoration:none;white-space:nowrap}img:where(.astro-x6k3nna5){height:calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));width:auto;max-width:100%;object-fit:contain;object-position:0 50%}a:where(.astro-n3f7f7pc){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-n3f7f7pc):hover{opacity:.66}.header:where(.astro-mfzixwdh){gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%}.title-wrapper:where(.astro-mfzixwdh){overflow:hidden}.right-group:where(.astro-mfzixwdh),.social-icons:where(.astro-mfzixwdh){gap:1rem;align-items:center}.social-icons:where(.astro-mfzixwdh):after{content:"";height:2rem;border-inline-end:1px solid var(--sl-color-gray-5)}@media (min-width: 50rem){:root[data-has-sidebar]{--__sidebar-pad: calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width: 0rem}.header:where(.astro-mfzixwdh){--__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));--__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );display:grid;grid-template-columns:minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;align-content:center}}.hero:where(.astro-ly6emchf){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-ly6emchf)>img:where(.astro-ly6emchf),.hero:where(.astro-ly6emchf)>.hero-html:where(.astro-ly6emchf){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-ly6emchf){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-ly6emchf){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-ly6emchf)>:where(.astro-ly6emchf){max-width:50ch}h1:where(.astro-ly6emchf){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-ly6emchf){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-ly6emchf){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media (min-width: 50rem){.hero:where(.astro-ly6emchf){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-ly6emchf)>img:where(.astro-ly6emchf),.hero:where(.astro-ly6emchf)>.hero-html:where(.astro-ly6emchf){order:2;width:min(100%,25rem)}.stack:where(.astro-ly6emchf){text-align:start}.copy:where(.astro-ly6emchf){align-items:flex-start}.actions:where(.astro-ly6emchf){justify-content:flex-start}}.sl-markdown-content :not(a,strong,em,del,span,input,code)+:not(a,strong,em,del,span,input,code,:where(.not-content *)){margin-top:1rem}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content li>:last-child:not(li,ul,ol):not(a,strong,em,del,span,input,:where(.not-content *)){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){display:block;max-width:100%;height:auto}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);margin-block:-.125rem;padding:.125rem .375rem;font-size:var(--sl-text-code-sm)}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);padding:.75rem 1rem;font-size:var(--sl-text-code);tab-size:2}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){display:block;overflow:auto;border-spacing:0}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);padding:.5rem 1rem;vertical-align:baseline}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)}}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-gray-5);--sl-details-border-color--hover: var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;display:block;font-weight:600;margin-inline-start:-.5rem;padding-inline-start:.5rem}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size: 1.25rem;background-color:currentColor;content:"";display:inline-block;height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion: no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-asides-border);--sl-details-border-color--hover: var(--sl-color-asides-text-accent)}[data-mobile-menu-expanded]{overflow:hidden}@media (min-width: 50rem){[data-mobile-menu-expanded]{overflow:auto}}button:where(.astro-qw7as3ex){position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar);border:0;border-radius:50%;width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);padding:.5rem;background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer}:where(.astro-qw7as3ex)[aria-expanded=true] button:where(.astro-qw7as3ex){background-color:var(--sl-color-gray-2);box-shadow:none}[data-theme=light] button:where(.astro-qw7as3ex){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] :where(.astro-qw7as3ex)[aria-expanded=true] button:where(.astro-qw7as3ex){background-color:var(--sl-color-gray-5)}.page:where(.astro-6c6zepxr){flex-direction:column;min-height:100vh}.header:where(.astro-6c6zepxr){z-index:var(--sl-z-index-navbar);position:fixed;inset-inline-start:0;inset-block-start:0;width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);padding-inline-end:var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav)}[data-has-sidebar] .header:where(.astro-6c6zepxr){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-6c6zepxr){visibility:var(--sl-sidebar-visibility, hidden);position:fixed;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;inset-inline-start:0;width:100%;background-color:var(--sl-color-black);overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-6c6zepxr){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-6c6zepxr){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media (min-width: 50rem){.sidebar-content:where(.astro-6c6zepxr):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-6c6zepxr){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media (min-width: 50rem){[data-has-sidebar] .header:where(.astro-6c6zepxr){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-6c6zepxr){--sl-sidebar-visibility: visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}}ul:where(.astro-gu2wmvls){padding:0;list-style:none}a:where(.astro-gu2wmvls){--pad-inline: .5rem;display:block;border-radius:.25rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height:1.25}a:where(.astro-gu2wmvls)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-gu2wmvls) a:where(.astro-gu2wmvls){--pad-inline: 1rem;display:flex;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);border-radius:0;padding-block:.5rem;color:var(--sl-color-text);font-size:var(--sl-text-sm);text-decoration:none;outline-offset:var(--sl-outline-offset-inside)}.isMobile:where(.astro-gu2wmvls):first-child>li:where(.astro-gu2wmvls):first-child>a:where(.astro-gu2wmvls){border-top:0}.isMobile:where(.astro-gu2wmvls) a:where(.astro-gu2wmvls)[aria-current=true],.isMobile:where(.astro-gu2wmvls) a:where(.astro-gu2wmvls)[aria-current=true]:hover,.isMobile:where(.astro-gu2wmvls) a:where(.astro-gu2wmvls)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-gu2wmvls) a:where(.astro-gu2wmvls)[aria-current=true]:after{content:"";width:1rem;background-color:var(--sl-color-text-accent);-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0}nav:where(.astro-klv3ffni){position:fixed;z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);inset-inline:0;border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav)}@media (min-width: 50rem){nav:where(.astro-klv3ffni){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-klv3ffni){gap:.5rem;align-items:center;height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:.5rem 1rem;font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside)}summary:where(.astro-klv3ffni)::marker,summary:where(.astro-klv3ffni)::-webkit-details-marker{display:none}.toggle:where(.astro-klv3ffni){flex-shrink:0;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height:1;background-color:var(--sl-color-black);user-select:none;cursor:pointer}details:where(.astro-klv3ffni)[open] .toggle:where(.astro-klv3ffni){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-klv3ffni) .toggle:where(.astro-klv3ffni):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-klv3ffni){transform:rotate(180deg)}details:where(.astro-klv3ffni)[open] .caret:where(.astro-klv3ffni){transform:rotate(90deg)}.display-current:where(.astro-klv3ffni){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-klv3ffni){--border-top: 1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));overflow-y:auto;background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain}.right-sidebar-panel:where(.astro-fcxq64na){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-fcxq64na){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-fcxq64na) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-fcxq64na) :where(a){display:block;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3);overflow-wrap:anywhere}.right-sidebar-panel:where(.astro-fcxq64na) :where(a):hover{color:var(--sl-color-white)}@media (min-width: 72rem){.sl-container:where(.astro-fcxq64na){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}}h1:where(.astro-qo6hmhru){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.social-icons:where(.astro-skckclac){margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-skckclac):empty{display:none}.mobile-preferences:where(.astro-skckclac){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);column-gap:1rem;padding:.5rem 0}sl-sidebar-state-persist:where(.astro-khxehqec){display:contents}ul:where(.astro-xw3ddr6x){--sl-sidebar-item-padding-inline: .5rem;list-style:none;padding:0}li:where(.astro-xw3ddr6x){overflow-wrap:anywhere}ul:where(.astro-xw3ddr6x) ul:where(.astro-xw3ddr6x) li:where(.astro-xw3ddr6x){margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start:1px solid var(--sl-color-hairline-light);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-xw3ddr6x){font-size:var(--sl-text-lg);font-weight:600;color:var(--sl-color-white)}.top-level:where(.astro-xw3ddr6x)>li:where(.astro-xw3ddr6x)+li:where(.astro-xw3ddr6x){margin-top:.75rem}summary:where(.astro-xw3ddr6x){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);line-height:1.4;cursor:pointer;user-select:none}summary:where(.astro-xw3ddr6x)::marker,summary:where(.astro-xw3ddr6x)::-webkit-details-marker{display:none}.caret:where(.astro-xw3ddr6x){transition:transform .2s ease-in-out;flex-shrink:0}[dir=rtl] .caret:where(.astro-xw3ddr6x){transform:rotate(180deg)}:where(.astro-xw3ddr6x)[open]>summary:where(.astro-xw3ddr6x) .caret:where(.astro-xw3ddr6x){transform:rotate(90deg)}a:where(.astro-xw3ddr6x){display:block;border-radius:.25rem;text-decoration:none;color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);line-height:1.4}a:where(.astro-xw3ddr6x):hover,a:where(.astro-xw3ddr6x):focus{color:var(--sl-color-white)}:where(.astro-xw3ddr6x)[aria-current=page],:where(.astro-xw3ddr6x)[aria-current=page]:hover,:where(.astro-xw3ddr6x)[aria-current=page]:focus{font-weight:600;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}a:where(.astro-xw3ddr6x)>:where(.astro-xw3ddr6x):not(:last-child),.group-label:where(.astro-xw3ddr6x)>:where(.astro-xw3ddr6x):not(:last-child){margin-inline-end:.25em}@media (min-width: 50rem){.top-level:where(.astro-xw3ddr6x)>li:where(.astro-xw3ddr6x)+li:where(.astro-xw3ddr6x){margin-top:.5rem}.large:where(.astro-xw3ddr6x){font-size:var(--sl-text-base)}a:where(.astro-xw3ddr6x){font-size:var(--sl-text-sm)}}a:where(.astro-cl4tmrjj){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-cl4tmrjj):focus{clip:unset;z-index:var(--sl-z-index-skiplink);display:block;padding:.5rem 1rem;text-decoration:none;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg)}.main-pane:where(.astro-mnscmmdk){isolation:isolate}@media (min-width: 72rem){.right-sidebar-container:where(.astro-mnscmmdk){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-mnscmmdk){position:fixed;top:0;border-inline-start:1px solid var(--sl-color-gray-6);padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-mnscmmdk){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-mnscmmdk){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}}.starlight-aside{padding:1rem;border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white)}.starlight-aside--note{--sl-color-asides-text-accent: var(--sl-color-blue-high);--sl-color-asides-border: var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent: var(--sl-color-purple-high);--sl-color-asides-border: var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent: var(--sl-color-orange-high);--sl-color-asides-border: var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent: var(--sl-color-red-high);--sl-color-asides-border: var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{display:flex;gap:.5rem;align-items:center;font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent)}.starlight-aside__icon{font-size:1.333em;width:1em;height:1em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}:root{--color-brand: var(--sol-red);--sl-hue-accent: var(--sl-hue-red)}h1[data-page-title],a.site-title,code.pls{font-family:var(--__sl-font-mono);font-weight:700;color:var(--color-brand)}:root{--color-background-tint: rgba(255, 255, 255, .03)}:root[data-theme=light]{--color-background-tint: rgba(0, 0, 0, .03)}@font-face{font-family:Monaspace;src:url(https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Monaspace;src:url(https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Monaspace;src:url(https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Monaspace;src:url(https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Symbols;src:url(/_astro/SymbolsNerdFont.CGhCuC6S.ttf) format("truetype");font-display:swap}:root{--sl-font-mono: "Monaspace", "Symbols"}.hero{grid-template-columns:1fr}.hero .copy{align-items:center}.hero .actions{justify-content:center}:root{--sol-red: #dc322f;--sol-magenta: #d33682}pre.terminal{--black: #45475a;--bright-black: #585b70;--red: #f38ba8;--green: #a6e3a1;--yellow: #f9e2af;--blue: #89b4fa;--magenta: #f5c2e7;--cyan: #94e2d5;--white: #bac2de;--bright-white: #a6adc8;background-color:#1e1e2e;color:#cdd6f4;font-family:var(--__sl-font-mono)}:root[data-theme=light] pre.terminal{--black: #bcc0cc;--red: #d20f39;--green: #40a02b;--yellow: #df8e1d;--blue: #1e66f5;--magenta: #ea76cb;--cyan: #179299;--white: #5c5f77;--bright-black: #acb0be;--bright-white: #6c6f85;background-color:#eff1f5;color:#4c4f69}pre.terminal p{margin:-.75rem -1rem;padding:.75rem 1rem;overflow-x:auto}div.expressive-code+pre.terminal{margin-top:0;border-top-width:0}span.math{font-family:serif;font-style:italic}figcaption.header:has(span.sr-only)~pre .ec-line .code:before{content:"$ ";opacity:.5}html:not([data-has-toc]){--sl-mobile-toc-height: 0rem}html:not([data-has-sidebar]){--sl-content-width: 67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-kr3lkfce){padding-bottom:3vh}@media (min-width: 50em){:where(.astro-kr3lkfce)[data-has-sidebar]{--sl-content-inline-start: var(--sl-sidebar-width)}}@media (min-width: 72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}} diff --git a/_astro/logo_dark.BQSISowC.svg b/_astro/logo_dark.BQSISowC.svg new file mode 100644 index 0000000..4d1c7e2 --- /dev/null +++ b/_astro/logo_dark.BQSISowC.svg @@ -0,0 +1,28 @@ + + + + + + diff --git a/_astro/logo_light.Bvnbx9bD.svg b/_astro/logo_light.Bvnbx9bD.svg new file mode 100644 index 0000000..ca23cd9 --- /dev/null +++ b/_astro/logo_light.Bvnbx9bD.svg @@ -0,0 +1,28 @@ + + + + + + diff --git a/_astro/page.7qqag-5g.js b/_astro/page.7qqag-5g.js new file mode 100644 index 0000000..12aa5b5 --- /dev/null +++ b/_astro/page.7qqag-5g.js @@ -0,0 +1 @@ +const d=new Set,c=new WeakSet;let f=!0,h,l=!1;function v(e){l||(l=!0,f??=!1,h??="hover",g(),p(),w(),L())}function g(){for(const e of["touchstart","mousedown"])document.body.addEventListener(e,t=>{i(t.target,"tap")&&s(t.target.href,{ignoreSlowConnection:!0})},{passive:!0})}function p(){let e;document.body.addEventListener("focusin",n=>{i(n.target,"hover")&&t(n)},{passive:!0}),document.body.addEventListener("focusout",o,{passive:!0}),u(()=>{for(const n of document.getElementsByTagName("a"))c.has(n)||i(n,"hover")&&(c.add(n),n.addEventListener("mouseenter",t,{passive:!0}),n.addEventListener("mouseleave",o,{passive:!0}))});function t(n){const r=n.target.href;e&&clearTimeout(e),e=setTimeout(()=>{s(r)},80)}function o(){e&&(clearTimeout(e),e=0)}}function w(){let e;u(()=>{for(const t of document.getElementsByTagName("a"))c.has(t)||i(t,"viewport")&&(c.add(t),e??=y(),e.observe(t))})}function y(){const e=new WeakMap;return new IntersectionObserver((t,o)=>{for(const n of t){const r=n.target,a=e.get(r);n.isIntersecting?(a&&clearTimeout(a),e.set(r,setTimeout(()=>{o.unobserve(r),e.delete(r),s(r.href)},300))):a&&(clearTimeout(a),e.delete(r))}})}function L(){u(()=>{for(const e of document.getElementsByTagName("a"))i(e,"load")&&s(e.href)})}function s(e,t){e=e.replace(/#.*/,"");const o=t?.ignoreSlowConnection??!1;if(S(e,o))if(d.add(e),document.createElement("link").relList?.supports?.("prefetch")&&t?.with!=="fetch"){const n=document.createElement("link");n.rel="prefetch",n.setAttribute("href",e),document.head.append(n)}else fetch(e,{priority:"low"})}function S(e,t){if(!navigator.onLine||!t&&m())return!1;try{const o=new URL(e,location.href);return location.origin===o.origin&&(location.pathname!==o.pathname||location.search!==o.search)&&!d.has(e)}catch{}return!1}function i(e,t){if(e?.tagName!=="A")return!1;const o=e.dataset.astroPrefetch;return o==="false"?!1:t==="tap"&&(o!=null||f)&&m()?!0:o==null&&f||o===""?t===h:o===t}function m(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function u(e){e();let t=!1;document.addEventListener("astro:page-load",()=>{if(!t){t=!0;return}e()})}v(); diff --git a/_astro/ui-core.DqN7dnli.js b/_astro/ui-core.DqN7dnli.js new file mode 100644 index 0000000..971c6de --- /dev/null +++ b/_astro/ui-core.DqN7dnli.js @@ -0,0 +1,2 @@ +import{_ as Js}from"./hoisted.B08468CZ.js";import"./Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js";var Ws=Object.defineProperty,k=(e,t)=>{for(var u in t)Ws(e,u,{get:t[u],enumerable:!0})};function P(){}function hu(e){return e()}function Ne(){return Object.create(null)}function W(e){e.forEach(hu)}function mu(e){return typeof e=="function"}function fe(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}var oe;function ce(e,t){return oe||(oe=document.createElement("a")),oe.href=t,e===oe.href}function Zs(e){return Object.keys(e).length===0}function A(e,t){e.appendChild(t)}function T(e,t,u){e.insertBefore(t,u||null)}function v(e){e.parentNode&&e.parentNode.removeChild(e)}function ie(e,t){for(let u=0;ue.removeEventListener(t,u,r)}function g(e,t,u){u==null?e.removeAttribute(t):e.getAttribute(t)!==u&&e.setAttribute(t,u)}function Xs(e){return Array.from(e.childNodes)}function j(e,t){t=""+t,e.data!==t&&(e.data=t)}function ze(e,t){e.value=t??""}function K(e,t,u){e.classList[u?"add":"remove"](t)}var Qs=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,u=null){this.e||(this.is_svg?this.e=Ys(t.nodeName):this.e=p(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(u)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;te.indexOf(r)===-1?t.push(r):u.push(r)),u.forEach(r=>r()),$=t}var _e=new Set,J;function ae(){J={r:0,c:[],p:J}}function ne(){J.r||W(J.c),J=J.p}function z(e,t){e&&e.i&&(_e.delete(e),e.i(t))}function U(e,t,u,r){if(e&&e.o){if(_e.has(e))return;_e.add(e),J.c.push(()=>{_e.delete(e),r&&(u&&e.d(1),r())}),e.o(t)}else r&&r()}function al(e,t){U(e,1,1,()=>{t.delete(e.key)})}function nl(e,t,u,r,s,l,a,n,i,d,_,h){let m=e.length,f=l.length,c=m;const o={};for(;c--;)o[e[c].key]=c;const E=[],B=new Map,R=new Map,F=[];for(c=f;c--;){const b=h(s,l,c),D=u(b);let w=a.get(D);w?F.push(()=>w.p(b,t)):(w=d(D,b),w.c()),B.set(D,E[c]=w),D in o&&R.set(D,Math.abs(c-o[D]))}const N=new Set,q=new Set;function L(b){z(b,1),b.m(n,_),a.set(b.key,b),_=b.first,f--}for(;m&&f;){const b=E[f-1],D=e[m-1],w=b.key,x=D.key;b===D?(_=b.first,m--,f--):B.has(x)?!a.has(w)||N.has(w)?L(b):q.has(x)?m--:R.get(w)>R.get(x)?(q.add(w),L(b)):(N.add(x),m--):(i(D,a),m--)}for(;m--;){const b=e[m];B.has(b.key)||i(b,a)}for(;f;)L(E[f-1]);return W(F),E}function il(e,t,u){const r=e.$$.props[t];r!==void 0&&(e.$$.bound[r]=u,u(e.$$.ctx[r]))}function Fe(e){e&&e.c()}function Ee(e,t,u,r){const{fragment:s,after_update:l}=e.$$;s&&s.m(t,u),r||Te(()=>{const a=e.$$.on_mount.map(hu).filter(mu);e.$$.on_destroy?e.$$.on_destroy.push(...a):W(a),e.$$.on_mount=[]}),l.forEach(Te)}function de(e,t){const u=e.$$;u.fragment!==null&&(ll(u.after_update),W(u.on_destroy),u.fragment&&u.fragment.d(t),u.on_destroy=u.fragment=null,u.ctx=[])}function ol(e,t){e.$$.dirty[0]===-1&&(X.push(e),tl(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const c=f.length?f[0]:m;return d.ctx&&s(d.ctx[h],d.ctx[h]=c)&&(!d.skip_bound&&d.bound[h]&&d.bound[h](c),_&&ol(e,h)),m}):[],d.update(),_=!0,W(d.before_update),d.fragment=r?r(d.ctx):!1,t.target){if(t.hydrate){const h=Xs(t.target);d.fragment&&d.fragment.l(h),h.forEach(v)}else d.fragment&&d.fragment.c();t.intro&&z(e.$$.fragment),Ee(e,t.target,t.anchor,t.customElement),gu()}re(i)}var me=class{$destroy(){de(this,1),this.$destroy=P}$on(e,t){if(!mu(t))return P;const u=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return u.push(t),()=>{const r=u.indexOf(t);r!==-1&&u.splice(r,1)}}$set(e){this.$$set&&!Zs(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function O(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function Q(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=48&&t<=57}function V(e){return O(e)||Q(e)}var _l=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"],je={"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"},cl={}.hasOwnProperty;function Ru(e,t={}){const u=Oe(),r=String(e),s=r.toLowerCase();let l=0;if(e==null)throw new Error("Expected string, got `"+e+"`");if(cl.call(je,s)){const n=je[s];return(t.normalize===void 0||t.normalize===null||t.normalize)&&typeof n=="string"?Ru(n):(u[_l.includes(s)?"regular":"irregular"]=r,u)}for(;O(s.charCodeAt(l))&&l<9;)l++;if(l>1&&l<9){if(u.language=r.slice(0,l),l<4){let n=0;for(;s.charCodeAt(l)===45&&O(s.charCodeAt(l+1))&&O(s.charCodeAt(l+2))&&O(s.charCodeAt(l+3))&&!O(s.charCodeAt(l+4));){if(n>2)return a(l,3,"Too many extended language subtags, expected at most 3 subtags");u.extendedLanguageSubtags.push(r.slice(l+1,l+4)),l+=4,n++}}for(s.charCodeAt(l)===45&&O(s.charCodeAt(l+1))&&O(s.charCodeAt(l+2))&&O(s.charCodeAt(l+3))&&O(s.charCodeAt(l+4))&&!O(s.charCodeAt(l+5))&&(u.script=r.slice(l+1,l+5),l+=5),s.charCodeAt(l)===45&&(O(s.charCodeAt(l+1))&&O(s.charCodeAt(l+2))&&!O(s.charCodeAt(l+3))?(u.region=r.slice(l+1,l+3),l+=3):Q(s.charCodeAt(l+1))&&Q(s.charCodeAt(l+2))&&Q(s.charCodeAt(l+3))&&!Q(s.charCodeAt(l+4))&&(u.region=r.slice(l+1,l+4),l+=4));s.charCodeAt(l)===45;){const n=l+1;let i=n;for(;V(s.charCodeAt(i));){if(i-n>7)return a(i,1,"Too long variant, expected at most 8 characters");i++}if(i-n>4||i-n>3&&Q(s.charCodeAt(n)))u.variants.push(r.slice(n,i)),l=i;else break}for(;s.charCodeAt(l)===45&&!(s.charCodeAt(l+1)===120||!V(s.charCodeAt(l+1))||s.charCodeAt(l+2)!==45||!V(s.charCodeAt(l+3)));){let n=l+2,i=0;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1))&&V(s.charCodeAt(n+2));){const d=n+1;for(n=d+2,i++;V(s.charCodeAt(n));){if(n-d>7)return a(n,2,"Too long extension, expected at most 8 characters");n++}}if(!i)return a(n,4,"Empty extension, extensions must have at least 2 characters of content");u.extensions.push({singleton:r.charAt(l+1),extensions:r.slice(l+3,n).split("-")}),l=n}}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 n=l;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1));){const i=l+1;for(n=i;V(s.charCodeAt(n));){if(n-i>7)return a(n,5,"Too long private-use area, expected at most 8 characters");n++}u.privateuse.push(r.slice(l+1,n)),l=n}}if(l!==r.length)return a(l,6,"Found superfluous content after tag");return u;function a(n,i,d){return t.warning&&t.warning(d,i,n),t.forgiving?u:Oe()}}function Oe(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function Ue(e,t,u){const r=e.slice();return r[8]=t[u][0],r[9]=t[u][1],r}function fl(e){let t,u,r,s,l,a=e[0]&&Ie();return{c(){a&&a.c(),t=M(),u=p("div"),r=p("p"),r.textContent=`${e[3](30)}`,s=M(),l=p("p"),l.textContent=`${e[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(u,"class","pagefind-ui__result-inner svelte-j9e30")},m(n,i){a&&a.m(n,i),T(n,t,i),T(n,u,i),A(u,r),A(u,s),A(u,l)},p(n,i){n[0]?a||(a=Ie(),a.c(),a.m(t.parentNode,t)):a&&(a.d(1),a=null)},d(n){a&&a.d(n),n&&v(t),n&&v(u)}}}function El(e){let t,u,r,s,l=e[1].meta?.title+"",a,n,i,d,_=e[1].excerpt+"",h,m=e[0]&&Pe(e),f=e[2].length&&xe(e);return{c(){m&&m.c(),t=M(),u=p("div"),r=p("p"),s=p("a"),a=S(l),i=M(),d=p("p"),h=M(),f&&f.c(),g(s,"class","pagefind-ui__result-link svelte-j9e30"),g(s,"href",n=e[1].meta?.url||e[1].url),g(r,"class","pagefind-ui__result-title svelte-j9e30"),g(d,"class","pagefind-ui__result-excerpt svelte-j9e30"),g(u,"class","pagefind-ui__result-inner svelte-j9e30")},m(c,o){m&&m.m(c,o),T(c,t,o),T(c,u,o),A(u,r),A(r,s),A(s,a),A(u,i),A(u,d),d.innerHTML=_,A(u,h),f&&f.m(u,null)},p(c,o){c[0]?m?m.p(c,o):(m=Pe(c),m.c(),m.m(t.parentNode,t)):m&&(m.d(1),m=null),o&2&&l!==(l=c[1].meta?.title+"")&&j(a,l),o&2&&n!==(n=c[1].meta?.url||c[1].url)&&g(s,"href",n),o&2&&_!==(_=c[1].excerpt+"")&&(d.innerHTML=_),c[2].length?f?f.p(c,o):(f=xe(c),f.c(),f.m(u,null)):f&&(f.d(1),f=null)},d(c){m&&m.d(c),c&&v(t),c&&v(u),f&&f.d()}}}function Ie(e){let t;return{c(){t=p("div"),g(t,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(u,r){T(u,t,r)},d(u){u&&v(t)}}}function Pe(e){let t,u=e[1].meta.image&&Le(e);return{c(){t=p("div"),u&&u.c(),g(t,"class","pagefind-ui__result-thumb svelte-j9e30")},m(r,s){T(r,t,s),u&&u.m(t,null)},p(r,s){r[1].meta.image?u?u.p(r,s):(u=Le(r),u.c(),u.m(t,null)):u&&(u.d(1),u=null)},d(r){r&&v(t),u&&u.d()}}}function Le(e){let t,u,r;return{c(){t=p("img"),g(t,"class","pagefind-ui__result-image svelte-j9e30"),ce(t.src,u=e[1].meta?.image)||g(t,"src",u),g(t,"alt",r=e[1].meta?.image_alt||e[1].meta?.title)},m(s,l){T(s,t,l)},p(s,l){l&2&&!ce(t.src,u=s[1].meta?.image)&&g(t,"src",u),l&2&&r!==(r=s[1].meta?.image_alt||s[1].meta?.title)&&g(t,"alt",r)},d(s){s&&v(t)}}}function xe(e){let t,u=e[2],r=[];for(let s=0;se.toLocaleUpperCase();function hl(e,t,u){let{show_images:r=!0}=t,{process_result:s=null}=t,{result:l={data:async()=>{}}}=t;const a=["title","image","image_alt","url"];let n,i=[];const d=async h=>{u(1,n=await h.data()),u(1,n=s?.(n)??n),u(2,i=Object.entries(n.meta).filter(([m])=>!a.includes(m)))},_=(h=30)=>". ".repeat(Math.floor(10+Math.random()*h));return e.$$set=h=>{"show_images"in h&&u(0,r=h.show_images),"process_result"in h&&u(4,s=h.process_result),"result"in h&&u(5,l=h.result)},e.$$.update=()=>{e.$$.dirty&32&&d(l)},[r,n,i,_,s,l]}var ml=class extends me{constructor(e){super(),he(this,e,hl,dl,fe,{show_images:0,process_result:4,result:5})}},Cl=ml;function Ke(e,t,u){const r=e.slice();return r[11]=t[u][0],r[12]=t[u][1],r}function Ge(e,t,u){const r=e.slice();return r[15]=t[u],r}function gl(e){let t,u,r,s,l,a=e[0]&&Je();return{c(){a&&a.c(),t=M(),u=p("div"),r=p("p"),r.textContent=`${e[5](30)}`,s=M(),l=p("p"),l.textContent=`${e[5](40)}`,g(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),g(u,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(n,i){a&&a.m(n,i),T(n,t,i),T(n,u,i),A(u,r),A(u,s),A(u,l)},p(n,i){n[0]?a||(a=Je(),a.c(),a.m(t.parentNode,t)):a&&(a.d(1),a=null)},d(n){a&&a.d(n),n&&v(t),n&&v(u)}}}function Rl(e){let t,u,r,s,l=e[1].meta?.title+"",a,n,i,d,_,h=e[0]&&We(e),m=e[4]&&Ye(e),f=e[3],c=[];for(let E=0;Ee.toLocaleUpperCase();function Al(e,t,u){let{show_images:r=!0}=t,{process_result:s=null}=t,{result:l={data:async()=>{}}}=t;const a=["title","image","image_alt","url"];let n,i=[],d=[],_=!1;const h=(c,o)=>{if(c.length<=o)return c;const E=[...c].sort((B,R)=>R.locations.length-B.locations.length).slice(0,3).map(B=>B.url);return c.filter(B=>E.includes(B.url))},m=async c=>{u(1,n=await c.data()),u(1,n=s?.(n)??n),u(2,i=Object.entries(n.meta).filter(([o])=>!a.includes(o))),Array.isArray(n.sub_results)&&(u(4,_=n.sub_results?.[0]?.url===(n.meta?.url||n.url)),_?u(3,d=h(n.sub_results.slice(1),3)):u(3,d=h([...n.sub_results],3)))},f=(c=30)=>". ".repeat(Math.floor(10+Math.random()*c));return e.$$set=c=>{"show_images"in c&&u(0,r=c.show_images),"process_result"in c&&u(6,s=c.process_result),"result"in c&&u(7,l=c.result)},e.$$.update=()=>{e.$$.dirty&128&&m(l)},[r,n,i,d,_,f,s,l]}var pl=class extends me{constructor(e){super(),he(this,e,Al,Bl,fe,{show_images:0,process_result:6,result:7})}},vl=pl;function uu(e,t,u){const r=e.slice();return r[10]=t[u][0],r[11]=t[u][1],r[12]=t,r[13]=u,r}function tu(e,t,u){const r=e.slice();return r[14]=t[u][0],r[15]=t[u][1],r[16]=t,r[17]=u,r}function ru(e){let t,u,r=e[4]("filters_label",e[5],e[6])+"",s,l,a=Object.entries(e[1]),n=[];for(let i=0;ie.toLocaleUpperCase(),iu=e=>e.toLowerCase();function kl(e,t,u){let{available_filters:r=null}=t,{show_empty_filters:s=!0}=t,{open_filters:l=[]}=t,{translate:a=()=>""}=t,{automatic_translations:n={}}=t,{translations:i={}}=t,{selected_filters:d={}}=t,_=!1,h=!1;function m(f,c){d[`${f}:${c}`]=this.checked,u(0,d)}return e.$$set=f=>{"available_filters"in f&&u(1,r=f.available_filters),"show_empty_filters"in f&&u(2,s=f.show_empty_filters),"open_filters"in f&&u(3,l=f.open_filters),"translate"in f&&u(4,a=f.translate),"automatic_translations"in f&&u(5,n=f.automatic_translations),"translations"in f&&u(6,i=f.translations),"selected_filters"in f&&u(0,d=f.selected_filters)},e.$$.update=()=>{if(e.$$.dirty&258&&r&&!_){u(8,_=!0);let f=Object.entries(r||{});f.length===1&&Object.entries(f[0][1])?.length<=6&&u(7,h=!0)}},[d,r,s,l,a,n,i,h,_,m]}var Fl=class extends me{constructor(e){super(),he(this,e,kl,Tl,fe,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},bl=Fl,Bu={};k(Bu,{comments:()=>pu,default:()=>Ml,direction:()=>vu,strings:()=>Tu,thanks_to:()=>Au});var Au="Jan Claasen ",pu="",vu="ltr",Tu={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]"},Ml={thanks_to:Au,comments:pu,direction:vu,strings:Tu},ku={};k(ku,{comments:()=>bu,default:()=>Sl,direction:()=>Mu,strings:()=>Su,thanks_to:()=>Fu});var Fu="Maruf Alom ",bu="",Mu="ltr",Su={placeholder:"เฆ…เฆจเงเฆธเฆจเงเฆงเฆพเฆจ เฆ•เฆฐเงเฆจ",clear_search:"เฆฎเงเฆ›เง‡ เฆซเง‡เฆฒเงเฆจ",load_more:"เฆ†เฆฐเง‹ เฆซเฆฒเฆพเฆซเฆฒ เฆฆเง‡เฆ–เงเฆจ",search_label:"เฆเฆ‡ เฆ“เงŸเง‡เฆฌเฆธเฆพเฆ‡เฆŸเง‡ เฆ…เฆจเงเฆธเฆจเงเฆงเฆพเฆจ เฆ•เฆฐเงเฆจ",filters_label:"เฆซเฆฟเฆฒเงเฆŸเฆพเฆฐ",zero_results:"[SEARCH_TERM] เฆเฆฐ เฆœเฆจเงเฆฏ เฆ•เฆฟเฆ›เง เฆ–เงเฆเฆœเง‡ เฆชเฆพเฆ“เงŸเฆพ เฆฏเฆพเงŸเฆจเฆฟ",many_results:"[COUNT]-เฆŸเฆฟ เฆซเฆฒเฆพเฆซเฆฒ เฆชเฆพเฆ“เงŸเฆพ เฆ—เฆฟเงŸเง‡เฆ›เง‡ [SEARCH_TERM] เฆเฆฐ เฆœเฆจเงเฆฏ",one_result:"[COUNT]-เฆŸเฆฟ เฆซเฆฒเฆพเฆซเฆฒ เฆชเฆพเฆ“เงŸเฆพ เฆ—เฆฟเงŸเง‡เฆ›เง‡ [SEARCH_TERM] เฆเฆฐ เฆœเฆจเงเฆฏ",alt_search:"เฆ•เง‹เฆจ เฆ•เฆฟเฆ›เง เฆ–เงเฆเฆœเง‡ เฆชเฆพเฆ“เงŸเฆพ เฆฏเฆพเงŸเฆจเฆฟ [SEARCH_TERM] เฆเฆฐ เฆœเฆจเงเฆฏ. เฆชเฆฐเฆฟเฆฌเฆฐเงเฆคเง‡ [DIFFERENT_TERM] เฆเฆฐ เฆœเฆจเงเฆฏ เฆฆเง‡เฆ–เฆพเฆจเง‹ เฆนเฆšเงเฆ›เง‡",search_suggestion:"เฆ•เง‹เฆจ เฆ•เฆฟเฆ›เง เฆ–เงเฆเฆœเง‡ เฆชเฆพเฆ“เงŸเฆพ เฆฏเฆพเงŸเฆจเฆฟ [SEARCH_TERM] เฆเฆฐ เฆฌเฆฟเฆทเงŸเง‡. เฆจเฆฟเฆจเงเฆฎเง‡เฆฐ เฆฌเฆฟเฆทเงŸเฆฌเฆธเงเฆคเง เฆ–เงเฆเฆœเง‡ เฆฆเง‡เฆ–เงเฆจ:",searching:"เฆ…เฆจเงเฆธเฆจเงเฆงเฆพเฆจ เฆšเฆฒเฆ›เง‡ [SEARCH_TERM]..."},Sl={thanks_to:Fu,comments:bu,direction:Mu,strings:Su},Du={};k(Du,{comments:()=>wu,default:()=>Dl,direction:()=>yu,strings:()=>Nu,thanks_to:()=>Hu});var Hu="Pablo Villaverde ",wu="",yu="ltr",Nu={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure mรฉes 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รผents:",searching:"Cercant [SEARCH_TERM]..."},Dl={thanks_to:Hu,comments:wu,direction:yu,strings:Nu},zu={};k(zu,{comments:()=>Ou,default:()=>Hl,direction:()=>Uu,strings:()=>Iu,thanks_to:()=>ju});var ju="Dalibor Hon ",Ou="",Uu="ltr",Iu={placeholder:"Hledat",clear_search:"Smazat",load_more:"Naฤรญst dalลกรญ vรฝsledky",search_label:"Prohledat tuto strรกnku",filters_label:"Filtry",zero_results:"ลฝรกdnรฉ vรฝsledky pro [SEARCH_TERM]",many_results:"[COUNT] vรฝsledkลฏ pro [SEARCH_TERM]",one_result:"[COUNT] vรฝsledek pro [SEARCH_TERM]",alt_search:"ลฝรกdnรฉ vรฝsledky pro [SEARCH_TERM]. Zobrazujรญ se vรฝsledky pro [DIFFERENT_TERM]",search_suggestion:"ลฝรกdnรฉ vรฝsledky pro [SEARCH_TERM]. Souvisejรญcรญ vรฝsledky hledรกnรญ:",searching:"Hledรกm [SEARCH_TERM]..."},Hl={thanks_to:ju,comments:Ou,direction:Uu,strings:Iu},Pu={};k(Pu,{comments:()=>xu,default:()=>wl,direction:()=>qu,strings:()=>Vu,thanks_to:()=>Lu});var Lu="Jonas Smedegaard ",xu="",qu="ltr",Vu={placeholder:"Sรธg",clear_search:"Nulstil",load_more:"Indlรฆs flere resultater",search_label:"Sรธg pรฅ dette website",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รธv et af disse sรธgeord i stedet:",searching:"Sรธger efter [SEARCH_TERM]..."},wl={thanks_to:Lu,comments:xu,direction:qu,strings:Vu},Ku={};k(Ku,{comments:()=>Ju,default:()=>yl,direction:()=>Wu,strings:()=>Zu,thanks_to:()=>Gu});var Gu="Jan Claasen ",Ju="",Wu="ltr",Zu={placeholder:"Suche",clear_search:"Lรถschen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse fรผr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse fรผr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis fรผr [SEARCH_TERM]",alt_search:"Keine Ergebnisse fรผr [SEARCH_TERM]. Stattdessen werden Ergebnisse fรผr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse fรผr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche fรผr [SEARCH_TERM]"},yl={thanks_to:Gu,comments:Ju,direction:Wu,strings:Zu},Yu={};k(Yu,{comments:()=>Qu,default:()=>Nl,direction:()=>$u,strings:()=>et,thanks_to:()=>Xu});var Xu="Liam Bigelow ",Qu="",$u="ltr",et={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]..."},Nl={thanks_to:Xu,comments:Qu,direction:$u,strings:et},ut={};k(ut,{comments:()=>rt,default:()=>zl,direction:()=>st,strings:()=>lt,thanks_to:()=>tt});var tt="Pablo Villaverde ",rt="",st="ltr",lt={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver mรกs 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รบsquedas:",searching:"Buscando [SEARCH_TERM]..."},zl={thanks_to:tt,comments:rt,direction:st,strings:lt},at={};k(at,{comments:()=>it,default:()=>jl,direction:()=>ot,strings:()=>_t,thanks_to:()=>nt});var nt="Valtteri Laitinen ",it="",ot="ltr",_t={placeholder:"Haku",clear_search:"Tyhjennรค",load_more:"Lataa lisรครค tuloksia",search_label:"Hae tรคltรค sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. Nรคytetรครคn tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},jl={thanks_to:nt,comments:it,direction:ot,strings:_t},ct={};k(ct,{comments:()=>Et,default:()=>Ol,direction:()=>dt,strings:()=>ht,thanks_to:()=>ft});var ft="Nicolas Friedli ",Et="",dt="ltr",ht={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de rรฉsultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de rรฉsultat pour [SEARCH_TERM]",many_results:"[COUNT] rรฉsultats pour [SEARCH_TERM]",one_result:"[COUNT] rรฉsultat pour [SEARCH_TERM]",alt_search:"Pas de rรฉsultat pour [SEARCH_TERM]. Montre les rรฉsultats pour [DIFFERENT_TERM] ร  la place",search_suggestion:"Pas de rรฉsultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},Ol={thanks_to:ft,comments:Et,direction:dt,strings:ht},mt={};k(mt,{comments:()=>gt,default:()=>Ul,direction:()=>Rt,strings:()=>Bt,thanks_to:()=>Ct});var Ct="Pablo Villaverde ",gt="",Rt="ltr",Bt={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver mรกis 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]..."},Ul={thanks_to:Ct,comments:gt,direction:Rt,strings:Bt},At={};k(At,{comments:()=>vt,default:()=>Il,direction:()=>Tt,strings:()=>kt,thanks_to:()=>pt});var pt="Amit Yadav ",vt="",Tt="ltr",kt={placeholder:"เค–เฅ‹เคœเฅ‡เค‚",clear_search:"เคธเคพเคซ เค•เคฐเฅ‡เค‚",load_more:"เค”เคฐ เค…เคงเคฟเค• เคชเคฐเคฟเคฃเคพเคฎ เคฒเฅ‹เคก เค•เคฐเฅ‡เค‚",search_label:"เค‡เคธ เคธเคพเค‡เคŸ เคฎเฅ‡เค‚ เค–เฅ‹เคœเฅ‡เค‚",filters_label:"เคซเคผเคฟเคฒเฅเคŸเคฐ",zero_results:"เค•เฅ‹เคˆ เคชเคฐเคฟเคฃเคพเคฎ [SEARCH_TERM] เค•เฅ‡ เคฒเคฟเค เคจเคนเฅ€เค‚ เคฎเคฟเคฒเคพ",many_results:"[COUNT] เคชเคฐเคฟเคฃเคพเคฎ [SEARCH_TERM] เค•เฅ‡ เคฒเคฟเค เคฎเคฟเคฒเฅ‡",one_result:"[COUNT] เคชเคฐเคฟเคฃเคพเคฎ [SEARCH_TERM] เค•เฅ‡ เคฒเคฟเค เคฎเคฟเคฒเคพ",alt_search:"[SEARCH_TERM] เค•เฅ‡ เคฒเคฟเค เค•เฅ‹เคˆ เคชเคฐเคฟเคฃเคพเคฎ เคจเคนเฅ€เค‚ เคฎเคฟเคฒเคพเฅค เค‡เคธเค•เฅ‡ เคฌเคœเคพเคฏ [DIFFERENT_TERM] เค•เฅ‡ เคฒเคฟเค เคชเคฐเคฟเคฃเคพเคฎ เคฆเคฟเค–เคพ เคฐเคนเคพ เคนเฅˆ",search_suggestion:"[SEARCH_TERM] เค•เฅ‡ เคฒเคฟเค เค•เฅ‹เคˆ เคชเคฐเคฟเคฃเคพเคฎ เคจเคนเฅ€เค‚ เคฎเคฟเคฒเคพเฅค เคจเคฟเคฎเฅเคจเคฒเคฟเค–เคฟเคค เค–เฅ‹เคœเฅ‹เค‚ เคฎเฅ‡เค‚ เคธเฅ‡ เค•เฅ‹เคˆ เคเค• เค†เคœเคผเคฎเคพเคเค‚:",searching:"[SEARCH_TERM] เค•เฅ€ เค–เฅ‹เคœ เค•เฅ€ เคœเคพ เคฐเคนเฅ€ เคนเฅˆ..."},Il={thanks_to:pt,comments:vt,direction:Tt,strings:kt},Ft={};k(Ft,{comments:()=>Mt,default:()=>Pl,direction:()=>St,strings:()=>Dt,thanks_to:()=>bt});var bt="Diomed ",Mt="",St="ltr",Dt={placeholder:"Traลพi",clear_search:"Oฤisti",load_more:"Uฤitaj viลกe rezultata",search_label:"Pretraลพi ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Pokuลกaj s jednom od ovih pretraga:",searching:"Pretraลพujem [SEARCH_TERM]..."},Pl={thanks_to:bt,comments:Mt,direction:St,strings:Dt},Ht={};k(Ht,{comments:()=>yt,default:()=>Ll,direction:()=>Nt,strings:()=>zt,thanks_to:()=>wt});var wt="Adam Laki ",yt="",Nt="ltr",zt={placeholder:"Keresรฉs",clear_search:"Tรถrlรฉs",load_more:"Tovรกbbi talรกlatok betรถltรฉse",search_label:"Keresรฉs az oldalon",filters_label:"Szลฑrรฉs",zero_results:"Nincs talรกlat a(z) [SEARCH_TERM] kifejezรฉsre",many_results:"[COUNT] db talรกlat a(z) [SEARCH_TERM] kifejezรฉsre",one_result:"[COUNT] db talรกlat a(z) [SEARCH_TERM] kifejezรฉsre",alt_search:"Nincs talรกlat a(z) [SEARCH_TERM] kifejezรฉsre. Talรกlatok mutatรกsa inkรกbb a(z) [DIFFERENT_TERM] kifejezรฉsre",search_suggestion:"Nincs talรกlat a(z) [SEARCH_TERM] kifejezรฉsre. Prรณbรกld meg a kรถvetkezล‘ keresรฉsek egyikรฉt:",searching:"Keresรฉs a(z) [SEARCH_TERM] kifejezรฉsre..."},Ll={thanks_to:wt,comments:yt,direction:Nt,strings:zt},jt={};k(jt,{comments:()=>Ut,default:()=>xl,direction:()=>It,strings:()=>Pt,thanks_to:()=>Ot});var Ot="Nixentric",Ut="",It="ltr",Pt={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},xl={thanks_to:Ot,comments:Ut,direction:It,strings:Pt},Lt={};k(Lt,{comments:()=>qt,default:()=>ql,direction:()=>Vt,strings:()=>Kt,thanks_to:()=>xt});var xt="Cosette Bruhns Alonso, Andrew Janco ",qt="",Vt="ltr",Kt={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra piรน risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},ql={thanks_to:xt,comments:qt,direction:Vt,strings:Kt},Gt={};k(Gt,{comments:()=>Wt,default:()=>Vl,direction:()=>Zt,strings:()=>Yt,thanks_to:()=>Jt});var Jt="Tate",Wt="",Zt="ltr",Yt={placeholder:"ๆคœ็ดข",clear_search:"ใ‚ฏใƒชใ‚ข",load_more:"ๆฌกใ‚’่ชญใฟ่พผใ‚€",search_label:"ใ“ใฎใ‚ตใ‚คใƒˆใ‚’ๆคœ็ดข",filters_label:"ใƒ•ใ‚ฃใƒซใ‚ฟ",zero_results:"[SEARCH_TERM]ใฎๆคœ็ดขใซไธ€่‡ดใ™ใ‚‹ๆƒ…ๅ ฑใฏใ‚ใ‚Šใพใ›ใ‚“ใงใ—ใŸ",many_results:"[SEARCH_TERM]ใฎ[COUNT]ไปถใฎๆคœ็ดข็ตๆžœ",one_result:"[SEARCH_TERM]ใฎ[COUNT]ไปถใฎๆคœ็ดข็ตๆžœ",alt_search:"[SEARCH_TERM]ใฎๆคœ็ดขใซไธ€่‡ดใ™ใ‚‹ๆƒ…ๅ ฑใฏใ‚ใ‚Šใพใ›ใ‚“ใงใ—ใŸใ€‚[DIFFERENT_TERM]ใฎๆคœ็ดข็ตๆžœใ‚’่กจ็คบใ—ใฆใ„ใพใ™",search_suggestion:"[SEARCH_TERM]ใฎๆคœ็ดขใซไธ€่‡ดใ™ใ‚‹ๆƒ…ๅ ฑใฏใ‚ใ‚Šใพใ›ใ‚“ใงใ—ใŸใ€‚ๆฌกใฎใ„ใšใ‚Œใ‹ใฎๆคœ็ดขใ‚’่ฉฆใ—ใฆใใ ใ•ใ„",searching:"[SEARCH_TERM]ใ‚’ๆคœ็ดขใ—ใฆใ„ใพใ™"},Vl={thanks_to:Jt,comments:Wt,direction:Zt,strings:Yt},Xt={};k(Xt,{comments:()=>$t,default:()=>Kl,direction:()=>er,strings:()=>ur,thanks_to:()=>Qt});var Qt="Seokho Son ",$t="",er="ltr",ur={placeholder:"๊ฒ€์ƒ‰์–ด",clear_search:"๋น„์šฐ๊ธฐ",load_more:"๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋” ๋ณด๊ธฐ",search_label:"์‚ฌ์ดํŠธ ๊ฒ€์ƒ‰",filters_label:"ํ•„ํ„ฐ",zero_results:"[SEARCH_TERM]์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ ์—†์Œ",many_results:"[SEARCH_TERM]์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ [COUNT]๊ฑด",one_result:"[SEARCH_TERM]์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ [COUNT]๊ฑด",alt_search:"[SEARCH_TERM]์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ ์—†์Œ. [DIFFERENT_TERM]์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ",search_suggestion:"[SEARCH_TERM]์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ ์—†์Œ. ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด: ",searching:"[SEARCH_TERM] ๊ฒ€์ƒ‰ ์ค‘..."},Kl={thanks_to:Qt,comments:$t,direction:er,strings:ur},tr={};k(tr,{comments:()=>sr,default:()=>Gl,direction:()=>lr,strings:()=>ar,thanks_to:()=>rr});var rr="",sr="",lr="ltr",ar={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta ฤ“tahi otinga kฤ“",search_label:"Rapu",filters_label:"Tฤtari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga kฤ“ ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakamฤtau ki ngฤ mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},Gl={thanks_to:rr,comments:sr,direction:lr,strings:ar},nr={};k(nr,{comments:()=>or,default:()=>Jl,direction:()=>_r,strings:()=>cr,thanks_to:()=>ir});var ir="Paul van Brouwershaven",or="",_r="ltr",cr={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]..."},Jl={thanks_to:ir,comments:or,direction:_r,strings:cr},fr={};k(fr,{comments:()=>dr,default:()=>Wl,direction:()=>hr,strings:()=>mr,thanks_to:()=>Er});var Er="Christopher Wingate",dr="",hr="ltr",mr={placeholder:"Sรธk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Sรธk pรฅ 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รธv en av disse sรธkeordene i stedet:",searching:"Sรธker etter [SEARCH_TERM]"},Wl={thanks_to:Er,comments:dr,direction:hr,strings:mr},Cr={};k(Cr,{comments:()=>Rr,default:()=>Zl,direction:()=>Br,strings:()=>Ar,thanks_to:()=>gr});var gr="",Rr="",Br="ltr",Ar={placeholder:"Szukaj",clear_search:"Wyczyล›ฤ‡",load_more:"Zaล‚aduj wiฤ™cej",search_label:"Przeszukaj tฤ™ stronฤ™",filters_label:"Filtry",zero_results:"Brak wynikรณw dla [SEARCH_TERM]",many_results:"[COUNT] wynikรณw dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wynikรณw dla [SEARCH_TERM]. Wyล›wietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynikรณw dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},Zl={thanks_to:gr,comments:Rr,direction:Br,strings:Ar},pr={};k(pr,{comments:()=>Tr,default:()=>Yl,direction:()=>kr,strings:()=>Fr,thanks_to:()=>vr});var vr="Jonatah",Tr="",kr="ltr",Fr={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]..."},Yl={thanks_to:vr,comments:Tr,direction:kr,strings:Fr},br={};k(br,{comments:()=>Sr,default:()=>Xl,direction:()=>Dr,strings:()=>Hr,thanks_to:()=>Mr});var Mr="Bogdan Mateescu ",Sr="",Dr="ltr",Hr={placeholder:"Cฤƒutare",clear_search:"ลžtergeลฃi",load_more:"รŽncฤƒrcaศ›i mai multe rezultate",search_label:"Cฤƒutaศ›i รฎn acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afiศ™eazฤƒ รฎn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. รŽncercaศ›i una dintre urmฤƒtoarele cฤƒutฤƒri:",searching:"Se cautฤƒ dupฤƒ: [SEARCH_TERM]..."},Xl={thanks_to:Mr,comments:Sr,direction:Dr,strings:Hr},wr={};k(wr,{comments:()=>Nr,default:()=>Ql,direction:()=>zr,strings:()=>jr,thanks_to:()=>yr});var yr="Aleksandr Gordeev",Nr="",zr="ltr",jr={placeholder:"ะŸะพะธัะบ",clear_search:"ะžั‡ะธัั‚ะธั‚ัŒ ะฟะพะปะต",load_more:"ะ—ะฐะณั€ัƒะทะธั‚ัŒ ะตั‰ะต",search_label:"ะŸะพะธัะบ ะฟะพ ัะฐะนั‚ัƒ",filters_label:"ะคะธะปัŒั‚ั€ั‹",zero_results:"ะะธั‡ะตะณะพ ะฝะต ะฝะฐะนะดะตะฝะพ ะฟะพ ะทะฐะฟั€ะพััƒ: [SEARCH_TERM]",many_results:"[COUNT] ั€ะตะทัƒะปัŒั‚ะฐั‚ะพะฒ ะฟะพ ะทะฐะฟั€ะพััƒ: [SEARCH_TERM]",one_result:"[COUNT] ั€ะตะทัƒะปัŒั‚ะฐั‚ ะฟะพ ะทะฐะฟั€ะพััƒ: [SEARCH_TERM]",alt_search:"ะะธั‡ะตะณะพ ะฝะต ะฝะฐะนะดะตะฝะพ ะฟะพ ะทะฐะฟั€ะพััƒ: [SEARCH_TERM]. ะŸะพะบะฐะทะฐะฝั‹ ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะฟะพ ะทะฐะฟั€ะพััƒ: [DIFFERENT_TERM]",search_suggestion:"ะะธั‡ะตะณะพ ะฝะต ะฝะฐะนะดะตะฝะพ ะฟะพ ะทะฐะฟั€ะพััƒ: [SEARCH_TERM]. ะŸะพะฟั€ะพะฑัƒะนั‚ะต ะพะดะธะฝ ะธะท ัะปะตะดัƒัŽั‰ะธั… ะฒะฐั€ะธะฐะฝั‚ะพะฒ",searching:"ะŸะพะธัะบ ะฟะพ ะทะฐะฟั€ะพััƒ: [SEARCH_TERM]"},Ql={thanks_to:yr,comments:Nr,direction:zr,strings:jr},Or={};k(Or,{comments:()=>Ir,default:()=>$l,direction:()=>Pr,strings:()=>Lr,thanks_to:()=>Ur});var Ur="Andrija Sagicc",Ir="",Pr="ltr",Lr={placeholder:"ะŸั€ะตั‚ั€ะฐะณะฐ",clear_search:"ะ‘ั€ะธัะฐัšะต",load_more:"ะŸั€ะธะบะฐะท ะฒะธัˆะต ั€ะตะทัƒะปั‚ะฐั‚ะฐ",search_label:"ะŸั€ะตั‚ั€ะฐะณะฐ ัะฐั˜ั‚ะฐ",filters_label:"ะคะธะปั‚ะตั€ะธ",zero_results:"ะะตะผะฐ ั€ะตะทัƒะปั‚ะฐั‚ะฐ ะทะฐ [SEARCH_TERM]",many_results:"[COUNT] ั€ะตะทัƒะปั‚ะฐั‚ะฐ ะทะฐ [SEARCH_TERM]",one_result:"[COUNT] ั€ะตะทัƒะปั‚ะฐั‚ะฐ ะทะฐ [SEARCH_TERM]",alt_search:"ะะตะผะฐ ั€ะตะทัƒะปั‚ะฐั‚ะฐ ะทะฐ [SEARCH_TERM]. ะŸั€ะธะบะฐะท ะดะพะดะฐั‚ะฝะธะบ ั€ะตะทัƒะปั‚ะฐั‚ะฐ ะทะฐ [DIFFERENT_TERM]",search_suggestion:"ะะตะผะฐ ั€ะตะทัƒะปั‚ะฐั‚ะฐ ะทะฐ [SEARCH_TERM]. ะŸะพะบัƒัˆะฐั˜ั‚ะต ัะฐ ะฝะตะบะพะผ ะพะด ัะปะตะดะตั›ะธั… ะฟั€ะตั‚ั€ะฐะณะฐ:",searching:"ะŸั€ะตั‚ั€ะฐะณะฐ ั‚ะตั€ะผะธะฝะฐ [SEARCH_TERM]..."},$l={thanks_to:Ur,comments:Ir,direction:Pr,strings:Lr},xr={};k(xr,{comments:()=>Vr,default:()=>ea,direction:()=>Kr,strings:()=>Gr,thanks_to:()=>qr});var qr="Montazar Al-Jaber ",Vr="",Kr="ltr",Gr={placeholder:"Sรถk",clear_search:"Rensa",load_more:"Visa fler trรคffar",search_label:"Sรถk pรฅ denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga trรคffar",many_results:"[SEARCH_TERM] gav [COUNT] trรคffar",one_result:"[SEARCH_TERM] gav [COUNT] trรคff",alt_search:"[SEARCH_TERM] gav inga trรคffar. Visar resultat fรถr [DIFFERENT_TERM] istรคllet",search_suggestion:"[SEARCH_TERM] gav inga trรคffar. Fรถrsรถk igen med en av fรถljande sรถkord:",searching:"Sรถker efter [SEARCH_TERM]..."},ea={thanks_to:qr,comments:Vr,direction:Kr,strings:Gr},Jr={};k(Jr,{comments:()=>Zr,default:()=>ua,direction:()=>Yr,strings:()=>Xr,thanks_to:()=>Wr});var Wr="Anonymous",Zr="",Yr="ltr",Xr={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},ua={thanks_to:Wr,comments:Zr,direction:Yr,strings:Xr},Qr={};k(Qr,{comments:()=>es,default:()=>ta,direction:()=>us,strings:()=>ts,thanks_to:()=>$r});var $r="",es="",us="ltr",ts={placeholder:"เฎคเฏ‡เฎŸเฏเฎ•",clear_search:"เฎ…เฎดเฎฟเฎ•เฏเฎ•เฏเฎ•",load_more:"เฎฎเฏ‡เฎฒเฏเฎฎเฏ เฎฎเฏเฎŸเฎฟเฎตเฏเฎ•เฎณเฏˆเฎ•เฏ เฎ•เฎพเฎŸเฏเฎŸเฏเฎ•",search_label:"เฎ‡เฎจเฏเฎค เฎคเฎณเฎคเฏเฎคเฎฟเฎฒเฏ เฎคเฏ‡เฎŸเฏเฎ•",filters_label:"เฎตเฎŸเฎฟเฎ•เฎŸเฏเฎŸเฎฒเฏเฎ•เฎณเฏ",zero_results:"[SEARCH_TERM] เฎ•เฏเฎ•เฎพเฎฉ เฎฎเฏเฎŸเฎฟเฎตเฏเฎ•เฎณเฏ เฎ‡เฎฒเฏเฎฒเฏˆ",many_results:"[SEARCH_TERM] เฎ•เฏเฎ•เฎพเฎฉ [COUNT] เฎฎเฏเฎŸเฎฟเฎตเฏเฎ•เฎณเฏ",one_result:"[SEARCH_TERM] เฎ•เฏเฎ•เฎพเฎฉ เฎฎเฏเฎŸเฎฟเฎตเฏ",alt_search:"[SEARCH_TERM] เฎ‡เฎคเฏเฎคเฏ‡เฎŸเฎฒเฏเฎ•เฏเฎ•เฎพเฎฉ เฎฎเฏเฎŸเฎฟเฎตเฏเฎ•เฎณเฏ เฎ‡เฎฒเฏเฎฒเฏˆ, เฎ‡เฎจเฏเฎค เฎคเฏ‡เฎŸเฎฒเฏเฎ•เฎณเฏเฎ•เฏเฎ•เฎพเฎฉ เฎ’เฎคเฏเฎค เฎฎเฏเฎŸเฎฟเฎตเฏเฎ•เฎณเฏ [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] เฎ‡เฎคเฏ เฎคเฏ‡เฎŸเฎฒเฏเฎ•เฏเฎ•เฎพเฎฉ เฎฎเฏเฎŸเฎฟเฎตเฏเฎ•เฎณเฏ เฎ‡เฎฒเฏเฎฒเฏˆ.เฎ‡เฎคเฎฑเฏเฎ•เฏ เฎชเฎคเฎฟเฎฒเฏ€เฎŸเฎพเฎฉ เฎคเฏ‡เฎŸเฎฒเฏเฎ•เฎณเฏˆ เฎคเฏ‡เฎŸเฏเฎ•:",searching:"[SEARCH_TERM] เฎคเฏ‡เฎŸเฎชเฏเฎชเฎŸเฏเฎ•เฎฟเฎฉเฏเฎฑเฎคเฏ"},ta={thanks_to:$r,comments:es,direction:us,strings:ts},rs={};k(rs,{comments:()=>ls,default:()=>ra,direction:()=>as,strings:()=>ns,thanks_to:()=>ss});var ss="Taylan ร–zgรผr Bildik",ls="",as="ltr",ns={placeholder:"AraลŸtฤฑr",clear_search:"Temizle",load_more:"Daha fazla sonuรง",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] iรงin sonuรง yok",many_results:"[SEARCH_TERM] iรงin [COUNT] sonuรง bulundu",one_result:"[SEARCH_TERM] iรงin [COUNT] sonuรง bulundu",alt_search:"[SEARCH_TERM] iรงin sonuรง yok. Bunun yerine [DIFFERENT_TERM] iรงin sonuรงlar gรถsteriliyor",search_suggestion:"[SEARCH_TERM] iรงin sonuรง yok. Alternatif olarak aลŸaฤŸฤฑdaki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] araลŸtฤฑrฤฑlฤฑyor..."},ra={thanks_to:ss,comments:ls,direction:as,strings:ns},is={};k(is,{comments:()=>_s,default:()=>sa,direction:()=>cs,strings:()=>fs,thanks_to:()=>os});var os="Vladyslav Lyshenko ",_s="",cs="ltr",fs={placeholder:"ะŸะพัˆัƒะบ",clear_search:"ะžั‡ะธัั‚ะธั‚ะธ ะฟะพะปะต",load_more:"ะ—ะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั‰ะต",search_label:"ะŸะพัˆัƒะบ ะฟะพ ัะฐะนั‚ัƒ",filters_label:"ะคั–ะปัŒั‚ั€ะธ",zero_results:"ะั–ั‡ะพะณะพ ะฝะต ะทะฝะฐะนะดะตะฝะพ ะทะฐ ะทะฐะฟะธั‚ะพะผ: [SEARCH_TERM]",many_results:"[COUNT] ั€ะตะทัƒะปัŒั‚ะฐั‚ั–ะฒ ะฝะฐ ะทะฐะฟะธั‚: [SEARCH_TERM]",one_result:"[COUNT] ั€ะตะทัƒะปัŒั‚ะฐั‚ ะทะฐ ะทะฐะฟะธั‚ะพะผ: [SEARCH_TERM]",alt_search:"ะั–ั‡ะพะณะพ ะฝะต ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ะทะฐะฟะธั‚: [SEARCH_TERM]. ะŸะพะบะฐะทะฐะฝะพ ั€ะตะทัƒะปัŒั‚ะฐั‚ะธ ะฝะฐ ะทะฐะฟะธั‚: [DIFFERENT_TERM]",search_suggestion:"ะั–ั‡ะพะณะพ ะฝะต ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ะทะฐะฟะธั‚: [SEARCH_TERM]. ะกะฟั€ะพะฑัƒะนั‚ะต ะพะดะธะฝ ั–ะท ั‚ะฐะบะธั… ะฒะฐั€ั–ะฐะฝั‚ั–ะฒ",searching:"ะŸะพัˆัƒะบ ะทะฐ ะทะฐะฟะธั‚ะพะผ: [SEARCH_TERM]"},sa={thanks_to:os,comments:_s,direction:cs,strings:fs},Es={};k(Es,{comments:()=>hs,default:()=>la,direction:()=>ms,strings:()=>Cs,thanks_to:()=>ds});var ds="Long Nhat Nguyen",hs="",ms="ltr",Cs={placeholder:"Tรฌm kiแบฟm",clear_search:"Xรณa",load_more:"Nhiแปu kแบฟt quแบฃ hฦกn",search_label:"Tรฌm kiแบฟm trong trang nร y",filters_label:"Bแป™ lแปc",zero_results:"Khรดng tรฌm thแบฅy kแบฟt quแบฃ cho [SEARCH_TERM]",many_results:"[COUNT] kแบฟt quแบฃ cho [SEARCH_TERM]",one_result:"[COUNT] kแบฟt quแบฃ cho [SEARCH_TERM]",alt_search:"Khรดng tรฌm thแบฅy kแบฟt quแบฃ cho [SEARCH_TERM]. Kiแปƒm thแป‹ kแบฟt quแบฃ thay thแบฟ vแป›i [DIFFERENT_TERM]",search_suggestion:"Khรดng tรฌm thแบฅy kแบฟt quแบฃ cho [SEARCH_TERM]. Thแปญ mแป™t trong cรกc tรฌm kiแบฟm:",searching:"ฤang tรฌm kiแบฟm cho [SEARCH_TERM]..."},la={thanks_to:ds,comments:hs,direction:ms,strings:Cs},gs={};k(gs,{comments:()=>Bs,default:()=>aa,direction:()=>As,strings:()=>ps,thanks_to:()=>Rs});var Rs="Amber Song",Bs="",As="ltr",ps={placeholder:"ๆœ็ดข",clear_search:"ๆธ…้™ค",load_more:"ๅŠ ่ฝฝๆ›ดๅคš็ป“ๆžœ",search_label:"็ซ™ๅ†…ๆœ็ดข",filters_label:"็ญ›้€‰",zero_results:"ๆœชๆ‰พๅˆฐ [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœ",many_results:"ๆ‰พๅˆฐ [COUNT] ไธช [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœ",one_result:"ๆ‰พๅˆฐ [COUNT] ไธช [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœ",alt_search:"ๆœชๆ‰พๅˆฐ [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœใ€‚ๆ”นไธบๆ˜พ็คบ [DIFFERENT_TERM] ็š„็›ธๅ…ณ็ป“ๆžœ",search_suggestion:"ๆœชๆ‰พๅˆฐ [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœใ€‚่ฏทๅฐ่ฏ•ไปฅไธ‹ๆœ็ดขใ€‚",searching:"ๆญฃๅœจๆœ็ดข [SEARCH_TERM]..."},aa={thanks_to:Rs,comments:Bs,direction:As,strings:ps},vs={};k(vs,{comments:()=>ks,default:()=>na,direction:()=>Fs,strings:()=>bs,thanks_to:()=>Ts});var Ts="Amber Song",ks="",Fs="ltr",bs={placeholder:"ๆœ็ดข",clear_search:"ๆธ…้™ค",load_more:"ๅŠ ่ผ‰ๆ›ดๅคš็ตๆžœ",search_label:"็ซ™ๅ…งๆœ็ดข",filters_label:"็ฏฉ้ธ",zero_results:"ๆœชๆ‰พๅˆฐ [SEARCH_TERM] ็š„็›ธ้—œ็ตๆžœ",many_results:"ๆ‰พๅˆฐ [COUNT] ๅ€‹ [SEARCH_TERM] ็š„็›ธ้—œ็ตๆžœ",one_result:"ๆ‰พๅˆฐ [COUNT] ๅ€‹ [SEARCH_TERM] ็š„็›ธ้—œ็ตๆžœ",alt_search:"ๆœชๆ‰พๅˆฐ [SEARCH_TERM] ็š„็›ธ้—œ็ตๆžœใ€‚ๆ”น็‚บ้กฏ็คบ [DIFFERENT_TERM] ็š„็›ธ้—œ็ตๆžœ",search_suggestion:"ๆœชๆ‰พๅˆฐ [SEARCH_TERM] ็š„็›ธ้—œ็ตๆžœใ€‚่ซ‹ๅ˜—่ฉฆไปฅไธ‹ๆœ็ดขใ€‚",searching:"ๆญฃๅœจๆœ็ดข [SEARCH_TERM]..."},na={thanks_to:Ts,comments:ks,direction:Fs,strings:bs},Ms={};k(Ms,{comments:()=>Ds,default:()=>ia,direction:()=>Hs,strings:()=>ws,thanks_to:()=>Ss});var Ss="Amber Song",Ds="",Hs="ltr",ws={placeholder:"ๆœ็ดข",clear_search:"ๆธ…้™ค",load_more:"ๅŠ ่ฝฝๆ›ดๅคš็ป“ๆžœ",search_label:"็ซ™ๅ†…ๆœ็ดข",filters_label:"็ญ›้€‰",zero_results:"ๆœชๆ‰พๅˆฐ [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœ",many_results:"ๆ‰พๅˆฐ [COUNT] ไธช [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœ",one_result:"ๆ‰พๅˆฐ [COUNT] ไธช [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœ",alt_search:"ๆœชๆ‰พๅˆฐ [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœใ€‚ๆ”นไธบๆ˜พ็คบ [DIFFERENT_TERM] ็š„็›ธๅ…ณ็ป“ๆžœ",search_suggestion:"ๆœชๆ‰พๅˆฐ [SEARCH_TERM] ็š„็›ธๅ…ณ็ป“ๆžœใ€‚่ฏทๅฐ่ฏ•ไปฅไธ‹ๆœ็ดขใ€‚",searching:"ๆญฃๅœจๆœ็ดข [SEARCH_TERM]..."},ia={thanks_to:Ss,comments:Ds,direction:Hs,strings:ws},oa=[Bu,ku,Du,zu,Pu,Ku,Yu,ut,at,ct,mt,At,Ft,Ht,jt,Lt,Gt,Xt,tr,nr,fr,Cr,pr,br,wr,Or,xr,Jr,Qr,rs,is,Es,gs,vs,Ms],_a=oa,ca=["../../translations/af.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ou(e,t,u){const r=e.slice();return r[51]=t[u],r}function _u(e){let t,u,r;function s(a){e[37](a)}let l={show_empty_filters:e[5],open_filters:e[6],available_filters:e[18],translate:e[20],automatic_translations:e[19],translations:e[7]};return e[0]!==void 0&&(l.selected_filters=e[0]),t=new bl({props:l}),le.push(()=>il(t,"selected_filters",s)),{c(){Fe(t.$$.fragment)},m(a,n){Ee(t,a,n),r=!0},p(a,n){const i={};n[0]&32&&(i.show_empty_filters=a[5]),n[0]&64&&(i.open_filters=a[6]),n[0]&262144&&(i.available_filters=a[18]),n[0]&524288&&(i.automatic_translations=a[19]),n[0]&128&&(i.translations=a[7]),!u&&n[0]&1&&(u=!0,i.selected_filters=a[0],rl(()=>u=!1)),t.$set(i)},i(a){r||(z(t.$$.fragment,a),r=!0)},o(a){U(t.$$.fragment,a),r=!1},d(a){de(t,a)}}}function cu(e){let t,u,r,s;const l=[Ea,fa],a=[];function n(i,d){return i[14]?0:1}return u=n(e),r=a[u]=l[u](e),{c(){t=p("div"),r.c(),g(t,"class","pagefind-ui__results-area svelte-e9gkc3")},m(i,d){T(i,t,d),a[u].m(t,null),s=!0},p(i,d){let _=u;u=n(i),u===_?a[u].p(i,d):(ae(),U(a[_],1,1,()=>{a[_]=null}),ne(),r=a[u],r?r.p(i,d):(r=a[u]=l[u](i),r.c()),z(r,1),r.m(t,null))},i(i){s||(z(r),s=!0)},o(i){U(r),s=!1},d(i){i&&v(t),a[u].d()}}}function fa(e){let t,u,r,s=[],l=new Map,a,n,i;function d(o,E){return o[13].results.length===0?ma:o[13].results.length===1?ha:da}let _=d(e),h=_(e),m=e[13].results.slice(0,e[17]);const f=o=>o[51].id;for(let o=0;oe[17]&&Eu(e);return{c(){t=p("p"),h.c(),u=M(),r=p("ol");for(let o=0;oo[17]?c?c.p(o,E):(c=Eu(o),c.c(),c.m(n.parentNode,n)):c&&(c.d(1),c=null)},i(o){if(!i){for(let E=0;E{i[m]=null}),ne(),s=i[r],s?s.p(t,h):(s=i[r]=n[r](t),s.c()),z(s,1),s.m(l.parentNode,l))},i(_){a||(z(s),a=!0)},o(_){U(s),a=!1},d(_){_&&v(u),i[r].d(_),_&&v(l)}}}function Eu(e){let t,u=e[20]("load_more",e[19],e[7])+"",r,s,l;return{c(){t=p("button"),r=S(u),g(t,"type","button"),g(t,"class","pagefind-ui__button svelte-e9gkc3")},m(a,n){T(a,t,n),A(t,r),s||(l=G(t,"click",e[22]),s=!0)},p(a,n){n[0]&524416&&u!==(u=a[20]("load_more",a[19],a[7])+"")&&j(r,u)},d(a){a&&v(t),s=!1,l()}}}function du(e){let t,u=e[20]("searching",e[19],e[7]).replace(/\[SEARCH_TERM\]/,e[16])+"",r;return{c(){t=p("p"),r=S(u),g(t,"class","pagefind-ui__message svelte-e9gkc3")},m(s,l){T(s,t,l),A(t,r)},p(s,l){l[0]&589952&&u!==(u=s[20]("searching",s[19],s[7]).replace(/\[SEARCH_TERM\]/,s[16])+"")&&j(r,u)},d(s){s&&v(t)}}}function Ra(e){let t,u,r,s,l,a,n=e[20]("clear_search",e[19],e[7])+"",i,d,_,h,m,f,c,o,E=e[12]&&_u(e),B=e[15]&&cu(e);return{c(){t=p("div"),u=p("form"),r=p("input"),l=M(),a=p("button"),i=S(n),d=M(),_=p("div"),E&&E.c(),h=M(),B&&B.c(),g(r,"class","pagefind-ui__search-input svelte-e9gkc3"),g(r,"type","text"),g(r,"placeholder",s=e[20]("placeholder",e[19],e[7])),g(r,"autocapitalize","none"),g(r,"enterkeyhint","search"),r.autofocus=e[8],g(a,"class","pagefind-ui__search-clear svelte-e9gkc3"),K(a,"pagefind-ui__suppressed",!e[9]),g(_,"class","pagefind-ui__drawer svelte-e9gkc3"),K(_,"pagefind-ui__hidden",!e[15]),g(u,"class","pagefind-ui__form svelte-e9gkc3"),g(u,"role","search"),g(u,"aria-label",m=e[20]("search_label",e[19],e[7])),g(u,"action","javascript:void(0);"),g(t,"class","pagefind-ui svelte-e9gkc3"),K(t,"pagefind-ui--reset",e[1])},m(R,F){T(R,t,F),A(t,u),A(u,r),ze(r,e[9]),e[34](r),A(u,l),A(u,a),A(a,i),e[35](a),A(u,d),A(u,_),E&&E.m(_,null),A(_,h),B&&B.m(_,null),f=!0,e[8]&&r.focus(),c||(o=[G(r,"focus",e[21]),G(r,"keydown",e[32]),G(r,"input",e[33]),G(a,"click",e[36]),G(u,"submit",Ba)],c=!0)},p(R,F){(!f||F[0]&524416&&s!==(s=R[20]("placeholder",R[19],R[7])))&&g(r,"placeholder",s),(!f||F[0]&256)&&(r.autofocus=R[8]),F[0]&512&&r.value!==R[9]&&ze(r,R[9]),(!f||F[0]&524416)&&n!==(n=R[20]("clear_search",R[19],R[7])+"")&&j(i,n),(!f||F[0]&512)&&K(a,"pagefind-ui__suppressed",!R[9]),R[12]?E?(E.p(R,F),F[0]&4096&&z(E,1)):(E=_u(R),E.c(),z(E,1),E.m(_,h)):E&&(ae(),U(E,1,1,()=>{E=null}),ne()),R[15]?B?(B.p(R,F),F[0]&32768&&z(B,1)):(B=cu(R),B.c(),z(B,1),B.m(_,null)):B&&(ae(),U(B,1,1,()=>{B=null}),ne()),(!f||F[0]&32768)&&K(_,"pagefind-ui__hidden",!R[15]),(!f||F[0]&524416&&m!==(m=R[20]("search_label",R[19],R[7])))&&g(u,"aria-label",m),(!f||F[0]&2)&&K(t,"pagefind-ui--reset",R[1])},i(R){f||(z(E),z(B),f=!0)},o(R){U(E),U(B),f=!1},d(R){R&&v(t),e[34](null),e[35](null),E&&E.d(),B&&B.d(),c=!1,W(o)}}}var Ba=e=>e.preventDefault();function Aa(e,t,u){const r={},s=ca.map(C=>C.match(/([^\/]+)\.json$/)[1]);for(let C=0;Cy[C]??H[C]??"";$s(()=>{let C=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",H=Ru(C.toLocaleLowerCase());u(19,He=r[`${H.language}-${H.script}-${H.region}`]||r[`${H.language}-${H.region}`]||r[`${H.language}`]||r.en)}),el(()=>{D?.destroy?.(),D=null});const we=async()=>{if(!Ce&&(u(12,Ce=!0),!D)){let C;try{C=await Js(()=>import(`${l}pagefind.js`),[])}catch(y){console.error(y),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}_||u(24,_=d?12:30);let H={...E||{},excerptLength:_};await C.options(H);for(const y of B){if(!y.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");const I=y.bundlePath;delete y.bundlePath,await C.mergeIndex(I,y)}D=C,zs()}},zs=async()=>{D&&(De=await D.filters(),(!ue||!Object.keys(ue).length)&&u(18,ue=De))},js=C=>{let H={};return Object.entries(C).filter(([,y])=>y).forEach(([y])=>{let[I,Z]=y.split(/:(.*)$/);H[I]=H[I]||[],H[I].push(Z)}),H};let te;const Os=async(C,H)=>{if(!C){u(15,Re=!1),te&&clearTimeout(te);return}const y=js(H),I=()=>Us(C,y);o>0&&C?(te&&clearTimeout(te),te=setTimeout(I,o),await ye(),D.preload(C,{filters:y})):I(),Is()},ye=async()=>{for(;!D;)we(),await new Promise(C=>setTimeout(C,50))},Us=async(C,H)=>{u(16,Se=C||""),typeof m=="function"&&(C=m(C)),u(14,ge=!0),u(15,Re=!0),await ye();const y=++Me,I={filters:H};q&&typeof q=="object"&&(I.sort=q);const Z=await D.search(C,I);Me===y&&(Z.filters&&Object.keys(Z.filters)?.length&&u(18,ue=Z.filters),u(13,be=Z),u(14,ge=!1),u(17,Be=a))},Is=()=>{const C=x.offsetWidth;C!=ys&&u(10,w.style.paddingRight=`${C+2}px`,w)},Ps=C=>{C?.preventDefault(),u(17,Be+=a)},Ls=C=>{C.key==="Escape"&&(u(9,b=""),w.blur()),C.key==="Enter"&&C.preventDefault()};function xs(){b=this.value,u(9,b),u(23,R)}function qs(C){le[C?"unshift":"push"](()=>{w=C,u(10,w)})}function Vs(C){le[C?"unshift":"push"](()=>{x=C,u(11,x)})}const Ks=()=>{u(9,b=""),w.blur()};function Gs(C){L=C,u(0,L)}return e.$$set=C=>{"base_path"in C&&u(25,l=C.base_path),"page_size"in C&&u(26,a=C.page_size),"reset_styles"in C&&u(1,n=C.reset_styles),"show_images"in C&&u(2,i=C.show_images),"show_sub_results"in C&&u(3,d=C.show_sub_results),"excerpt_length"in C&&u(24,_=C.excerpt_length),"process_result"in C&&u(4,h=C.process_result),"process_term"in C&&u(27,m=C.process_term),"show_empty_filters"in C&&u(5,f=C.show_empty_filters),"open_filters"in C&&u(6,c=C.open_filters),"debounce_timeout_ms"in C&&u(28,o=C.debounce_timeout_ms),"pagefind_options"in C&&u(29,E=C.pagefind_options),"merge_index"in C&&u(30,B=C.merge_index),"trigger_search_term"in C&&u(23,R=C.trigger_search_term),"translations"in C&&u(7,F=C.translations),"autofocus"in C&&u(8,N=C.autofocus),"sort"in C&&u(31,q=C.sort),"selected_filters"in C&&u(0,L=C.selected_filters)},e.$$.update=()=>{e.$$.dirty[0]&8388608&&R&&(u(9,b=R),u(23,R="")),e.$$.dirty[0]&513&&Os(b,L)},[L,n,i,d,h,f,c,F,N,b,w,x,Ce,be,ge,Re,Se,Be,ue,He,Ns,we,Ps,R,_,l,a,m,o,E,B,q,Ls,xs,qs,Vs,Ks,Gs]}var pa=class extends me{constructor(e){super(),he(this,e,Aa,Ra,fe,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},va=pa,ke;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(ke=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{ke="/pagefind/"}var Fa=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",u=e.bundlePath??ke,r=e.pageSize??5,s=e.resetStyles??!0,l=e.showImages??!0,a=e.showSubResults??!1,n=e.excerptLength??0,i=e.processResult??null,d=e.processTerm??null,_=e.showEmptyFilters??!0,h=e.openFilters??[],m=e.debounceTimeoutMs??300,f=e.mergeIndex??[],c=e.translations??[],o=e.autofocus??!1,E=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;const B=t instanceof HTMLElement?t:document.querySelector(t);B?this._pfs=new va({target:B,props:{base_path:u,page_size:r,reset_styles:s,show_images:l,show_sub_results:a,excerpt_length:n,process_result:i,process_term:d,show_empty_filters:_,open_filters:h,debounce_timeout_ms:m,merge_index:f,translations:c,autofocus:o,sort:E,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[u,r]of Object.entries(e))if(Array.isArray(r))for(let s of r)t[`${u}:${s}`]=!0;else t[`${u}:${r}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};export{Fa as PagefindUI}; diff --git a/about/comparison/index.html b/about/comparison/index.html new file mode 100644 index 0000000..d040c77 --- /dev/null +++ b/about/comparison/index.html @@ -0,0 +1,209 @@ + Comparison | pls + + Skip to content

Comparison

pls has the distinction of being an ls(1) replacement specifically +targeted a pro audience. This leads to different motivations, different +decisions, different choices and different defaults. This also gives us the +advantage of being able to provide features that are powerful but complex.

+

There are other ls(1) alternatives that have been around for longer and have +sizeable user bases.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ToolLanguageGitHub stars
exaRust many
ezaRust many
lsdRust many
colorlsRuby many
+

pls strives to provide all the features expected from these tools, and more. +For an idea, here is a comparison between pls and the most popular +alternatives, eza and its predecessor +exa.

+

Pros

+
    +
  • +

    eza hides files with a leading dot by default, an approach it inherits from +ls(1). pls dims or hides files based on their +importance, making it suitable for modern dev +workflows involving tooling configs.

    +
  • +
  • +

    eza uses arcane environment variables for customisation. pls uses +cascading YAML files to enable per-project configuration +that's also more readable, maintainable and ergonomic. You can also check +these config files into your VCS and share them with your team.

    +
  • +
  • +

    eza uses globs which limits the match to simple queries. pls uses +specs which match files using the full power of regex and +then provide both styling and icons for their matches. +These specs can also be cascaded.

    +
  • +
  • +

    eza output is very colorful, but limited to customisation using ANSI escape +codes. pls employs sparse color and formatting, to add meaning or context, +and these styles can be customised using English names or +even RGB notation.

    +
  • +
  • +

    pls has more metadata fields compared to eza. It +also allows the user to view some metadata fields in multiple ways (including +simultaneously), which eza cannot do.

    +
  • +
  • +

    eza provides filtering by glob matches and sorting by one field. pls +provides filtering (by regex or +type) and sorting (by multiple +selections out of over 18 bases ร— 2 directions).

    +
  • +
  • +

    eza can dim a small list of generated files. pls has a much more powerful +collapse feature that can render generated files +differently and can be extended with specs.

    +
  • +
  • +

    eza defaults to no icons, grid view, files mixed with folders and sorting by +name. pls defaults to showing icons, list view, folders listed first and +leading dots aligned and sorting by canonical name.

    +
  • +
+

Cons

+
    +
  • +

    eza's interface is much more compatible with ls(1) in the base case. A lot +of ls(1) options map 1:1 with eza. pls does not maintain compatibility +with ls(1) CLI flags.

    +
  • +
  • +

    eza is a mature product with a large contributor base. pls is a young +project with a novice ๐Ÿฆ€ Rustacean maintainer. +Contributions, both in code and as +sponsorship, are welcome!

    +
  • +
  • +

    The spec system pls uses might be slow when listing lots of files due to +its Cartesian product complexity. Also, pls lacks the speed optimisations +that a mature tool like eza has built over time.

    +
  • +
  • +

    eza can show if a file has extended attributes. pls opted not to do this +because it's not a common use case.

    +
  • +
  • +

    eza has a long grid view (which is a combination of pls 's +detail and grid views) that +are not yet present in pls .

    +
  • +
  • +

    eza has a tree mode that pls does not yet have.

    +
  • +
  • +

    eza supports Windows which pls does not yet do.

    +
  • +
\ No newline at end of file diff --git a/about/faq/index.html b/about/faq/index.html new file mode 100644 index 0000000..8f89a5a --- /dev/null +++ b/about/faq/index.html @@ -0,0 +1,140 @@ + FAQ | pls + + Skip to content

FAQ

Here are some questions you might have about pls , and the answers to those +questions.

+
+

Why the name pls ?

+

The name pls is a play on the ls(1) command. I picked it because it was +short, memorable and only one keypress away from +ls(1). If you prefer a different name you can always alias it.

+
Terminal window
alias rls="pls"
+
+

Does pls support Windows?

+

No. pls , being a tool for pros, favours operating systems that are popular +with those users, which Windows is not. This may change in the future if there +is considerable demand and there are +open-source contributions towards that goal.

+
+

Is pls a replacement for ls(1)?

+

No. pls is an alternative, not a replacement, for ls(1). It some more +features, prints prettier output and offers a lot of customisation, which make +it ideal for human usage, but for scripts, ls(1) is still a better choice +because it is tried, tested and trusted, not to mention ubiquitous.

+
+

Why build an ls(1) alternative?

+

IDEs and code editors use helpful UI patterns like icons and colors to +disambiguate files and provide more information about them like their file type +and VCS status. pls brings these features to the terminal.

+
+

Why build another ls(1) alternative?

+

None of the existing ls(1) alternatives have features that make pro workflows +easier or more pleasant. pls is the first ls(1) alternative that focuses +on the niche demographic of pros who will appreciate a powerful feature set and +deep customisation.

+
+

Why Rust and not <language>?

+

Rust is a good choice for CLI utilities because it enables them to be very +performant. The pros don't want to see lag in a core part of your workflow.

+

Before I learned Rust, pls was written in Python (which was another reason +it's called pls ). It seemed like a good fit at the time because it was +decently fast and easy to develop and distribute, but at a certain point Python +started becoming a speed bottleneck. The point being, give me a good reason, and +I'll rewrite it.

+
+

Is pls better than <alternative>?

+

pls makes no claim of being better than any other tool, although we do try! +Our claim is that pls is a better fit for developers and pros because it has +some powerful, and thus complex, features that not everyone will use. If another +tool has a feature you miss, feel free to open an issue or better yet, a pull +request! See how pls compares to other ls(1) +alternatives.

+
+

Is pls free?

+

pls is free in both senses of the word. It does not cost anything to +download and install and the source code is freely available to read, modify and +distribute. pls is licensed under version 3, or later, of the GNU +GPL.

\ No newline at end of file diff --git a/about/intro/index.html b/about/intro/index.html new file mode 100644 index 0000000..1890f41 --- /dev/null +++ b/about/intro/index.html @@ -0,0 +1,109 @@ + Introduction | pls + + Skip to content

Introduction

pls is a prettier and powerful ls(1) for the pros. It is a modern +alternative to ls(1), which has been around for over half a century.

+

For developers who spend a lot of time in the terminal, pls is a +game-changer. It brings a touch of joy to an essential and routine task you +perform hundreds of times a day. By utilising the full capabilities of a +terminal, pls can alleviate cognitive strain, making both tasks of exploring +your directories, and searching for specific files, effortless.

+

Features

+

pls is a prettier and powerful ls(1) for the pros. The "p" stands for:

+

Pretty

pls output is cleaner, friendlier and more colorful. Who doesn't like a +little color in their terminal?

Powerful

pls providers more features than the competition. It uses a cascading +config system with specs.

Performant

pls is speedy and performant (written in Rust). It continues to be fast +even with all features enabled.

Practical

pls has sensible defaults and an effortless interface. The CLI is +fluent, intuitive and memorable.

Petite

pls is a small, single-file, binary executable. It supports both Mac and +Linux.

Pliable

pls can be extensively tweaked by power users and pros. Personalise it +exactly how you like it.

Personable

pls prioritises consumption by humans over scripts. The output is pretty +and readable, by default.

+

You can refer to our comparison of pls to other +ls(1) alternatives, notably exa/eza.

+

More info

+

For more information, take a look at the FAQs. If your question +isn't answered there, feel free to start a +GitHub discussion.

\ No newline at end of file diff --git a/cookbooks/starters/index.html b/cookbooks/starters/index.html new file mode 100644 index 0000000..3d38300 --- /dev/null +++ b/cookbooks/starters/index.html @@ -0,0 +1,120 @@ + Starter configs | pls + + Skip to content

Starter configs

pls uses simple YAML-based config files. This makes it +easy to

+
    +
  • check these configs into VCS to ensure your teammates can enjoy them
  • +
  • back them up with the rest of your dotfiles
  • +
  • share them with others to help them get started
  • +
+

This page consists of some configs to get you started. If you have a config that +you'd like to share with others, please share with us.

+

Common files

+

Since pls comes with a very minimal configuration out-of-the-box, you can +use this to set up pls for most common file types.

+
icons:
pdf: "๎™ฝ" # nf-seti-pdf
image: "๏“ฅ" # nf-oct-image
audio: "๎˜ธ" # nf-seti-audio
video: "๏”ฌ" # nf-oct-video
text: "๎™Ž" # nf-seti-text
table: "๓ฐ“ซ" # nf-md-table
specs:
- pattern: \.pdf$
icon: pdf
- pattern: \.(txt|rtf)$
icon: text
- pattern: \.(csv|tsv)$
icon: table
- pattern: \.(mp3|wav|aac)$
icon: audio
- pattern: \.(png|jpg|bmp|webp)$
icon: image
- pattern: \.(mp4|mov|avi|mkv|webm)$
icon: video
+

Office

+

If you work with a lot of Microsoft Office apps, you can use this config to have +pretty and consistent icons for all your work files.

+
icons:
word: "๓ฑŽ’" # nf-md-microsoft_word
excel: "๓ฑŽ" # nf-md-microsoft_excel
powerpoint: "๓ฑŽ" # nf-md-microsoft_powerpoint
specs:
- pattern: \.docx?$
icon: word
- pattern: \.xlsx?$
icon: excel
- pattern: \.pptx?$
icon: powerpoint
+

Rust

+

pls being a Rust project, comes with the configuration for Rust projects +baked-in.

+

Python

+

If you build Python projects using Pipenv, Poetry or PDM, this config is for +you.

+
icons:
python: "๎˜†" # nf-seti-python
specs:
- pattern: \.py$
icon: python
style: rgb(255,212,59)
- pattern: requirements.*\.txt$
icon: lock
- pattern: ^(pyproject\.toml|Pipfile)$
icon: package
- pattern: ^(poetry|pdm)\.lock$
icon: lock
importance: -1
collapse:
name: pyproject.toml
- pattern: ^Pipfile.lock$
icon: lock
importance: -1
collapse:
name: Pipfile
+

Web development

+

If you build web applications without any of the major JavaScript frameworks, +this config is for you.

+
icons:
html: "๎˜Ž" # nf-seti-html
css: "๎˜”" # nf-seti-css
sass: "๎˜ƒ" # nf-seti-sass
less: "๎˜‹" # nf-seti-less
markdown: "๎บซ" # nf-fa-markdown
specs:
- pattern: \.md$
icon: markdown
- pattern: \.x?html?$
icon: html
style: rgb(255,212,59)
- pattern: \.s[ac]ss$
icon: sass
style: rgb(255,212,59)
- pattern: \.less$
icon: less
style: rgb(255,212,59)
- pattern: \.css$
icon: css
style: rgb(79,192,141)
collapse:
ext: scss
+

JavaScript/TypeScript

+

If you build JavaScript/TypeScript projects, this config is for you. It supports +npm and pnpm as package managers, and Vue and React frameworks as well. If you +use JavaScript for frontend development, you should also inherit the web dev +config above.

+
icons:
javascript: "๓ฐŒž" # nf-md-language_javascript
typescript: "๓ฐ›ฆ" # nf-md-language_typescript
vue: "๎š " # nf-seti-vue
react: "๎˜ฅ" # nf-seti-react
specs:
- pattern: \.ts$
icon: typescript
style: rgb(49,120,198)
- pattern: \.(c|m)?js$
icon: javascript
style: rgb(247,223,30)
collapse:
ext: ts
- pattern: \.vue$
icon: vue
style: rgb(79,192,141)
- pattern: \.(j|t)sx$
icon: react
style: rgb(97,218,251)
- pattern: ^package-lock\.json$
icon: package
- pattern: ^(pnpm-lock.yaml|package-lock.json)$
icon: lock
importance: -1
collapse:
name: package.json
\ No newline at end of file diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 0000000..7725187 --- /dev/null +++ b/favicon.svg @@ -0,0 +1,33 @@ + + + + + + + diff --git a/features/alignment/index.html b/features/alignment/index.html new file mode 100644 index 0000000..6478be4 --- /dev/null +++ b/features/alignment/index.html @@ -0,0 +1,106 @@ + Alignment | pls + + Skip to content

Alignment

pls performs slight tweaks to alignment to account for leading dots. When +alignment is enabled, the leading dots are moved one position to the left, so +that the actual file names are aligned. Also the leading dots are slightly +dimmed to reduce their visual prominence.

+

Arguments

+

--align/-a can be used to turn alignment on or off. File names are aligned +by default because usually it's the name that's important.

+

Examples

+
Terminal window
pls # or --align=true or -a=true
+

โ€‹๓ฐŠข .gitignore +๏’• LICENSE +๏‘„ .pls.yml +๏€ญ README.md

+ +
Terminal window
pls --align=false # or -a=false
+

โ€‹๓ฐŠข .gitignore +๏’• LICENSE +๏‘„ .pls.yml +๏€ญ README.md

+
\ No newline at end of file diff --git a/features/collapse/index.html b/features/collapse/index.html new file mode 100644 index 0000000..78666f8 --- /dev/null +++ b/features/collapse/index.html @@ -0,0 +1,129 @@ + Collapse | pls + + Skip to content

Collapse

In software development it is a common occurrence to have files that are +generated from other files.

+
    +
  • Lockfiles are generated from package manifests.
  • +
  • Source maps are generated from source code.
  • +
  • Classes are generated by compilers parsing the source code.
  • +
  • Code files are generated by transpilers converting code in another language.
  • +
+

pls has the novel ability for you to define the collapsing rules for these +derived files so that they are both listed together with their source, and also +depicted in a way that emphasises their dependency relationship.

+

pls can also nest collapsed nodes into other collapsed nodes, forming a full +tree of collapses.

+

Arguments

+

--collapse/-c can be used to turn collapsing on or off. pls enables this +collapsing behaviour by default.

+ +

Examples

+
Terminal window
pls # or --collapse=true or -c=true
+

โ€‹๏’‡ Cargo.toml +ย  โ””โ”€ ๏‘– Cargo.lock

+ +
Terminal window
pls --collapse=false # or -c=false
+

โ€‹๏‘– Cargo.lock +๏’‡ Cargo.toml

+ +

Configuration

+

Using the configuration system, you can both change the appearance of the tree +and also define additional rules for collapsing in addition to the built-in +ones.

+

Examples

+

Here is an example showing nested collapses. It uses simple ASCII characters to +render colorful collapse trees.

+
.pls.yml
app_const:
tree:
pipe_space: "<magenta>|</> "
space_space: " " # should be as wide as the other entries for alignment
tee_dash: "<green>+--</> "
bend_dash: "<blue>+--</> "
specs:
- pattern: ^\.?\w{1}$
icon: file
- pattern: b
collapse:
name: a
- pattern: c
collapse:
name: b
- pattern: \.d
collapse:
name: b
- pattern: e
collapse:
name: a
+

โ€‹ย  a +ย  +-- b +ย  | +-- c +ย  | +-- .d +ย  +-- e +๏‘„ .pls.yml

+
\ No newline at end of file diff --git a/features/colors/index.html b/features/colors/index.html new file mode 100644 index 0000000..5eceb8c --- /dev/null +++ b/features/colors/index.html @@ -0,0 +1,116 @@ + Colors | pls + + Skip to content

Colors

pls makes a lot of use of colors throughout the output. This makes it very +easy to grok the output and also makes it look pretty.

+

Environment

+

By default pls will display colors if the terminal supports it and will +disable colors if the output is being piped to another command.

+

pls also respects the NO_COLOR and CLICOLOR_FORCE environment variables +that can be used forcefully disable or enable colors respectively.

+ +

Examples

+
Terminal window
env NO_COLOR=true pls # or pls | cat
+

โ€‹Link# T Permissions User Group Size Modified Name +ย  2 d rwx r-x r-x runner docker 2024-Oct-07 12:26pm ๏ป dir/ +ย  1 l rwx rwx rwx runner docker 10.0 B 2024-Oct-07 12:26pm ๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +ย  1 l rwx rwx rwx runner docker 9.0 B 2024-Oct-07 12:26pm ๓ฐŒน char_dev@ ๓ฐ” /dev/null +ย  1 p rw- r-- r-- runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸฅ fifo| +ย  1 f rw- r-- r-- runner docker 1.0 MiB 2024-Oct-07 12:26pm file +ย  1 s rwx r-x r-x runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸจ socket= +ย  1 l rwx rwx rwx runner docker 5.0 B 2024-Oct-07 12:26pm ๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls # or env CLICOLOR_FORCE=true pls | cat
+

โ€‹Link# T Permissions User Group Size Modified Name +ย  2 d rwx r-x r-x runner docker 2024-Oct-07 12:26pm ๏ป dir/ +ย  1 l rwx rwx rwx runner docker 10.0 B 2024-Oct-07 12:26pm ๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +ย  1 l rwx rwx rwx runner docker 9.0 B 2024-Oct-07 12:26pm ๓ฐŒน char_dev@ ๓ฐ” /dev/null +ย  1 p rw- r-- r-- runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸฅ fifo| +ย  1 f rw- r-- r-- runner docker 1.0 MiB 2024-Oct-07 12:26pm file +ย  1 s rwx r-x r-x runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸจ socket= +ย  1 l rwx rwx rwx runner docker 5.0 B 2024-Oct-07 12:26pm ๓ฐŒน sym@ ๓ฐ” ./dir

+
\ No newline at end of file diff --git a/features/detail_view/index.html b/features/detail_view/index.html new file mode 100644 index 0000000..f3e7916 --- /dev/null +++ b/features/detail_view/index.html @@ -0,0 +1,533 @@ + Detail view | pls + + Skip to content

Detail view

pls can stat the nodes to derive more information, called metadata, about +them, which it can then present in a tabular format. This is called the detail +view.

+

Arguments

+

--det/-d can be used to select the detail columns the user wants to see, and +indirectly turn the detail view on or off. The detail view is considered to be +turned off if no detail field is chosen.

+

The --det/-d flag can be specified multiple times to enable multiple fields. +Each time it can take one of these values.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ValueDescriptionStandard
devdevice ID
inoinode number
nlinknumber of hard linksYes
typnode typeYes
permsymbolic permissionsYes
octoctal permissions
userowner user nameYes
uidowner user ID
groupowner group nameYes
gidowner group ID
sizestorage spaceYes
blocksnumber of blocks
btimecreated at; "b" for birth
ctimechanged at; originally meant "created at"
mtimemodified atYes
atimeaccessed at
gitGit status
noneshorthand: no details
stdshorthand: the standard set of details
allshorthand: all details
+

The column headers for the detail view can be toggled using the +--header/-H flag.

+ +

Mechanism

+

When parsing the --det/-d argument, values are read from the CLI, in order, +and added to a vector of fields till we encounter a shorthand value. If the +shorthand value is none, the vector is cleared. The other two shorthands are +expanded and added to the vector.

+
    +
  • std can be used to show the fields shown by ls(1) with the -l flag
  • +
  • all can be used to show every available metadata field
  • +
+

For example, consider the pls invocation below.

+
Terminal window
pls --det=dev --det=ino --det=none --det=std --det=git
+
    +
  • dev is added to the list.
  • +
  • ino is added to the list.
  • +
  • All entries so far are dropped when none is encountered.
  • +
  • nlink, typ, perm, user, group, size and mtime are added to the +list when std is encountered
  • +
  • git is added to the list.
  • +
+

The final set is thus nlink, typ, perm, user, group, size, mtime +and git. Since this is more than zero, pls will activate the detail view.

+

Examples

+
Terminal window
pls # or --det=none or -d=none
+

โ€‹๏ป dir/ +๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +๓ฐŒน char_dev@ ๓ฐ” /dev/null +๓ฐŸฅ fifo| +ย  file +๓ฐŸจ socket= +๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls --det=user --det=group # or -d=user -d=group
+

โ€‹User Group Name +runner docker ๏ป dir/ +runner docker ๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +runner docker ๓ฐŒน char_dev@ ๓ฐ” /dev/null +runner docker ๓ฐŸฅ fifo| +runner docker file +runner docker ๓ฐŸจ socket= +runner docker ๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls --det=std # or -d=std
+

โ€‹Link# T Permissions User Group Size Modified Name +ย  2 d rwx r-x r-x runner docker 2024-Oct-07 12:26pm ๏ป dir/ +ย  1 l rwx rwx rwx runner docker 10.0 B 2024-Oct-07 12:26pm ๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +ย  1 l rwx rwx rwx runner docker 9.0 B 2024-Oct-07 12:26pm ๓ฐŒน char_dev@ ๓ฐ” /dev/null +ย  1 p rw- r-- r-- runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸฅ fifo| +ย  1 f rw- r-- r-- runner docker 1.0 MiB 2024-Oct-07 12:26pm file +ย  1 s rwx r-x r-x runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸจ socket= +ย  1 l rwx rwx rwx runner docker 5.0 B 2024-Oct-07 12:26pm ๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls --det=all # or -d=all
+

โ€‹Device inode Link# T Permissions SUGO User UID Group GID Size Blocks Created Changed Modified Accessed Git Name +ย  2065 551545 2 d rwx r-x r-x 755 runner 1001 docker 127 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏ป dir/ +ย  2065 551759 1 l rwx rwx rwx 777 runner 1001 docker 127 10.0 B 0 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +ย  2065 551613 1 l rwx rwx rwx 777 runner 1001 docker 127 9.0 B 0 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๓ฐŒน char_dev@ ๓ฐ” /dev/null +ย  2065 551584 1 p rw- r-- r-- 644 runner 1001 docker 127 0.0 B 0 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๓ฐŸฅ fifo| +ย  2065 551763 1 f rw- r-- r-- 644 runner 1001 docker 127 1.0 MiB 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm file +ย  2065 551605 1 s rwx r-x r-x 755 runner 1001 docker 127 0.0 B 0 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๓ฐŸจ socket= +ย  2065 551580 1 l rwx rwx rwx 777 runner 1001 docker 127 5.0 B 0 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๓ฐŒน sym@ ๓ฐ” ./dir

+ +

Configuration

+

Each of the detail fields is deeply customisable. Read on to know more the +customisation options supported by each field.

+

Fields

+

dev - Device ID

+

This field can by styled by specifying entry_const.dev_style. pls does not +style this field by default, because a style would not add any meaning.

+

ino - Inode number

+

This field can by styled by specifying entry_const.ino_style. pls does not +style this field by default, because a style would not add any meaning.

+ +

This field can be styled different based on the type of the node and the number +of hard links the node has. pls allows files with more than one hard link +and directories with only one hard link to be styled differently because these +are peculiar cases. The opposite scenario is more common.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypenlinkStyle
file1entry_const.nlink_styles.file_sing
file>1entry_const.nlink_styles.file_plur
dir1entry_const.nlink_styles.dir_sing
dir>1entry_const.nlink_styles.dir_plur
+

typ - Node type character

+

pls allows you to completely change the type character to whatever makes you +think of the node's type.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeCharacter
Direntry_const.typ.dir.ch
Symlinkentry_const.typ.symlink.ch
FIFOentry_const.typ.fifo.ch
Socketentry_const.typ.socket.ch
Block deviceentry_const.typ.block_device.ch
Char deviceentry_const.typ.char_device.ch
Fileentry_const.typ.file.ch
Unknownentry_const.typ.unknown.ch
+

perm - Symbolic permissions

+

This field can by styled by specifying entry_const.perm_style. pls allows +individual customisation of each of the permission characters for read (r), +write (w), execute (x), special (s/S/t/T) and none (-).

+

| Bit | Style | | ------- | entry_const | | Read | +entry_const.perm_styles.read | | Write | entry_const.perm_styles.write | | +Execute | entry_const.perm_styles.execute | | Special | +entry_const.perm_styles.special | | None | entry_const.perm_styles.none |

+

oct - Octal permissions

+

An octal permission has either three (user, group, other) or four (special, plus +the previous three) digits. pls allows customisation of each of these digits +individually.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
DigitStyle
Specialentry_const.oct_styles.special
Userentry_const.oct_styles.user
Groupentry_const.oct_styles.group
Otherentry_const.oct_styles.other
+

user/uid - Owner user name/UID

+

pls styles the name or UID of the user that owns the node differently based +on whether the user is the current user or not. These styles apply identically +to the user name and the UID.

+ + + + + + + + + + + + + + + + + +
UserStyle
Currententry_const.user_styles.curr
Otherentry_const.user_styles.other
+

group/gid - Owner group name/GID

+

pls styles the name or GID of the group that owns the node differently based +on whether the current user belongs to the group or not. These styles apply +identically to the group name and the GID.

+ + + + + + + + + + + + + + + + + +
GroupStyle
Currententry_const.group_styles.curr
Otherentry_const.group_styles.other
+

size - Storage space

+

pls shows the size of the node in human readable format by default, while +allowing the user to choose between three unit systems. See +units for more information about unit systems.

+

You can style the three components of a size value independently. Ideally, you +want to emphasise magnitude and prefix and de-emphasise the base (which is +always "B" for bytes).

+ + + + + + + + + + + + + + + + + + + + + +
ComponentStyle
Magnitudeentry_const.size_styles.mag
Prefixentry_const.size_styles.prefix
Base unitentry_const.size_styles.base
+

blocks - Storage blocks

+

pls shows the total number of physical blocks of size 512 bytes actually +allocated on the disk for the node. This can be more than what the actual size +on disk indicates if the node has "holes".

+ +

This field can by styled by specifying entry_const.blocks_style. pls does +not style this field by default, because a style would not add any meaning.

+

btime/ctime/mtime/atime - Timestamps

+

pls can display the four common timestamps of a file. pls allows you to +choose the exact format in which you prefer the timestamps to be.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
TimestampFormat
Created atentry_const.timestamp_formats.btime
Changed atentry_const.timestamp_formats.ctime
Modified atentry_const.timestamp_formats.mtime
Accessed atentry_const.timestamp_formats.atime
+

The timestamp can use components from the time crate's +format description +freely mixed with markup tags.

+

git - Git status

+

๐Ÿšง This feature is a work in progress and will be coming in a future version.

+

Examples

+

Here is a custom config that approximately matches the output of +eza or exa at least for the +columns that they have in common with pls (pls has more, in case you +were wondering).

+
.pls.yml
entry_const:
dev_style: magenta
ino_style: magenta
nlink_styles:
file_sing: red bold
file_plur: red bold
dir_sing: red bold
dir_plur: red bold
typ:
dir:
ch: <bold cyan>d</>
symlink:
ch: <magenta>l</>
fifo:
ch: <yellow>|</>
socket:
ch: <green>s</>
char_device:
ch: <blue bg:green>b</>
block_device:
ch: <blue bg:yellow>c</>
file:
ch: "."
oct_styles:
special: magenta
user: magenta
group: magenta
other: magenta
user_styles:
curr: bold yellow
other: ""
group_styles:
curr: bold yellow
other: ""
size_styles:
mag: green bold
prefix: green
base: hidden
blocks_style: cyan
timestamp_formats:
btime: <blue>[day] [month repr:short] [hour repr:24]:[minute]</>
ctime: <blue>[day] [month repr:short] [hour repr:24]:[minute]</>
mtime: <blue>[day] [month repr:short] [hour repr:24]:[minute]</>
atime: <blue>[day] [month repr:short] [hour repr:24]:[minute]</>
app_const:
table:
header_style: clear
column_names:
dev: <underline>Device</>
ino: <underline>inode</>
nlink: <underline>Links</>
perm: <underline>Permissions</>
oct: <underline>Octal</>
user: <underline>User</>
uid: <underline>UID</>
group: <underline>Group</>
gid: <underline>GID</>
size: <underline>Size</>
blocks: <underline>Blocks</>
btime: <underline>Date Created</>
ctime: <underline>Date Changed</>
mtime: <underline>Date Modified</>
atime: <underline>Date Accessed</>
git: <underline>Git</>
name: <underline>Name</>
+

โ€‹Device inode Links T Permissions Octal User UID Group GID Size Blocks Date Created Date Changed Date Modified Date Accessed Git Name +ย  2065 551545 2 d rwx r-x r-x 755 runner 1001 docker 127 07 Oct 12:26 07 Oct 12:26 07 Oct 12:26 ๏ป dir/ +ย  2065 551759 1 l rwx rwx rwx 777 runner 1001 docker 127 10.0 0 07 Oct 12:26 07 Oct 12:26 07 Oct 12:26 ๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +ย  2065 551613 1 l rwx rwx rwx 777 runner 1001 docker 127 9.0 0 07 Oct 12:26 07 Oct 12:26 07 Oct 12:26 ๓ฐŒน char_dev@ ๓ฐ” /dev/null +ย  2065 551584 1 | rw- r-- r-- 644 runner 1001 docker 127 0.0 0 07 Oct 12:26 07 Oct 12:26 07 Oct 12:26 ๓ฐŸฅ fifo| +ย  2065 551763 1 . rw- r-- r-- 644 runner 1001 docker 127 1.0 Mi 8 07 Oct 12:26 07 Oct 12:26 07 Oct 12:26 file +ย  2065 551871 1 . rw- r-- r-- 644 runner 1001 docker 127 1.6 Ki 8 07 Oct 12:26 07 Oct 12:26 07 Oct 12:26 ๏‘„ .pls.yml +ย  2065 551605 1 s rwx r-x r-x 755 runner 1001 docker 127 0.0 0 07 Oct 12:26 07 Oct 12:26 07 Oct 12:26 ๓ฐŸจ socket= +ย  2065 551580 1 l rwx rwx rwx 777 runner 1001 docker 127 5.0 0 07 Oct 12:26 07 Oct 12:26 07 Oct 12:26 ๓ฐŒน sym@ ๓ฐ” ./dir

+
\ No newline at end of file diff --git a/features/direction/index.html b/features/direction/index.html new file mode 100644 index 0000000..1a1fbcd --- /dev/null +++ b/features/direction/index.html @@ -0,0 +1,111 @@ + Direction | pls + + Skip to content

Direction

In the grid view, pls can position nodes in one of two ways.

+
    +
  • +

    Down: pls will place nodes along a column and move on to the next column +once the current one has been filled with a specific number of rows.

    +
  • +
  • +

    Across: pls will place nodes along a row and move on to the next row once +the current one has been filled with a specific number of columns.

    +
  • +
+

Arguments

+

--down/-D can be used to turn the downward direction on or off. It is turned +off by default because writing row-wise requires fewer steps.

+ +

Examples

+
Terminal window
pls --grid=true # or --down=false or -D=false
+

โ€‹ย  file_abcd file_efgh +ย  file_ijkl ๓ฐŒน .file_mnop@

+ +
Terminal window
pls --grid=true --down=true # or -D=true
+

โ€‹ย  file_abcd file_ijkl +ย  file_efgh ๓ฐŒน .file_mnop@

+
\ No newline at end of file diff --git a/features/grid_view/index.html b/features/grid_view/index.html new file mode 100644 index 0000000..ab1b7af --- /dev/null +++ b/features/grid_view/index.html @@ -0,0 +1,118 @@ + Grid view | pls + + Skip to content

Grid view

pls can reduce the amount of vertical space taken by the output, thus +reducing the amount of strolling required, by placing the node names in a grid +instead of a column.

+

Arguments

+

--grid/-g can be used to turn the grid mode on or off. Grid mode is turned +off by default because it reduces the amount of info shown per file.

+

The direction of the grid can be changed with the +--down/-D flag.

+ + + +

All these incompatibilities are the reason why the grid view is not the default +view.

+

Examples

+
Terminal window
pls # or --grid=false or -g=false
+

โ€‹ย  file_abcd +ย  file_efgh +ย  file_ijkl +๓ฐŒน .file_mnop@ ๓ฐ” file_abcd

+ +
Terminal window
pls --grid=true # or -g=true
+

โ€‹ย  file_abcd file_efgh +ย  file_ijkl ๓ฐŒน .file_mnop@

+
\ No newline at end of file diff --git a/features/header/index.html b/features/header/index.html new file mode 100644 index 0000000..f8ad380 --- /dev/null +++ b/features/header/index.html @@ -0,0 +1,118 @@ + Header | pls + + Skip to content

Header

pls shows headers above columns to help understand the output better. If not +set, these headers intelligently appear when they are needed.

+

Arguments

+

--header/-H can be used to turn headers on or off. It is turned on by +default if the details view is enabled.

+ +

Examples

+
Terminal window
pls --det=std # or --header=true or -H=true
+

โ€‹Link# T Permissions User Group Size Modified Name +ย  2 d rwx r-x r-x runner docker 2024-Oct-07 12:26pm ๏ป dir/ +ย  1 l rwx rwx rwx runner docker 10.0 B 2024-Oct-07 12:26pm ๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +ย  1 l rwx rwx rwx runner docker 9.0 B 2024-Oct-07 12:26pm ๓ฐŒน char_dev@ ๓ฐ” /dev/null +ย  1 p rw- r-- r-- runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸฅ fifo| +ย  1 f rw- r-- r-- runner docker 1.0 MiB 2024-Oct-07 12:26pm file +ย  1 s rwx r-x r-x runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸจ socket= +ย  1 l rwx rwx rwx runner docker 5.0 B 2024-Oct-07 12:26pm ๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls --det=std --header=false # or -H=false
+

โ€‹2 d rwx r-x r-x runner docker 2024-Oct-07 12:26pm ๏ป dir/ +1 l rwx rwx rwx runner docker 10.0 B 2024-Oct-07 12:26pm ๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +1 l rwx rwx rwx runner docker 9.0 B 2024-Oct-07 12:26pm ๓ฐŒน char_dev@ ๓ฐ” /dev/null +1 p rw- r-- r-- runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸฅ fifo| +1 f rw- r-- r-- runner docker 1.0 MiB 2024-Oct-07 12:26pm file +1 s rwx r-x r-x runner docker 0.0 B 2024-Oct-07 12:26pm ๓ฐŸจ socket= +1 l rwx rwx rwx runner docker 5.0 B 2024-Oct-07 12:26pm ๓ฐŒน sym@ ๓ฐ” ./dir

+ +

Configuration

+

Using the configuration system, you can modify the column headers and change +their appearance using styling rules.

+

See the detail view configuration for an +example.

\ No newline at end of file diff --git a/features/icons/index.html b/features/icons/index.html new file mode 100644 index 0000000..678ce16 --- /dev/null +++ b/features/icons/index.html @@ -0,0 +1,141 @@ + Icons | pls + + Skip to content

Icons

pls shows pretty and helpful icons next to files by default. These icons can +help when visually searching for a specific type of file.

+

Arguments

+

--icon/-i can be used to turn icons on or off. Icons are shown by default +because they're so pretty and helpful.

+

Examples

+
Terminal window
pls # or --icon=true or -i=true
+

โ€‹๏ป dir/ +๓ฐŸฅ fifo| +๓ฐŠข .gitignore +๏‘„ .pls.yml +๏€ญ README.md +๓ฐŸจ socket= +๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls --icon=false # or -i=false
+

โ€‹ย dir/ +ย fifo| +.gitignore +.pls.yml +ย README.md +ย socket= +ย sym@ ๓ฐ” ./dir

+ +

Configuration

+

Using the configuration system, you can add more icons, in addition to the +default set included with pls , and change the default glyphs of built-in +icons.

+

Icons are defined in two steps.

+
    +
  1. +

    Map an icon name to a glyph.

    +

    If you map a built-in name, you can change default glyphs shown by pls +for that node. You can use the +Nerd Fonts reference to find your +preferred icons.

    +
  2. +
  3. +

    Associate file name patterns to icon names.

    +

    Refer to the specs guide to learn how to do that.

    +
  4. +
+

pls shows a default icon for some file types (like directory and symlink) +but comes with dormant mappings for every file type. See the example below for +how to enable the default icon or use a custom one.

+

Examples

+
.pls.yml
icons:
pls: "๓ฐฑซ" # Override the built-in glyph for 'pls'.
sock: "๓ฐ“š" # Define new icon-glyph mapping.
entry_const:
typ:
fifo:
icon: fifo # Enable and use the built-in glyph for FIFO pipes.
socket:
icon: sock # Enable and use a custom icon for sockets.
+

โ€‹๏ป dir/ +๓ฐŸฅ fifo| +๓ฐŠข .gitignore +๓ฐฑซ .pls.yml +๏€ญ README.md +๓ฐŸจ socket= +๓ฐŒน sym@ ๓ฐ” ./dir

+
\ No newline at end of file diff --git a/features/importance/index.html b/features/importance/index.html new file mode 100644 index 0000000..69e4454 --- /dev/null +++ b/features/importance/index.html @@ -0,0 +1,148 @@ + Importance | pls + + Skip to content

Importance

pls uses an importance system to both hide certain unimportant nodes as well +as emphasize certain important ones.

+

Each node has a default importance of -1 if it starts with a leading dot, and 0 +otherwise. This importance can be overridden using specs.

+

An importance scale maps importance levels to styling attributes. Any files with +importance below the scale are hidden.

+

Arguments

+

--imp/-I can be used to set the baseline importance level. This affects the +relative importance of all nodes. The default is 0. Setting a higher number will +reduce the importance level of nodes and hide more of them.

+

At --imp=-2, a node with importance -2 behaves as it has an importance of 0, a +node with importance -1 behaves as it has an importance of 1, and so on.

+ +

Examples

+
Terminal window
pls --imp=-2 # or -I=-2
+

โ€‹๏ป dir/ +๓ฐŠข .git/ +๏ˆ .github/ +ย  file +๏€ญ README.md +๏ src

+ +
Terminal window
pls --imp=-1 # or -I=-1
+

โ€‹๏ป dir/ +๓ฐŠข .git/ +๏ˆ .github/ +ย  file +๏€ญ README.md +๏ src

+ +
Terminal window
pls # or --imp=0 or -I=0
+

โ€‹๏ป dir/ +๏ˆ .github/ +ย  file +๏€ญ README.md +๏ src

+ +
Terminal window
pls --imp=1 # or -I=1
+

โ€‹๏ป dir/ + file +๏€ญ README.md +๏ src

+ +
Terminal window
pls --imp=2 # or -I=2
+

โ€‹๏€ญ README.md +๏ src

+ +
Terminal window
pls --imp=2 file # `--imp` has no effect
+

โ€‹ file

+ +

Configuration

+

Using the configuration system, you can extend the importance scale to higher or +lower levels and change the default styles applicable at each level.

+
.pls.yml
app_const:
imp_styles:
- [-2, "red"]
- [-1, "yellow"]
- [1, "green"]
- [2, "bright_magenta"]
+

โ€‹๏ป dir/ +๓ฐŠข .git/ +๏ˆ .github/ +ย  file +๏‘„ .pls.yml +๏€ญ README.md +๏ src

+
\ No newline at end of file diff --git a/features/name_filter/index.html b/features/name_filter/index.html new file mode 100644 index 0000000..a6f0b28 --- /dev/null +++ b/features/name_filter/index.html @@ -0,0 +1,113 @@ + Name filter | pls + + Skip to content

Name filter

pls allows the user to filter the contents by regex matching on names. Name +matching can be used to exclude the names that match a certain pattern or only +include the names that match a certain pattern. Both can be used in tandem to +perform very powerful filtering.

+

Arguments

+

--exclude/-e can be used to remove the files that match the given pattern. +--only/-o can be used to remove the files that do not match the given +pattern.

+ + +

Examples

+
Terminal window
pls # or --only='.*' --exclude='$^'
+

โ€‹๓ฐ‹ฉ a.jpg +๎š‹ a.rs +๓ฐ‹ฉ b.jpg +๎š‹ b.rs +๓ฐ‹ฉ c.jpeg +๎š‹ c.rs

+ +
Terminal window
pls --only='(a|c)' --exclude='\.jpe?g$'
+

โ€‹๎š‹ a.rs +๎š‹ c.rs

+ +
Terminal window
pls --exclude='\.jpe?g$' a.jpg # `--exclude` has no effect
+

โ€‹๓ฐ‹ฉ a.jpg

+
\ No newline at end of file diff --git a/features/sorting/index.html b/features/sorting/index.html new file mode 100644 index 0000000..8a67e50 --- /dev/null +++ b/features/sorting/index.html @@ -0,0 +1,227 @@ + Sorting | pls + + Skip to content

Sorting

pls offers the ability to sort the output in your preferred order by +choosing as many as you prefer from 18 bases ร— 2 directions per base.

+

Arguments

+

--sort/-s can be used to select the sort bases. The flag can be specified +multiple times to sort by multiple bases. Each time it can take one of these +values. All values except none can optionally suffixed with an underscore _ +to reverse their direction.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
devdevice ID
inoinode number
nlinknumber of hard links
typnode type
catnode category (directory or file)
useruser name
uiduser ID
groupgroup name
gidgroup ID
sizestorage space
blocksnumber of blocks
btimecreated at; "b" for birth
ctimechanged at; originally meant "created at"
mtimemodified at
atimeaccessed at
namenode name
cnamecanonical name (name in lower case with leading symbols stripped)
extfile extension
noneshorthand: no sorting
+

By default, pls sorts file by cat and cname, which means

+
    +
  • directories are listed before files (cat)
  • +
  • nodes are sorted by their canonical names (cname)
  • +
+

When sorting by multiple sort bases, the first listed basis is the primary sort +basis, the second is the tie-breaker for the first, the third is the tie-breaker +for the second and so on.

+ +

Mechanism

+

When parsing the --sort/-s flag, values are read from the CLI, in order, and +added to a vector of sort bases till we encounter the shorthand value none, +which clears the vector.

+

For example, consider the pls invocation below.

+
Terminal window
pls --sort=cat --sort=cname --sort=none --sort=mtime_
+
    +
  • cat is added to the list.
  • +
  • cname is added to the list.
  • +
  • All entries so far are dropped when none is encountered.
  • +
  • mtime_ is added to the list.
  • +
+

Examples

+
Terminal window
pls # or --sort=cat --sort=cname or -s=cat -s=cname
+

โ€‹๏ป dir_a/ +๏ป dir_c/ +๏ป dir_e/ +๎˜’ file_b.txt +๎˜’ file_d.txt +๎˜’ file_f.txt

+ +
Terminal window
pls --det=ino --det=typ --det=size --sort=cat_ --sort=size_ --sort=ino
+

โ€‹ inode T Size Name +554697 f 1.0 MiB ๎˜’ file_d.txt +551580 f 1.0 KiB ๎˜’ file_b.txt +554724 f 14.0 B ๎˜’ file_f.txt +551545 d ๏ป dir_a/ +554696 d ๏ป dir_c/ +554723 d ๏ป dir_e/

+ +

Here the --sort/-s arguments have this effect:

+
    +
  • cat_ sorts directories before files.
  • +
  • size_ sorts nodes by size in descending order.
  • +
  • ino sorts nodes by inode number in ascending order.
  • +
\ No newline at end of file diff --git a/features/suffixes/index.html b/features/suffixes/index.html new file mode 100644 index 0000000..cc2c3e4 --- /dev/null +++ b/features/suffixes/index.html @@ -0,0 +1,126 @@ + Suffixes | pls + + Skip to content

Suffixes

pls shows suffixes for many common file types. This is usually helpful to +identify file types by just looking at the name. The suffixes are generally +dimmed so as to not appear like they're actually a part of the file name.

+

Arguments

+

--suffix/-S can be used to turn suffixes on or off. Suffixes are shown by +default because of their utility.

+

Examples

+
Terminal window
pls # or --suffix=true or -S=true
+

โ€‹๏ป dir/ +๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +๓ฐŒน char_dev@ ๓ฐ” /dev/null +๓ฐŸฅ fifo| +ย  file +๓ฐŸจ socket= +๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls --suffix=false # or -S=false
+

โ€‹๏ป dir +๓ฐŒน block_dev ๓ฑžฃ /dev/disk0 +๓ฐŒน char_dev ๓ฐ” /dev/null +๓ฐŸฅ fifo +ย  file +๓ฐŸจ socket +๓ฐŒน sym ๓ฐ” ./dir

+ +

Configuration

+

Using the configuration system, you can add suffixes for more file types, in +addition to the default set included with pls , and change the existing +suffixes to your liking.

+

Examples

+
.pls.yml
entry_const:
typ:
file:
suffix: "<dimmed>!</>"
dir:
suffix: "<dimmed>></>"
symlink:
suffix: "<dimmed>โ†—</>"
fifo:
suffix: "<dimmed>-</>"
socket:
suffix: "<dimmed>โ†”</>"
char_device:
suffix: "<dimmed>๓ฐ—ง</>"
block_device:
suffix: "<dimmed>๏‘…</>"
+

โ€‹๏ป dir> +๓ฐŒน block_devโ†— ๓ฑžฃ /dev/disk0 +๓ฐŒน char_devโ†— ๓ฐ” /dev/null +๓ฐŸฅ fifo- +ย  file! +๏‘„ .pls.yml! +๓ฐŸจ socketโ†” +๓ฐŒน symโ†— ๓ฐ” ./dir

+
\ No newline at end of file diff --git a/features/symlinks/index.html b/features/symlinks/index.html new file mode 100644 index 0000000..0c3c211 --- /dev/null +++ b/features/symlinks/index.html @@ -0,0 +1,131 @@ + Symlinks | pls + + Skip to content

Symlinks

pls can trace symlinks to their targets, and in the process identify broken +or circular symlinks. pls will also expand chains of symlinks.

+

Arguments

+

--sym/-l can be used to turn symlink tracing on or off. It is turned on by +default but disabled in grid view due to space constraints.

+ +

Examples

+
Terminal window
pls # or --sym=true or -l=true
+

โ€‹๏ป dir/ +๓ฐŒน a@ ๓ฐ‘™ a +๓ฐŒน b@ ๓ฐ‘™ c +๓ฐŒน c@ ๓ฐ‘™ b +๓ฐŒน d@ ๓ฑžฃ nonexistent +๓ฐŒน e@ ๓ฐ” dir +๓ฐŒน f@ ๓ฐ” dir +๓ฐŒน g@ ๓ฐ” f ๓ฐ” dir

+ +
Terminal window
pls --sym=false # or -l=false
+

โ€‹๏ป dir/ +๓ฐŒน a@ +๓ฐŒน b@ +๓ฐŒน c@ +๓ฐŒน d@ +๓ฐŒน e@ +๓ฐŒน f@ +๓ฐŒน g@

+ +

Configuration

+

Using the configuration system, you can customise the symlink styles and arrows. +Note that for valid symlinks, the style is only applied to the arrow and not the +target.

+

Examples

+
.pls.yml
entry_const:
symlink:
ok:
sep: -->
style: green
broken:
sep: ~~>
style: red bold
cyclic:
sep: \<-> # '<' must be escaped
style: yellow italic
error:
sep: -x-
style: red italic
+

โ€‹๏ป dir/ +๓ฐŒน a@ <-> a +๓ฐŒน b@ <-> c +๓ฐŒน c@ <-> b +๓ฐŒน d@ ~~> nonexistent +๓ฐŒน e@ --> dir +๓ฐŒน f@ --> dir +๓ฐŒน g@ --> f --> dir +๏‘„ .pls.yml

+
\ No newline at end of file diff --git a/features/type_filter/index.html b/features/type_filter/index.html new file mode 100644 index 0000000..f763b14 --- /dev/null +++ b/features/type_filter/index.html @@ -0,0 +1,172 @@ + Type filter | pls + + Skip to content

Type filter

pls allows the user to only list specific node types in the output.

+

Arguments

+

--typ/-t can be used to select the node types the user wants to see. The +flag can be specified multiple times to enable multiple file types. Each time it +can take one of these values.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ValueDescription
dirregular folder
symlinksymbolic link
fifonamed pipe
socketfile-based socket
block_deviceblock special device file
char_devicecharacter special device file
fileregular file
noneshorthand: no node types
allshorthand: all node types
+ +

Mechanism

+

When parsing the --typ/-t flag, values are read from the CLI, in order, and +added to a vector of node types till we encounter a shorthand value. If the +shorthand value is none, the vector is cleared. If the shorthand value is +all, the vector is filled with all the node types.

+

For example, consider the pls invocation below.

+
Terminal window
pls --typ=symlink --typ=all --typ=none --typ=dir
+
    +
  • symlink is added to the list.
  • +
  • All the file types are added to the list, including the already existing +symlink.
  • +
  • All entries so far are dropped when none is encountered.
  • +
  • dir is added to the list.
  • +
+

The final set contains only dir and so pls will only list the directories.

+

Examples

+
Terminal window
pls # or --typ=all or --t=all
+

โ€‹๏ป dir/ +๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +๓ฐŒน char_dev@ ๓ฐ” /dev/null +๓ฐŸฅ fifo| +ย  file +๓ฐŸจ socket= +๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls --typ=dir --typ=symlink # or -t=dir -t=symlink
+

โ€‹๏ป dir/ +๓ฐŒน block_dev@ ๓ฑžฃ /dev/disk0 +๓ฐŒน char_dev@ ๓ฐ” /dev/null +๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls --typ=dir --typ=symlink fifo # `--typ` has no effect
+

โ€‹๓ฐŸฅ fifo|

+
\ No newline at end of file diff --git a/features/units/index.html b/features/units/index.html new file mode 100644 index 0000000..713c633 --- /dev/null +++ b/features/units/index.html @@ -0,0 +1,123 @@ + Units | pls + + Skip to content

Units

pls can show the sizes of files in three unit systems.

+
    +
  • binary, which uses higher powers of 2 such as 210 as kibi (Ki), +220 as mibi (Mi) etc.
  • +
  • decimal, which users higher powers of 10 such as 103 as kilo (k), +106 as mega (M) etc.
  • +
  • none, which lists the exact number of bytes (B) as is.
  • +
+

Arguments

+

--unit/-u can be used to set the unit system to use. pls uses the binary +unit system by default.

+ +

Examples

+
Terminal window
pls --det=size # or --unit=binary or --u=binary
+

โ€‹ Size Name +1.0 MiB a +1.0 MiB b +1.0 MiB c

+ +
Terminal window
pls --det=size --unit=decimal # or --u=decimal
+

โ€‹ Size Name +1.0 MB a +1.0 MB b +1.0 MB c

+ +
Terminal window
pls --det=size --unit=none # or --u=binary
+

โ€‹ Size Name +1048589 B a +1048589 B b +1048589 B c

+ +

Configuration

+

Using the configuration system, you can modify the appearance of size magnitude, +prefix and base unit.

+

See the detail view configuration for an +example.

\ No newline at end of file diff --git a/features/upcoming/index.html b/features/upcoming/index.html new file mode 100644 index 0000000..27b774f --- /dev/null +++ b/features/upcoming/index.html @@ -0,0 +1,115 @@ + Upcoming | pls + + Skip to content

Upcoming

pls is constantly evolving with new features added, existing ones refined +and bugs fixed. We have bold plans for pls to make it the best ls(1) +alternative out there. To that end, here are some features that pls could +support soon.

+
    +
  • +

    Git integration

    +

    Git integration is coming soon and will enable the following sub-features:

    + +
  • +
  • +

    Spec layers

    +

    Currently, custom specs always have higher precedence than built-in ones. +Defining specs in layers will enable them to be injected between, instead of +after, the built-in specs.

    +
  • +
  • +

    Feature parity

    +

    We are working on bringing feature parity between pls and +its competition.

    +
  • +
+

To make these features a reality, we need your help. If you are interested in +contributing to pls , please see the +contribution guide.

\ No newline at end of file diff --git a/guides/contribute/index.html b/guides/contribute/index.html new file mode 100644 index 0000000..5bf598f --- /dev/null +++ b/guides/contribute/index.html @@ -0,0 +1,129 @@ + Contribute | pls + + Skip to content

Contribute

pls accepts contributions in many forms, ranging from direct code +contributions to sponsorships.

+
    +
  • +

    Reporting bugs

    +

    Reporting bugs helps make pls more stable and reliable. If you find a bug, +or if something breaks, please +open an issue.

    +
  • +
  • +

    Suggesting features

    +

    pls aims to be a capable alternative to ls(1). If a feature you need is +absent from pls , please open an +issue.

    +
  • +
  • +

    Submitting code

    +

    We welcome your code contributions towards bug fixes, new features and other +enhancements at our +GitHub repository.

    +
  • +
  • +

    Writing docs

    +

    If you can improve this documentation, please do so. The docs are +co-located with the code +inside the docs/ directory.

    +
  • +
  • +

    Starring the repo

    +

    Be sure to star the GitHub repo as a gesture +of appreciation if pls is an improvement to your workflow.

    +
  • +
  • +

    Spreading the word

    +

    If you like pls , you should tell your friends, post about it to social +media and convince others to try it.

    +
  • +
  • +

    Sponsoring me

    +

    You can sponsor me, or another +contributor, to contribute to pls in any of the ways above.

    +
  • +
\ No newline at end of file diff --git a/guides/get_started/index.html b/guides/get_started/index.html new file mode 100644 index 0000000..b0dafda --- /dev/null +++ b/guides/get_started/index.html @@ -0,0 +1,196 @@ + Get started | pls + + Skip to content

Get started

Thanks for giving pls a try. We hope you like using it as much as we do.

+

Prerequisites

+ + +

Installation

+

These are the different ways you can install pls on your machine.

+ +

Homebrew

+

pls is available to install for macOS and Linux via our official Homebrew +tap. Currently pls is not available +through Homebrew core, but it is planned for the future.

+
Terminal window
brew install pls-rs/pls/pls
+

This command will fetch and install the latest release of pls from GitHub.

+

Build from source

+

If you have the Rust toolchain installed on your computer, you can build from +source locally for your operating system and architecture. Also, we welcome your +contributions!

+
Terminal window
cargo install --git https://github.com/pls-rs/pls
+

You can use --tag to install a specific version, The current latest version is +v0.0.0 . Or you can use --branch main to get the latest, unreleased +version.

+

Download binary

+

The CI + CD job compiles binaries for each supported OS on every code push. +Additionally, we also cut periodic releases from the main branch of the +repository. You can download the binary for your operating system and +architecture by following these steps.

+
    +
  1. +

    Download the binary file. You can either download the binary associated with +a release or a commit.

    +
      +
    • +

      Release

      +
        +
      1. Go to the GitHub Releases page +for pls .
      2. +
      3. Find the latest release +i.e. v0.0.0 .
      4. +
      5. Expand the "Assets" attached to the release.
      6. +
      +
    • +
    • +

      Commit

      +
        +
      1. Visit the page for pls 's +CI + CD workflow.
      2. +
      3. Click on the last successful workflow.
      4. +
      5. Scroll down to the "Artifacts" section.
      6. +
      +
    • +
    +
  2. +
  3. +

    Download the binary as per your operating system.

    +
      +
    • pls-x86_64-apple-darwin for macOS
    • +
    • pls-x86_64-unknown-linux-musl for Linux
    • +
    +
  4. +
  5. +

    Unzip the archive and find the single pls executable.

    +
  6. +
  7. +

    Place the executable on your $PATH. To do this, you can either add the +directory that contains it to the path, or move/symlink the binary to a +directory that is already on your $PATH.

    +
  8. +
+

Verification

+

You can check if pls was installed correctly and present on your $PATH by +running the following command. If you see a version number, you're good to go!

+
Terminal window
pls --version # or -V
+

pls 0.0.0

+

Usage

+

To run pls , type the following command into any terminal.

+
Terminal window
pls
+

By default, pls lists the contents of the current working directory, but you +can pass any number of different files or directories as +positional arguments.

+

If a directory path is passed, all the files and directories within that +directory are listed. This is useful to see what's in the folder. If a file path +is passed, only the file itself is listed. On its own, that's not very useful +except to see if that file exists. But with the +--det/-d flag, pls can display quite a lot of +metadata for the file.

+

Help

+

To see what pls is capable of, and how to use those features, check out the +built-in help. You can see the detailed help or a quick reference using the +--help/-h flags respectively.

+
Terminal window
pls --help # or -h
+ +

pls is a prettier and powerful ls for the pros. +ย  +Usage: pls [OPTIONS] [PATHS]... +...

+
\ No newline at end of file diff --git a/guides/markup/index.html b/guides/markup/index.html new file mode 100644 index 0000000..5ea2232 --- /dev/null +++ b/guides/markup/index.html @@ -0,0 +1,164 @@ + Markup | pls + + Skip to content

Markup

The terminal is a unique interface. It is purely text-based yet capable of +displaying colors and formatting, using ANSI escape codes. These codes are +difficult to remember and use, so pls uses a custom approach.

+

Markup

+

The markup language used by pls is similar to XML. The directives are +written inside < and > and wrapped around the text to style. The closing tag +always matches the last opened tag, regardless of the text inside it, so it's +customary to leave it blank.

+

You can use a single directive, or a combination of directives, separated by +spaces.

+
<bold>bold text</> <bold italic>bold italic text</>
+
bold text bold italic text
+

Tags can be nested inside each other and will be joined in order.

+
<bold><italic>bold italic text</> only bold text</>
+

bold italic text only bold text

+

To overwrite all outer tags and start a fresh context, use clear.

+
<bold><clear blue><clear>plain text</> only blue text</> only bold text</>
+
plain text only blue text only bold text
+

Directives

+

Styles

+

Terminals can style text in many ways. pls allows you to use any permutation +of these styles in your configs.

+
    +
  • blink
  • +
  • bold
  • +
  • dimmed
  • +
  • hidden
  • +
  • italic
  • +
  • reversed
  • +
  • strikethrough
  • +
  • underline
  • +
+ +

You can use a single style directive.

+
<bold>bold text</>
+
bold text
+

You can use any combination of style directives.

+
<bold italic underline strikethrough>BIUS text</>
+
BIUS text
+

Colors

+

Color support in terminals can range from 16 named colors to 16 million RGB +colors! pls allows you to use all the colors supported by your terminal.

+

Named

+

Named colors consist of 8 regular colors and 8 bright colors (one for each of +the regular ones).

+
    +
  • black
  • +
  • red
  • +
  • green
  • +
  • yellow
  • +
  • blue
  • +
  • magenta
  • +
  • cyan
  • +
  • white
  • +
+

To use the named colors in pls you can use the color name directly as a +directive in the tag.

+
<blue>blue text</>
+
blue text
+

To use the bright variant, you can prefix bright_ before the color name.

+ +
<bright_red>orange text</> <bright_magenta>violet text</>
+
orange text violet text
+

To use a color as the background, you can prefix bg: before the color name.

+
<bg:blue><black>black text</> <white>white text</></>
+
black text white text
+

True colors

+

pls also supports using RGB colors. These colors can be specified using a +triplet of three u8 numbers, each between 0 and 255, both inclusive.

+
<rgb(0,255,0)>pure green text</>
+
pure green text
+

To use a color as the background, you can prefix bg: before the color name.

+
<bg:rgb(255,0,0)><black>black text</> <white>white text</></>
+
black text white text
\ No newline at end of file diff --git a/guides/paths/index.html b/guides/paths/index.html new file mode 100644 index 0000000..b96acb1 --- /dev/null +++ b/guides/paths/index.html @@ -0,0 +1,160 @@ + Paths | pls + + Skip to content

Paths

First pls organises paths supplied as CLI arguments into groups of solo +files and individual directories. Then it prints each group one by one.

+
Terminal window
pls README.md Cargo.toml Cargo.lock src docs
+

โ€‹๏€ญ README.md +๏’‡ Cargo.toml +๏‘– Cargo.lock + +src: +๏ป args/ +ย  โ””โ”€ ๎š‹ args.rs +๏ป config/ +ย  โ””โ”€ ๎š‹ config.rs +๏ป enums/ +ย  โ””โ”€ ๎š‹ enums.rs +๏ป ext/ +ย  โ””โ”€ ๎š‹ ext.rs +๏ป fmt/ +ย  โ””โ”€ ๎š‹ fmt.rs +๏ป gfx/ +ย  โ””โ”€ ๎š‹ gfx.rs +๏ป models/ +ย  โ””โ”€ ๎š‹ models.rs +๏ป output/ +ย  โ””โ”€ ๎š‹ output.rs +๏ป traits/ +ย  โ””โ”€ ๎š‹ traits.rs +๏ป utils/ +ย  โ””โ”€ ๎š‹ utils.rs +๎š‹ exc.rs +๎š‹ main.rs +๏‘„ .pls.yml + +docs: +๏ป node_modules/ +๏ป public/ +๏ src/ + astro.config.mjs +๓ฐŠข .gitignore +๓ฐœŽ justfile +๎˜‹ package.json +ย  โ””โ”€ ๎˜‹ pnpm-lock.yaml +๏‘„ .pls.yml +๎˜‹ tsconfig.json

+ +

Solo files

+

The solo files group consists of all files supplied individually. These files +are collected into one group. Each of the files in this group comes with its own +separate configuration derived from .pls.yml files.

+

The special thing here is that the group also has its own configuration +determined from the common ancestor of all these files. This group-level +configuration sets top-level options such as table headings, box-drawing +characters and importance scales.

+

Consider the following filesystem tree:

+
file_group
โ”œโ”€โ”€ .pls.yml
โ”œโ”€โ”€ a
โ””โ”€โ”€ subdir
โ”œโ”€โ”€ .pls.yml
โ””โ”€โ”€ b
+
.pls.yml
app_const:
table:
header_style: red bold underline
entry_const:
user_styles:
curr: green bold
other: green bold
specs:
- pattern: ^a$
style: red underline
+
Terminal window
pls a ./../file_group/./subdir/a
+

โ€‹Link# T Permissions User Group Size Modified Name +ย  1 f rw- r-- r-- runner docker 0.0 B 2024-Oct-07 12:26pm a +ย  1 f rw- r-- r-- runner docker 0.0 B 2024-10-07 ./../file_group/./subdir/a

+ +

Note how both files retain their individual configurations for the row, but the +table settings come from the outer .pls.yml file. Also note that the file +names are shown exactly as they were passed on the command line.

+ +

By default, pls does not follow symlinks in the arguments provided to it. So +a symlink to a directory will be treated as a file input and will not list the +contents of the target directory.

+
Terminal window
pls sym
+

โ€‹๓ฐŒน sym@ ๓ฐ” ./dir

+ +
Terminal window
pls ./dir
+

โ€‹๏’• LICENSE +๏€ญ README.md

+
\ No newline at end of file diff --git a/guides/specs/index.html b/guides/specs/index.html new file mode 100644 index 0000000..7f78015 --- /dev/null +++ b/guides/specs/index.html @@ -0,0 +1,186 @@ + Specs | pls + + Skip to content

Specs

At its core, the output of pls is a list of nodes. Each node in the list has +a specific color, style and importance, all of which collectively determine how +it is rendered and displayed.

+

pls uses specs to match each node to its visual properties, using a powerful +regex matching system, which allows nodes to be matched by their name, extension +or even fragments of both.

+

Spec

+

A spec consists of four components, of which only the first is mandatory.

+
    +
  • +

    pattern: +regex::bytes::Regex

    +

    This is a regex pattern that will be compared against the node name. If the +node matches this regex, this spec will be associated with the node.

    +
  • +
  • +

    icon: String

    +

    This is the name, and not the actual glyph, of the icon to +use for nodes matching this spec. When specs cascade, the last defined icon +definition is used. If no specs match a node, the default icon for the node +type is used.

    +
  • +
  • +

    style: String

    +

    This is a markup directive that must be applied to the nodes +that match this spec. When specs cascade, their directives are combined with +latter rules overriding previous ones if they conflict.

    +
  • +
  • +

    importance: i8

    +

    This defines the importance level of the file and +overrides the default value (determined by the leading dot).

    +
  • +
  • +

    collapse: Collapse

    +
  • +
+

Collapse

+

The goal of collapsing is to indicate that a node is a derivative of another +adjacent node. Collapsing can be performed in two ways.

+
    +
  • +

    name

    +

    In this case, a node with a specific name is collapsed into another with a +specific name. For example, Cargo.lock collapses into Cargo.toml.

    +
  • +
  • +

    ext

    +

    In this case, every node with a specific extension is collapsed into another +node with the same stem but different extension. For example, index.js and +lib.js collapse into index.ts and lib.ts respectively.

    +
  • +
+

Configuration

+

Specs are configured in the .pls.yml file.

+

Examples

+

Consider a typical JavaScript project. When listing it with pls the output +is very plain. That's because pls ships with a very lean config out of the +box.

+
Terminal window
pls
+

โ€‹๏ src/ +๓ฐŠข .gitignore +๓ฐœŽ justfile +๎˜‹ package.json +๎˜‹ pnpm-lock.yaml +ย  prettier.config.js + .prettierignore +๏€ญ README.md +๎˜‹ tsconfig.json

+ +

But we can make some things better here.

+
    +
  • Use better icons for package.json and pnpm-lock.yaml.
  • +
  • Make pnpm-lock.yaml collapse into package.json.
  • +
  • Add icons for files related to Prettier.
  • +
  • Add icons and color for TypeScript and JavaScript files.
  • +
  • Make JavaScript files collapse into their corresponding TypeScript files.
  • +
  • Emphasise README.md and justfile as they are starting files.
  • +
+

Let's add a spec file to it.

+
.pls.yml
icons:
javascript: "๓ฐŒž" # nf-md-language_javascript
typescript: "๓ฐ›ฆ" # nf-md-language_typescript
specs:
- pattern: \.ts$
icon: typescript
style: rgb(49,120,198)
- pattern: \.js$
icon: javascript
style: rgb(247,223,30)
importance: -1
collapse:
ext: ts
- pattern: prettier
icon: broom
- pattern: ^package\.json$
icon: package
- pattern: ^pnpm-lock\.yaml$
icon: lock
importance: -1
collapse:
name: package.json
- pattern: ^(justfile|README.md)$
style: green bold
importance: 2
+

โ€‹๏ src/ +๓ฐŠข .gitignore +๓ฐœŽ justfile +๎˜‹ package.json +ย  โ””โ”€ ๎˜‹ pnpm-lock.yaml +๏‘„ .pls.yml + prettier.config.js + .prettierignore +๏€ญ README.md +๎˜‹ tsconfig.json

+ +
Terminal window
pls src/
+

โ€‹ index.ts +ย  โ””โ”€ index.js + lib.ts +ย  โ””โ”€ lib.js + no_child.ts + no_parent.js

+
\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..29e271e --- /dev/null +++ b/index.html @@ -0,0 +1,81 @@ + pls - a prettier and powerful `ls(1)` for the pros + + Skip to content

pls

pls is a prettier and powerful ls(1) for the pros.
Terminal window
pls --det all
+

โ€‹Device inode Link# T Permissions SUGO User UID Group GID Size Blocks Created Changed Modified Accessed Git Name +ย  2065 520355 5 d rwx r-x r-x 755 runner 1001 docker 127 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏ป docs/ +ย  2065 520539 4 d rwx r-x r-x 755 runner 1001 docker 127 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏ป examples/ +ย  2065 520335 5 d rwx r-x r-x 755 runner 1001 docker 127 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏ˆ .github/ +ย  2065 520758 3 d rwx r-x r-x 755 runner 1001 docker 127 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏ป pkg/ +ย  2065 520763 2 d rwx r-x r-x 755 runner 1001 docker 127 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏ป readme_assets/ +ย  2065 520765 12 d rwx r-x r-x 755 runner 1001 docker 127 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏ src/ +ย  2065 520352 1 f rw- r-- r-- 644 runner 1001 docker 127 1.9 KiB 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏’‡ Cargo.toml +ย  2065 520351 1 f rw- r-- r-- 644 runner 1001 docker 127 32.3 KiB 72 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm โ””โ”€ ๏‘– Cargo.lock +ย  2065 520334 1 f rw- r-- r-- 644 runner 1001 docker 127 124.0 B 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm .editorconfig +ย  2065 520346 1 f rw- r-- r-- 644 runner 1001 docker 127 153.0 B 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๓ฐŠข .gitignore +ย  2065 520757 1 f rw- r-- r-- 644 runner 1001 docker 127 1.7 KiB 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๓ฐœŽ justfile +ย  2065 520353 1 f rw- r-- r-- 644 runner 1001 docker 127 34.3 KiB 72 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏’• LICENSE +ย  2065 520347 1 f rw- r-- r-- 644 runner 1001 docker 127 642.0 B 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏‘„ .pls.yml +ย  2065 520348 1 f rw- r-- r-- 644 runner 1001 docker 127 2.1 KiB 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๎˜‹ .pre-commit-config.yaml +ย  2065 520762 1 f rw- r-- r-- 644 runner 1001 docker 127 43.0 B 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm prettier.config.mjs +ย  2065 520349 1 f rw- r-- r-- 644 runner 1001 docker 127 31.0 B 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm .prettierignore +ย  2065 520354 1 f rw- r-- r-- 644 runner 1001 docker 127 1.6 KiB 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๏€ญ README.md +ย  2065 520350 1 f rw- r-- r-- 644 runner 1001 docker 127 28.0 B 8 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm 2024-Oct-07 12:26pm ๎˜‹ .rustfmt.toml

+ +

pls is free and open-source software. If you find it useful, please +contribute. +

dhruvkb /pls
many 0.0.0
\ No newline at end of file diff --git a/pagefind/fragment/en_146f13c.pf_fragment b/pagefind/fragment/en_146f13c.pf_fragment new file mode 100644 index 0000000..90e643e Binary files /dev/null and b/pagefind/fragment/en_146f13c.pf_fragment differ diff --git a/pagefind/fragment/en_181861c.pf_fragment b/pagefind/fragment/en_181861c.pf_fragment new file mode 100644 index 0000000..09060aa Binary files /dev/null and b/pagefind/fragment/en_181861c.pf_fragment differ diff --git a/pagefind/fragment/en_232cc37.pf_fragment b/pagefind/fragment/en_232cc37.pf_fragment new file mode 100644 index 0000000..56625a3 Binary files /dev/null and b/pagefind/fragment/en_232cc37.pf_fragment differ diff --git a/pagefind/fragment/en_3be4099.pf_fragment b/pagefind/fragment/en_3be4099.pf_fragment new file mode 100644 index 0000000..71f85ac Binary files /dev/null and b/pagefind/fragment/en_3be4099.pf_fragment differ diff --git a/pagefind/fragment/en_44a3c31.pf_fragment b/pagefind/fragment/en_44a3c31.pf_fragment new file mode 100644 index 0000000..9578e99 Binary files /dev/null and b/pagefind/fragment/en_44a3c31.pf_fragment differ diff --git a/pagefind/fragment/en_45deeb3.pf_fragment b/pagefind/fragment/en_45deeb3.pf_fragment new file mode 100644 index 0000000..6d0c798 Binary files /dev/null and b/pagefind/fragment/en_45deeb3.pf_fragment differ diff --git a/pagefind/fragment/en_4ed3f7d.pf_fragment b/pagefind/fragment/en_4ed3f7d.pf_fragment new file mode 100644 index 0000000..8c200bc Binary files /dev/null and b/pagefind/fragment/en_4ed3f7d.pf_fragment differ diff --git a/pagefind/fragment/en_53426b6.pf_fragment b/pagefind/fragment/en_53426b6.pf_fragment new file mode 100644 index 0000000..308b6f6 Binary files /dev/null and b/pagefind/fragment/en_53426b6.pf_fragment differ diff --git a/pagefind/fragment/en_5763c57.pf_fragment b/pagefind/fragment/en_5763c57.pf_fragment new file mode 100644 index 0000000..63a3645 Binary files /dev/null and b/pagefind/fragment/en_5763c57.pf_fragment differ diff --git a/pagefind/fragment/en_79335aa.pf_fragment b/pagefind/fragment/en_79335aa.pf_fragment new file mode 100644 index 0000000..d465c53 Binary files /dev/null and b/pagefind/fragment/en_79335aa.pf_fragment differ diff --git a/pagefind/fragment/en_7ae8147.pf_fragment b/pagefind/fragment/en_7ae8147.pf_fragment new file mode 100644 index 0000000..8cb3e33 Binary files /dev/null and b/pagefind/fragment/en_7ae8147.pf_fragment differ diff --git a/pagefind/fragment/en_7b153cb.pf_fragment b/pagefind/fragment/en_7b153cb.pf_fragment new file mode 100644 index 0000000..5e13706 Binary files /dev/null and b/pagefind/fragment/en_7b153cb.pf_fragment differ diff --git a/pagefind/fragment/en_81c7fce.pf_fragment b/pagefind/fragment/en_81c7fce.pf_fragment new file mode 100644 index 0000000..3fce7a1 Binary files /dev/null and b/pagefind/fragment/en_81c7fce.pf_fragment differ diff --git a/pagefind/fragment/en_86652a2.pf_fragment b/pagefind/fragment/en_86652a2.pf_fragment new file mode 100644 index 0000000..dff1688 Binary files /dev/null and b/pagefind/fragment/en_86652a2.pf_fragment differ diff --git a/pagefind/fragment/en_941dc7f.pf_fragment b/pagefind/fragment/en_941dc7f.pf_fragment new file mode 100644 index 0000000..0f292df Binary files /dev/null and b/pagefind/fragment/en_941dc7f.pf_fragment differ diff --git a/pagefind/fragment/en_9527ab9.pf_fragment b/pagefind/fragment/en_9527ab9.pf_fragment new file mode 100644 index 0000000..12cbf2d Binary files /dev/null and b/pagefind/fragment/en_9527ab9.pf_fragment differ diff --git a/pagefind/fragment/en_9c7941e.pf_fragment b/pagefind/fragment/en_9c7941e.pf_fragment new file mode 100644 index 0000000..c6e4351 Binary files /dev/null and b/pagefind/fragment/en_9c7941e.pf_fragment differ diff --git a/pagefind/fragment/en_a3653fe.pf_fragment b/pagefind/fragment/en_a3653fe.pf_fragment new file mode 100644 index 0000000..f318e40 Binary files /dev/null and b/pagefind/fragment/en_a3653fe.pf_fragment differ diff --git a/pagefind/fragment/en_a60c7dc.pf_fragment b/pagefind/fragment/en_a60c7dc.pf_fragment new file mode 100644 index 0000000..e6dab66 Binary files /dev/null and b/pagefind/fragment/en_a60c7dc.pf_fragment differ diff --git a/pagefind/fragment/en_bdb5258.pf_fragment b/pagefind/fragment/en_bdb5258.pf_fragment new file mode 100644 index 0000000..22255d8 Binary files /dev/null and b/pagefind/fragment/en_bdb5258.pf_fragment differ diff --git a/pagefind/fragment/en_c8b5a5b.pf_fragment b/pagefind/fragment/en_c8b5a5b.pf_fragment new file mode 100644 index 0000000..9c99e08 Binary files /dev/null and b/pagefind/fragment/en_c8b5a5b.pf_fragment differ diff --git a/pagefind/fragment/en_d64bae7.pf_fragment b/pagefind/fragment/en_d64bae7.pf_fragment new file mode 100644 index 0000000..f8917cc Binary files /dev/null and b/pagefind/fragment/en_d64bae7.pf_fragment differ diff --git a/pagefind/fragment/en_d74118d.pf_fragment b/pagefind/fragment/en_d74118d.pf_fragment new file mode 100644 index 0000000..9c724c2 Binary files /dev/null and b/pagefind/fragment/en_d74118d.pf_fragment differ diff --git a/pagefind/fragment/en_ef684d5.pf_fragment b/pagefind/fragment/en_ef684d5.pf_fragment new file mode 100644 index 0000000..1cbc9de Binary files /dev/null and b/pagefind/fragment/en_ef684d5.pf_fragment differ diff --git a/pagefind/fragment/en_efaab45.pf_fragment b/pagefind/fragment/en_efaab45.pf_fragment new file mode 100644 index 0000000..d7b549d Binary files /dev/null and b/pagefind/fragment/en_efaab45.pf_fragment differ diff --git a/pagefind/fragment/en_faace91.pf_fragment b/pagefind/fragment/en_faace91.pf_fragment new file mode 100644 index 0000000..232df5e Binary files /dev/null and b/pagefind/fragment/en_faace91.pf_fragment differ diff --git a/pagefind/fragment/en_febbf4e.pf_fragment b/pagefind/fragment/en_febbf4e.pf_fragment new file mode 100644 index 0000000..3295c7d Binary files /dev/null and b/pagefind/fragment/en_febbf4e.pf_fragment differ diff --git a/pagefind/index/en_29a7866.pf_index b/pagefind/index/en_29a7866.pf_index new file mode 100644 index 0000000..0661532 Binary files /dev/null and b/pagefind/index/en_29a7866.pf_index differ diff --git a/pagefind/index/en_86642c1.pf_index b/pagefind/index/en_86642c1.pf_index new file mode 100644 index 0000000..b0dadfd Binary files /dev/null and b/pagefind/index/en_86642c1.pf_index differ diff --git a/pagefind/pagefind-entry.json b/pagefind/pagefind-entry.json new file mode 100644 index 0000000..b35eb3f --- /dev/null +++ b/pagefind/pagefind-entry.json @@ -0,0 +1 @@ +{"version":"1.1.1","languages":{"en":{"hash":"en_c2fd2bce7a","wasm":"en","page_count":27}}} \ No newline at end of file diff --git a/pagefind/pagefind-highlight.js b/pagefind/pagefind-highlight.js new file mode 100644 index 0000000..c823fbf --- /dev/null +++ b/pagefind/pagefind-highlight.js @@ -0,0 +1,1069 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// node_modules/mark.js/dist/mark.js +var require_mark = __commonJS({ + "node_modules/mark.js/dist/mark.js"(exports, module) { + (function(global, factory) { + typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.Mark = factory(); + })(exports, function() { + "use strict"; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { + return typeof obj; + } : function(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + var classCallCheck = function(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + var createClass = function() { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + return function(Constructor, protoProps, staticProps) { + if (protoProps) + defineProperties(Constructor.prototype, protoProps); + if (staticProps) + defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + var DOMIterator = function() { + function DOMIterator2(ctx) { + var iframes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + var exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; + var iframesTimeout = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 5e3; + classCallCheck(this, DOMIterator2); + this.ctx = ctx; + this.iframes = iframes; + this.exclude = exclude; + this.iframesTimeout = iframesTimeout; + } + createClass(DOMIterator2, [{ + key: "getContexts", + value: function getContexts() { + var ctx = void 0, filteredCtx = []; + if (typeof this.ctx === "undefined" || !this.ctx) { + ctx = []; + } else if (NodeList.prototype.isPrototypeOf(this.ctx)) { + ctx = Array.prototype.slice.call(this.ctx); + } else if (Array.isArray(this.ctx)) { + ctx = this.ctx; + } else if (typeof this.ctx === "string") { + ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx)); + } else { + ctx = [this.ctx]; + } + ctx.forEach(function(ctx2) { + var isDescendant = filteredCtx.filter(function(contexts) { + return contexts.contains(ctx2); + }).length > 0; + if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) { + filteredCtx.push(ctx2); + } + }); + return filteredCtx; + } + }, { + key: "getIframeContents", + value: function getIframeContents(ifr, successFn) { + var errorFn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() { + }; + var doc = void 0; + try { + var ifrWin = ifr.contentWindow; + doc = ifrWin.document; + if (!ifrWin || !doc) { + throw new Error("iframe inaccessible"); + } + } catch (e) { + errorFn(); + } + if (doc) { + successFn(doc); + } + } + }, { + key: "isIframeBlank", + value: function isIframeBlank(ifr) { + var bl = "about:blank", src = ifr.getAttribute("src").trim(), href = ifr.contentWindow.location.href; + return href === bl && src !== bl && src; + } + }, { + key: "observeIframeLoad", + value: function observeIframeLoad(ifr, successFn, errorFn) { + var _this = this; + var called = false, tout = null; + var listener = function listener2() { + if (called) { + return; + } + called = true; + clearTimeout(tout); + try { + if (!_this.isIframeBlank(ifr)) { + ifr.removeEventListener("load", listener2); + _this.getIframeContents(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + }; + ifr.addEventListener("load", listener); + tout = setTimeout(listener, this.iframesTimeout); + } + }, { + key: "onIframeReady", + value: function onIframeReady(ifr, successFn, errorFn) { + try { + if (ifr.contentWindow.document.readyState === "complete") { + if (this.isIframeBlank(ifr)) { + this.observeIframeLoad(ifr, successFn, errorFn); + } else { + this.getIframeContents(ifr, successFn, errorFn); + } + } else { + this.observeIframeLoad(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + } + }, { + key: "waitForIframes", + value: function waitForIframes(ctx, done) { + var _this2 = this; + var eachCalled = 0; + this.forEachIframe(ctx, function() { + return true; + }, function(ifr) { + eachCalled++; + _this2.waitForIframes(ifr.querySelector("html"), function() { + if (!--eachCalled) { + done(); + } + }); + }, function(handled) { + if (!handled) { + done(); + } + }); + } + }, { + key: "forEachIframe", + value: function forEachIframe(ctx, filter, each) { + var _this3 = this; + var end = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var ifr = ctx.querySelectorAll("iframe"), open = ifr.length, handled = 0; + ifr = Array.prototype.slice.call(ifr); + var checkEnd = function checkEnd2() { + if (--open <= 0) { + end(handled); + } + }; + if (!open) { + checkEnd(); + } + ifr.forEach(function(ifr2) { + if (DOMIterator2.matches(ifr2, _this3.exclude)) { + checkEnd(); + } else { + _this3.onIframeReady(ifr2, function(con) { + if (filter(ifr2)) { + handled++; + each(con); + } + checkEnd(); + }, checkEnd); + } + }); + } + }, { + key: "createIterator", + value: function createIterator(ctx, whatToShow, filter) { + return document.createNodeIterator(ctx, whatToShow, filter, false); + } + }, { + key: "createInstanceOnIframe", + value: function createInstanceOnIframe(contents) { + return new DOMIterator2(contents.querySelector("html"), this.iframes); + } + }, { + key: "compareNodeIframe", + value: function compareNodeIframe(node, prevNode, ifr) { + var compCurr = node.compareDocumentPosition(ifr), prev = Node.DOCUMENT_POSITION_PRECEDING; + if (compCurr & prev) { + if (prevNode !== null) { + var compPrev = prevNode.compareDocumentPosition(ifr), after = Node.DOCUMENT_POSITION_FOLLOWING; + if (compPrev & after) { + return true; + } + } else { + return true; + } + } + return false; + } + }, { + key: "getIteratorNode", + value: function getIteratorNode(itr) { + var prevNode = itr.previousNode(); + var node = void 0; + if (prevNode === null) { + node = itr.nextNode(); + } else { + node = itr.nextNode() && itr.nextNode(); + } + return { + prevNode, + node + }; + } + }, { + key: "checkIframeFilter", + value: function checkIframeFilter(node, prevNode, currIfr, ifr) { + var key = false, handled = false; + ifr.forEach(function(ifrDict, i) { + if (ifrDict.val === currIfr) { + key = i; + handled = ifrDict.handled; + } + }); + if (this.compareNodeIframe(node, prevNode, currIfr)) { + if (key === false && !handled) { + ifr.push({ + val: currIfr, + handled: true + }); + } else if (key !== false && !handled) { + ifr[key].handled = true; + } + return true; + } + if (key === false) { + ifr.push({ + val: currIfr, + handled: false + }); + } + return false; + } + }, { + key: "handleOpenIframes", + value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) { + var _this4 = this; + ifr.forEach(function(ifrDict) { + if (!ifrDict.handled) { + _this4.getIframeContents(ifrDict.val, function(con) { + _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb); + }); + } + }); + } + }, { + key: "iterateThroughNodes", + value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) { + var _this5 = this; + var itr = this.createIterator(ctx, whatToShow, filterCb); + var ifr = [], elements = [], node = void 0, prevNode = void 0, retrieveNodes = function retrieveNodes2() { + var _getIteratorNode = _this5.getIteratorNode(itr); + prevNode = _getIteratorNode.prevNode; + node = _getIteratorNode.node; + return node; + }; + while (retrieveNodes()) { + if (this.iframes) { + this.forEachIframe(ctx, function(currIfr) { + return _this5.checkIframeFilter(node, prevNode, currIfr, ifr); + }, function(con) { + _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function(ifrNode) { + return elements.push(ifrNode); + }, filterCb); + }); + } + elements.push(node); + } + elements.forEach(function(node2) { + eachCb(node2); + }); + if (this.iframes) { + this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb); + } + doneCb(); + } + }, { + key: "forEachNode", + value: function forEachNode(whatToShow, each, filter) { + var _this6 = this; + var done = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var contexts = this.getContexts(); + var open = contexts.length; + if (!open) { + done(); + } + contexts.forEach(function(ctx) { + var ready = function ready2() { + _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function() { + if (--open <= 0) { + done(); + } + }); + }; + if (_this6.iframes) { + _this6.waitForIframes(ctx, ready); + } else { + ready(); + } + }); + } + }], [{ + key: "matches", + value: function matches(element, selector) { + var selectors = typeof selector === "string" ? [selector] : selector, fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector; + if (fn) { + var match = false; + selectors.every(function(sel) { + if (fn.call(element, sel)) { + match = true; + return false; + } + return true; + }); + return match; + } else { + return false; + } + } + }]); + return DOMIterator2; + }(); + var Mark$1 = function() { + function Mark3(ctx) { + classCallCheck(this, Mark3); + this.ctx = ctx; + this.ie = false; + var ua = window.navigator.userAgent; + if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) { + this.ie = true; + } + } + createClass(Mark3, [{ + key: "log", + value: function log(msg) { + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "debug"; + var log2 = this.opt.log; + if (!this.opt.debug) { + return; + } + if ((typeof log2 === "undefined" ? "undefined" : _typeof(log2)) === "object" && typeof log2[level] === "function") { + log2[level]("mark.js: " + msg); + } + } + }, { + key: "escapeStr", + value: function escapeStr(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + }, { + key: "createRegExp", + value: function createRegExp(str) { + if (this.opt.wildcards !== "disabled") { + str = this.setupWildcardsRegExp(str); + } + str = this.escapeStr(str); + if (Object.keys(this.opt.synonyms).length) { + str = this.createSynonymsRegExp(str); + } + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + if (this.opt.diacritics) { + str = this.createDiacriticsRegExp(str); + } + str = this.createMergedBlanksRegExp(str); + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.createJoinersRegExp(str); + } + if (this.opt.wildcards !== "disabled") { + str = this.createWildcardsRegExp(str); + } + str = this.createAccuracyRegExp(str); + return str; + } + }, { + key: "createSynonymsRegExp", + value: function createSynonymsRegExp(str) { + var syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : "i", joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : ""; + for (var index in syn) { + if (syn.hasOwnProperty(index)) { + var value = syn[index], k1 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : this.escapeStr(value); + if (k1 !== "" && k2 !== "") { + str = str.replace(new RegExp("(" + this.escapeStr(k1) + "|" + this.escapeStr(k2) + ")", "gm" + sens), joinerPlaceholder + ("(" + this.processSynomyms(k1) + "|") + (this.processSynomyms(k2) + ")") + joinerPlaceholder); + } + } + } + return str; + } + }, { + key: "processSynomyms", + value: function processSynomyms(str) { + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + return str; + } + }, { + key: "setupWildcardsRegExp", + value: function setupWildcardsRegExp(str) { + str = str.replace(/(?:\\)*\?/g, function(val) { + return val.charAt(0) === "\\" ? "?" : ""; + }); + return str.replace(/(?:\\)*\*/g, function(val) { + return val.charAt(0) === "\\" ? "*" : ""; + }); + } + }, { + key: "createWildcardsRegExp", + value: function createWildcardsRegExp(str) { + var spaces = this.opt.wildcards === "withSpaces"; + return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*"); + } + }, { + key: "setupIgnoreJoinersRegExp", + value: function setupIgnoreJoinersRegExp(str) { + return str.replace(/[^(|)\\]/g, function(val, indx, original) { + var nextChar = original.charAt(indx + 1); + if (/[(|)\\]/.test(nextChar) || nextChar === "") { + return val; + } else { + return val + "\0"; + } + }); + } + }, { + key: "createJoinersRegExp", + value: function createJoinersRegExp(str) { + var joiner = []; + var ignorePunctuation = this.opt.ignorePunctuation; + if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) { + joiner.push(this.escapeStr(ignorePunctuation.join(""))); + } + if (this.opt.ignoreJoiners) { + joiner.push("\\u00ad\\u200b\\u200c\\u200d"); + } + return joiner.length ? str.split(/\u0000+/).join("[" + joiner.join("") + "]*") : str; + } + }, { + key: "createDiacriticsRegExp", + value: function createDiacriticsRegExp(str) { + var sens = this.opt.caseSensitive ? "" : "i", dct = this.opt.caseSensitive ? ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105", "A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010D", "C\xC7\u0106\u010C", "d\u0111\u010F", "D\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119", "E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012B", "I\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142", "L\u0141", "n\xF1\u0148\u0144", "N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014D", "O\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159", "R\u0158", "s\u0161\u015B\u0219\u015F", "S\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163", "T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016B", "U\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFF", "Y\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017A", "Z\u017D\u017B\u0179"] : ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010DC\xC7\u0106\u010C", "d\u0111\u010FD\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012BI\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142L\u0141", "n\xF1\u0148\u0144N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014DO\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159R\u0158", "s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016BU\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFFY\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017AZ\u017D\u017B\u0179"]; + var handled = []; + str.split("").forEach(function(ch) { + dct.every(function(dct2) { + if (dct2.indexOf(ch) !== -1) { + if (handled.indexOf(dct2) > -1) { + return false; + } + str = str.replace(new RegExp("[" + dct2 + "]", "gm" + sens), "[" + dct2 + "]"); + handled.push(dct2); + } + return true; + }); + }); + return str; + } + }, { + key: "createMergedBlanksRegExp", + value: function createMergedBlanksRegExp(str) { + return str.replace(/[\s]+/gmi, "[\\s]+"); + } + }, { + key: "createAccuracyRegExp", + value: function createAccuracyRegExp(str) { + var _this = this; + var chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF"; + var acc = this.opt.accuracy, val = typeof acc === "string" ? acc : acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = ""; + ls.forEach(function(limiter) { + lsJoin += "|" + _this.escapeStr(limiter); + }); + switch (val) { + case "partially": + default: + return "()(" + str + ")"; + case "complementary": + lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars)); + return "()([^" + lsJoin + "]*" + str + "[^" + lsJoin + "]*)"; + case "exactly": + return "(^|\\s" + lsJoin + ")(" + str + ")(?=$|\\s" + lsJoin + ")"; + } + } + }, { + key: "getSeparatedKeywords", + value: function getSeparatedKeywords(sv) { + var _this2 = this; + var stack = []; + sv.forEach(function(kw) { + if (!_this2.opt.separateWordSearch) { + if (kw.trim() && stack.indexOf(kw) === -1) { + stack.push(kw); + } + } else { + kw.split(" ").forEach(function(kwSplitted) { + if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) { + stack.push(kwSplitted); + } + }); + } + }); + return { + "keywords": stack.sort(function(a, b) { + return b.length - a.length; + }), + "length": stack.length + }; + } + }, { + key: "isNumeric", + value: function isNumeric(value) { + return Number(parseFloat(value)) == value; + } + }, { + key: "checkRanges", + value: function checkRanges(array) { + var _this3 = this; + if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== "[object Object]") { + this.log("markRanges() will only accept an array of objects"); + this.opt.noMatch(array); + return []; + } + var stack = []; + var last = 0; + array.sort(function(a, b) { + return a.start - b.start; + }).forEach(function(item) { + var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last), start = _callNoMatchOnInvalid.start, end = _callNoMatchOnInvalid.end, valid = _callNoMatchOnInvalid.valid; + if (valid) { + item.start = start; + item.length = end - start; + stack.push(item); + last = end; + } + }); + return stack; + } + }, { + key: "callNoMatchOnInvalidRanges", + value: function callNoMatchOnInvalidRanges(range, last) { + var start = void 0, end = void 0, valid = false; + if (range && typeof range.start !== "undefined") { + start = parseInt(range.start, 10); + end = start + parseInt(range.length, 10); + if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) { + valid = true; + } else { + this.log("Ignoring invalid or overlapping range: " + ("" + JSON.stringify(range))); + this.opt.noMatch(range); + } + } else { + this.log("Ignoring invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "checkWhitespaceRanges", + value: function checkWhitespaceRanges(range, originalLength, string) { + var end = void 0, valid = true, max = string.length, offset = originalLength - max, start = parseInt(range.start, 10) - offset; + start = start > max ? max : start; + end = start + parseInt(range.length, 10); + if (end > max) { + end = max; + this.log("End range automatically set to the max value of " + max); + } + if (start < 0 || end - start < 0 || start > max || end > max) { + valid = false; + this.log("Invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } else if (string.substring(start, end).replace(/\s+/g, "") === "") { + valid = false; + this.log("Skipping whitespace only range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "getTextNodes", + value: function getTextNodes(cb) { + var _this4 = this; + var val = "", nodes = []; + this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(node) { + nodes.push({ + start: val.length, + end: (val += node.textContent).length, + node + }); + }, function(node) { + if (_this4.matchesExclude(node.parentNode)) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, function() { + cb({ + value: val, + nodes + }); + }); + } + }, { + key: "matchesExclude", + value: function matchesExclude(el) { + return DOMIterator.matches(el, this.opt.exclude.concat(["script", "style", "title", "head", "html"])); + } + }, { + key: "wrapRangeInTextNode", + value: function wrapRangeInTextNode(node, start, end) { + var hEl = !this.opt.element ? "mark" : this.opt.element, startNode = node.splitText(start), ret = startNode.splitText(end - start); + var repl = document.createElement(hEl); + repl.setAttribute("data-markjs", "true"); + if (this.opt.className) { + repl.setAttribute("class", this.opt.className); + } + repl.textContent = startNode.textContent; + startNode.parentNode.replaceChild(repl, startNode); + return ret; + } + }, { + key: "wrapRangeInMappedTextNode", + value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) { + var _this5 = this; + dict.nodes.every(function(n, i) { + var sibl = dict.nodes[i + 1]; + if (typeof sibl === "undefined" || sibl.start > start) { + if (!filterCb(n.node)) { + return false; + } + var s = start - n.start, e = (end > n.end ? n.end : end) - n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e + n.start); + n.node = _this5.wrapRangeInTextNode(n.node, s, e); + dict.value = startStr + endStr; + dict.nodes.forEach(function(k, j) { + if (j >= i) { + if (dict.nodes[j].start > 0 && j !== i) { + dict.nodes[j].start -= e; + } + dict.nodes[j].end -= e; + } + }); + end -= e; + eachCb(n.node.previousSibling, n.start); + if (end > n.end) { + start = n.end; + } else { + return false; + } + } + return true; + }); + } + }, { + key: "wrapMatches", + value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this6 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + dict.nodes.forEach(function(node) { + node = node.node; + var match = void 0; + while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== "") { + if (!filterCb(match[matchIdx], node)) { + continue; + } + var pos = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + pos += match[i].length; + } + } + node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length); + eachCb(node.previousSibling); + regex.lastIndex = 0; + } + }); + endCb(); + }); + } + }, { + key: "wrapMatchesAcrossElements", + value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this7 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + var match = void 0; + while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") { + var start = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + start += match[i].length; + } + } + var end = start + match[matchIdx].length; + _this7.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(match[matchIdx], node); + }, function(node, lastIndex) { + regex.lastIndex = lastIndex; + eachCb(node); + }); + } + endCb(); + }); + } + }, { + key: "wrapRangeFromIndex", + value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) { + var _this8 = this; + this.getTextNodes(function(dict) { + var originalLength = dict.value.length; + ranges.forEach(function(range, counter) { + var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value), start = _checkWhitespaceRange.start, end = _checkWhitespaceRange.end, valid = _checkWhitespaceRange.valid; + if (valid) { + _this8.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(node, range, dict.value.substring(start, end), counter); + }, function(node) { + eachCb(node, range); + }); + } + }); + endCb(); + }); + } + }, { + key: "unwrapMatches", + value: function unwrapMatches(node) { + var parent = node.parentNode; + var docFrag = document.createDocumentFragment(); + while (node.firstChild) { + docFrag.appendChild(node.removeChild(node.firstChild)); + } + parent.replaceChild(docFrag, node); + if (!this.ie) { + parent.normalize(); + } else { + this.normalizeTextNode(parent); + } + } + }, { + key: "normalizeTextNode", + value: function normalizeTextNode(node) { + if (!node) { + return; + } + if (node.nodeType === 3) { + while (node.nextSibling && node.nextSibling.nodeType === 3) { + node.nodeValue += node.nextSibling.nodeValue; + node.parentNode.removeChild(node.nextSibling); + } + } else { + this.normalizeTextNode(node.firstChild); + } + this.normalizeTextNode(node.nextSibling); + } + }, { + key: "markRegExp", + value: function markRegExp(regexp, opt) { + var _this9 = this; + this.opt = opt; + this.log('Searching with expression "' + regexp + '"'); + var totalMatches = 0, fn = "wrapMatches"; + var eachCb = function eachCb2(element) { + totalMatches++; + _this9.opt.each(element); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + this[fn](regexp, this.opt.ignoreGroups, function(match, node) { + return _this9.opt.filter(node, match, totalMatches); + }, eachCb, function() { + if (totalMatches === 0) { + _this9.opt.noMatch(regexp); + } + _this9.opt.done(totalMatches); + }); + } + }, { + key: "mark", + value: function mark(sv, opt) { + var _this10 = this; + this.opt = opt; + var totalMatches = 0, fn = "wrapMatches"; + var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === "string" ? [sv] : sv), kwArr = _getSeparatedKeywords.keywords, kwArrLen = _getSeparatedKeywords.length, sens = this.opt.caseSensitive ? "" : "i", handler = function handler2(kw) { + var regex = new RegExp(_this10.createRegExp(kw), "gm" + sens), matches = 0; + _this10.log('Searching with expression "' + regex + '"'); + _this10[fn](regex, 1, function(term, node) { + return _this10.opt.filter(node, kw, totalMatches, matches); + }, function(element) { + matches++; + totalMatches++; + _this10.opt.each(element); + }, function() { + if (matches === 0) { + _this10.opt.noMatch(kw); + } + if (kwArr[kwArrLen - 1] === kw) { + _this10.opt.done(totalMatches); + } else { + handler2(kwArr[kwArr.indexOf(kw) + 1]); + } + }); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + if (kwArrLen === 0) { + this.opt.done(totalMatches); + } else { + handler(kwArr[0]); + } + } + }, { + key: "markRanges", + value: function markRanges(rawRanges, opt) { + var _this11 = this; + this.opt = opt; + var totalMatches = 0, ranges = this.checkRanges(rawRanges); + if (ranges && ranges.length) { + this.log("Starting to mark with the following ranges: " + JSON.stringify(ranges)); + this.wrapRangeFromIndex(ranges, function(node, range, match, counter) { + return _this11.opt.filter(node, range, match, counter); + }, function(element, range) { + totalMatches++; + _this11.opt.each(element, range); + }, function() { + _this11.opt.done(totalMatches); + }); + } else { + this.opt.done(totalMatches); + } + } + }, { + key: "unmark", + value: function unmark(opt) { + var _this12 = this; + this.opt = opt; + var sel = this.opt.element ? this.opt.element : "*"; + sel += "[data-markjs]"; + if (this.opt.className) { + sel += "." + this.opt.className; + } + this.log('Removal selector "' + sel + '"'); + this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(node) { + _this12.unwrapMatches(node); + }, function(node) { + var matchesSel = DOMIterator.matches(node, sel), matchesExclude = _this12.matchesExclude(node); + if (!matchesSel || matchesExclude) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, this.opt.done); + } + }, { + key: "opt", + set: function set$$1(val) { + this._opt = _extends({}, { + "element": "", + "className": "", + "exclude": [], + "iframes": false, + "iframesTimeout": 5e3, + "separateWordSearch": true, + "diacritics": true, + "synonyms": {}, + "accuracy": "partially", + "acrossElements": false, + "caseSensitive": false, + "ignoreJoiners": false, + "ignoreGroups": 0, + "ignorePunctuation": [], + "wildcards": "disabled", + "each": function each() { + }, + "noMatch": function noMatch() { + }, + "filter": function filter() { + return true; + }, + "done": function done() { + }, + "debug": false, + "log": window.console + }, val); + }, + get: function get$$1() { + return this._opt; + } + }, { + key: "iterator", + get: function get$$1() { + return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout); + } + }]); + return Mark3; + }(); + function Mark2(ctx) { + var _this = this; + var instance = new Mark$1(ctx); + this.mark = function(sv, opt) { + instance.mark(sv, opt); + return _this; + }; + this.markRegExp = function(sv, opt) { + instance.markRegExp(sv, opt); + return _this; + }; + this.markRanges = function(sv, opt) { + instance.markRanges(sv, opt); + return _this; + }; + this.unmark = function(opt) { + instance.unmark(opt); + return _this; + }; + return this; + } + return Mark2; + }); + } +}); + +// lib/highlight.ts +var import_mark = __toESM(require_mark(), 1); +var PagefindHighlight = class { + constructor(options = { + markContext: null, + highlightParam: "pagefind-highlight", + markOptions: { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }, + addStyles: true + }) { + var _a, _b; + const { highlightParam, markContext, markOptions, addStyles } = options; + this.highlightParam = highlightParam ?? "pagefind-highlight"; + this.addStyles = addStyles ?? true; + this.markContext = markContext !== void 0 ? markContext : null; + this.markOptions = markOptions !== void 0 ? markOptions : { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }; + (_a = this.markOptions).className ?? (_a.className = "pagefind__highlight"); + (_b = this.markOptions).exclude ?? (_b.exclude = [ + "[data-pagefind-ignore]", + "[data-pagefind-ignore] *" + ]); + this.markOptions.separateWordSearch = false; + this.highlight(); + } + getHighlightParams(paramName) { + const urlParams = new URLSearchParams(window.location.search); + return urlParams.getAll(paramName); + } + // Inline styles might be too hard to override + addHighlightStyles(className) { + if (!className) + return; + const styleElement = document.createElement("style"); + styleElement.innerText = `:where(.${className}) { background-color: yellow; color: black; }`; + document.head.appendChild(styleElement); + } + createMarkInstance() { + if (this.markContext) { + return new import_mark.default(this.markContext); + } + const pagefindBody = document.querySelectorAll("[data-pagefind-body]"); + if (pagefindBody.length !== 0) { + return new import_mark.default(pagefindBody); + } else { + return new import_mark.default(document.body); + } + } + markText(instance, text) { + instance.mark(text, this.markOptions); + } + highlight() { + const params = this.getHighlightParams(this.highlightParam); + if (!params || params.length === 0) + return; + this.addStyles && this.addHighlightStyles(this.markOptions.className); + const markInstance = this.createMarkInstance(); + this.markText(markInstance, params); + } +}; +window.PagefindHighlight = PagefindHighlight; +export { + PagefindHighlight as default +}; +/*! Bundled license information: + +mark.js/dist/mark.js: + (*!*************************************************** + * mark.js v8.11.1 + * https://markjs.io/ + * Copyright (c) 2014โ€“2018, Julian Kรผhnel + * Released under the MIT license https://git.io/vwTVl + *****************************************************) +*/ 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..43f738f --- /dev/null +++ b/pagefind/pagefind-modular-ui.js @@ -0,0 +1,8 @@ +(()=>{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 i{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 i?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=0;for(;document.querySelector(`#pfmod-input-${s}`);)s+=1;let n=new r("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});new r("label").attrs({for:`pfmod-input-${s}`,"data-pfmod-sr-hidden":"true"}).text("Search this site").addTo(n),this.inputEl=new r("input").id(`pfmod-input-${s}`).class("pagefind-modular-input").attrs({autocapitalize:"none",enterkeyhint:"search"}).addTo(n),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(n),n.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`
  • +
    +
    +

    ${i(30)}

    +

    ${i(40)}

    +
    +
  • `},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)},d=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 d({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,c)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(c[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,c)=>n[0].localeCompare(c[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 P=async(i=50)=>await new Promise(e=>setTimeout(e,i)),u;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(u=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1])}catch{u="/pagefind/"}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??u,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 P(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e;try{e=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindComposable Instance"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript?.src??"bad script location"}]`):console.error("no known script location")}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..d7984a9 --- /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)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"\2937 ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{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-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{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-4xnkmf.svelte-4xnkmf{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;outline: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, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3: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-e9gkc3{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-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * 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-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{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-e9gkc3{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-e9gkc3: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..b637f55 --- /dev/null +++ b/pagefind/pagefind-ui.js @@ -0,0 +1,2 @@ +(()=>{var bs=Object.defineProperty;var S=(n,e)=>{for(var t in e)bs(n,t,{get:e[t],enumerable:!0})};function z(){}function ft(n){return n()}function _n(){return Object.create(null)}function G(n){n.forEach(ft)}function $e(n){return typeof n=="function"}function K(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var Qe;function ie(n,e){return Qe||(Qe=document.createElement("a")),Qe.href=e,n===Qe.href}function fn(n){return Object.keys(n).length===0}var dn=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global,de=class{constructor(e){this.options=e,this._listeners="WeakMap"in dn?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return(e=this._observer)!==null&&e!==void 0?e:this._observer=new ResizeObserver(t=>{var s;for(let r of t)de.entries.set(r.target,r),(s=this._listeners.get(r.target))===null||s===void 0||s(r)})}};de.entries="WeakMap"in dn?new WeakMap:void 0;var hn=!1;function Ts(){hn=!0}function Cs(){hn=!1}function b(n,e){n.appendChild(e)}function y(n,e,t){n.insertBefore(e,t||null)}function k(n){n.parentNode&&n.parentNode.removeChild(n)}function Q(n,e){for(let t=0;tn.removeEventListener(e,t,s)}function E(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function ys(n){return Array.from(n.childNodes)}function N(n,e){e=""+e,n.data!==e&&(n.data=e)}function dt(n,e){n.value=e??""}function B(n,e,t){n.classList[t?"add":"remove"](e)}var et=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,s=null){this.e||(this.is_svg?this.e=ks(t.nodeName):this.e=C(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(s)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;tn.indexOf(s)===-1?e.push(s):t.push(s)),t.forEach(s=>s()),re=e}var xe=new Set,ee;function ae(){ee={r:0,c:[],p:ee}}function oe(){ee.r||G(ee.c),ee=ee.p}function D(n,e){n&&n.i&&(xe.delete(n),n.i(e))}function P(n,e,t,s){if(n&&n.o){if(xe.has(n))return;xe.add(n),ee.c.push(()=>{xe.delete(n),s&&(t&&n.d(1),s())}),n.o(e)}else s&&s()}function En(n,e){P(n,1,1,()=>{e.delete(n.key)})}function Rn(n,e,t,s,r,l,i,a,o,h,c,m){let p=n.length,d=l.length,_=p,u={};for(;_--;)u[n[_].key]=_;let f=[],T=new Map,R=new Map,M=[];for(_=d;_--;){let v=m(r,l,_),H=t(v),O=i.get(H);O?s&&M.push(()=>O.p(v,e)):(O=h(H,v),O.c()),T.set(H,f[_]=O),H in u&&R.set(H,Math.abs(_-u[H]))}let U=new Set,X=new Set;function V(v){D(v,1),v.m(a,c),i.set(v.key,v),c=v.first,d--}for(;p&&d;){let v=f[d-1],H=n[p-1],O=v.key,W=H.key;v===H?(c=v.first,p--,d--):T.has(W)?!i.has(O)||U.has(O)?V(v):X.has(W)?p--:R.get(O)>R.get(W)?(X.add(O),V(v)):(U.add(W),p--):(o(H,i),p--)}for(;p--;){let v=n[p];T.has(v.key)||o(v,i)}for(;d;)V(f[d-1]);return G(M),f}var ws=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],ma=new Set([...ws]);function bn(n,e,t){let s=n.$$.props[e];s!==void 0&&(n.$$.bound[s]=t,t(n.$$.ctx[s]))}function tt(n){n&&n.c()}function me(n,e,t,s){let{fragment:r,after_update:l}=n.$$;r&&r.m(e,t),s||_t(()=>{let i=n.$$.on_mount.map(ft).filter($e);n.$$.on_destroy?n.$$.on_destroy.push(...i):G(i),n.$$.on_mount=[]}),l.forEach(_t)}function ue(n,e){let t=n.$$;t.fragment!==null&&(vs(t.after_update),G(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Hs(n,e){n.$$.dirty[0]===-1&&(se.push(n),Ms(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{let _=d.length?d[0]:p;return h.ctx&&r(h.ctx[m],h.ctx[m]=_)&&(!h.skip_bound&&h.bound[m]&&h.bound[m](_),c&&Hs(n,m)),p}):[],h.update(),c=!0,G(h.before_update),h.fragment=s?s(h.ctx):!1,e.target){if(e.hydrate){Ts();let m=ys(e.target);h.fragment&&h.fragment.l(m),m.forEach(k)}else h.fragment&&h.fragment.c();e.intro&&D(n.$$.fragment),me(n,e.target,e.anchor,e.customElement),Cs(),gn()}fe(o)}var Fs;typeof HTMLElement=="function"&&(Fs=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:n}=this.$$;this.$$.on_disconnect=n.map(ft).filter($e);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(n,e,t){this[n]=t}disconnectedCallback(){G(this.$$.on_disconnect)}$destroy(){ue(this,1),this.$destroy=z}$on(n,e){if(!$e(e))return z;let t=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return t.push(e),()=>{let s=t.indexOf(e);s!==-1&&t.splice(s,1)}}$set(n){this.$$set&&!fn(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}});var q=class{$destroy(){ue(this,1),this.$destroy=z}$on(e,t){if(!$e(t))return z;let s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}$set(e){this.$$set&&!fn(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function I(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=97&&e<=122||e>=65&&e<=90}function $(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=48&&e<=57}function Z(n){return I(n)||$(n)}var Tn=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var pt={"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 Ns={}.hasOwnProperty;function nt(n,e={}){let t=Cn(),s=String(n),r=s.toLowerCase(),l=0;if(n==null)throw new Error("Expected string, got `"+n+"`");if(Ns.call(pt,r)){let a=pt[r];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof a=="string"?nt(a):(t[Tn.includes(r)?"regular":"irregular"]=s,t)}for(;I(r.charCodeAt(l))&&l<9;)l++;if(l>1&&l<9){if(t.language=s.slice(0,l),l<4){let a=0;for(;r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&!I(r.charCodeAt(l+4));){if(a>2)return i(l,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(s.slice(l+1,l+4)),l+=4,a++}}for(r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&I(r.charCodeAt(l+4))&&!I(r.charCodeAt(l+5))&&(t.script=s.slice(l+1,l+5),l+=5),r.charCodeAt(l)===45&&(I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&!I(r.charCodeAt(l+3))?(t.region=s.slice(l+1,l+3),l+=3):$(r.charCodeAt(l+1))&&$(r.charCodeAt(l+2))&&$(r.charCodeAt(l+3))&&!$(r.charCodeAt(l+4))&&(t.region=s.slice(l+1,l+4),l+=4));r.charCodeAt(l)===45;){let a=l+1,o=a;for(;Z(r.charCodeAt(o));){if(o-a>7)return i(o,1,"Too long variant, expected at most 8 characters");o++}if(o-a>4||o-a>3&&$(r.charCodeAt(a)))t.variants.push(s.slice(a,o)),l=o;else break}for(;r.charCodeAt(l)===45&&!(r.charCodeAt(l+1)===120||!Z(r.charCodeAt(l+1))||r.charCodeAt(l+2)!==45||!Z(r.charCodeAt(l+3)));){let a=l+2,o=0;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1))&&Z(r.charCodeAt(a+2));){let h=a+1;for(a=h+2,o++;Z(r.charCodeAt(a));){if(a-h>7)return i(a,2,"Too long extension, expected at most 8 characters");a++}}if(!o)return i(a,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:s.charAt(l+1),extensions:s.slice(l+3,a).split("-")}),l=a}}else l=0;if(l===0&&r.charCodeAt(l)===120||r.charCodeAt(l)===45&&r.charCodeAt(l+1)===120){l=l?l+2:1;let a=l;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1));){let o=l+1;for(a=o;Z(r.charCodeAt(a));){if(a-o>7)return i(a,5,"Too long private-use area, expected at most 8 characters");a++}t.privateuse.push(s.slice(l+1,a)),l=a}}if(l!==s.length)return i(l,6,"Found superfluous content after tag");return t;function i(a,o,h){return e.warning&&e.warning(h,o,a),e.forgiving?t:Cn()}}function Cn(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function kn(n,e,t){let s=n.slice();return s[8]=e[t][0],s[9]=e[t][1],s}function Os(n){let e,t,s,r,l,i=n[0]&&yn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[3](30)}`,r=A(),l=C("p"),l.textContent=`${n[3](40)}`,E(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),E(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),E(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(a,o){i&&i.m(a,o),y(a,e,o),y(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=yn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function js(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,h,c=n[1].excerpt+"",m,p=n[0]&&Sn(n),d=n[2].length&&An(n);return{c(){p&&p.c(),e=A(),t=C("div"),s=C("p"),r=C("a"),i=w(l),o=A(),h=C("p"),m=A(),d&&d.c(),E(r,"class","pagefind-ui__result-link svelte-j9e30"),E(r,"href",a=n[1].meta?.url||n[1].url),E(s,"class","pagefind-ui__result-title svelte-j9e30"),E(h,"class","pagefind-ui__result-excerpt svelte-j9e30"),E(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(_,u){p&&p.m(_,u),y(_,e,u),y(_,t,u),b(t,s),b(s,r),b(r,i),b(t,o),b(t,h),h.innerHTML=c,b(t,m),d&&d.m(t,null)},p(_,u){_[0]?p?p.p(_,u):(p=Sn(_),p.c(),p.m(e.parentNode,e)):p&&(p.d(1),p=null),u&2&&l!==(l=_[1].meta?.title+"")&&N(i,l),u&2&&a!==(a=_[1].meta?.url||_[1].url)&&E(r,"href",a),u&2&&c!==(c=_[1].excerpt+"")&&(h.innerHTML=c),_[2].length?d?d.p(_,u):(d=An(_),d.c(),d.m(t,null)):d&&(d.d(1),d=null)},d(_){p&&p.d(_),_&&k(e),_&&k(t),d&&d.d()}}}function yn(n){let e;return{c(){e=C("div"),E(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,s){y(t,e,s)},d(t){t&&k(e)}}}function Sn(n){let e,t=n[1].meta.image&&Mn(n);return{c(){e=C("div"),t&&t.c(),E(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(s,r){y(s,e,r),t&&t.m(e,null)},p(s,r){s[1].meta.image?t?t.p(s,r):(t=Mn(s),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(s){s&&k(e),t&&t.d()}}}function Mn(n){let e,t,s;return{c(){e=C("img"),E(e,"class","pagefind-ui__result-image svelte-j9e30"),ie(e.src,t=n[1].meta?.image)||E(e,"src",t),E(e,"alt",s=n[1].meta?.image_alt||n[1].meta?.title)},m(r,l){y(r,e,l)},p(r,l){l&2&&!ie(e.src,t=r[1].meta?.image)&&E(e,"src",t),l&2&&s!==(s=r[1].meta?.image_alt||r[1].meta?.title)&&E(e,"alt",s)},d(r){r&&k(e)}}}function An(n){let e,t=n[2],s=[];for(let r=0;rn.toLocaleUpperCase();function Ds(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],h=async m=>{t(1,a=await m.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([p])=>!i.includes(p)))},c=(m=30)=>". ".repeat(Math.floor(10+Math.random()*m));return n.$$set=m=>{"show_images"in m&&t(0,s=m.show_images),"process_result"in m&&t(4,r=m.process_result),"result"in m&&t(5,l=m.result)},n.$$.update=()=>{if(n.$$.dirty&32)e:h(l)},[s,a,o,c,r,l]}var gt=class extends q{constructor(e){super(),Y(this,e,Ds,zs,K,{show_images:0,process_result:4,result:5})}},Hn=gt;function Fn(n,e,t){let s=n.slice();return s[11]=e[t][0],s[12]=e[t][1],s}function Nn(n,e,t){let s=n.slice();return s[15]=e[t],s}function Us(n){let e,t,s,r,l,i=n[0]&&On(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[5](30)}`,r=A(),l=C("p"),l.textContent=`${n[5](40)}`,E(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),E(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),E(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(a,o){i&&i.m(a,o),y(a,e,o),y(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=On(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Is(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,h,c,m=n[0]&&jn(n),p=n[4]&&Dn(n),d=n[3],_=[];for(let f=0;fn.toLocaleUpperCase();function Ls(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],h=[],c=!1,m=(_,u)=>{if(_.length<=u)return _;let f=[..._].sort((T,R)=>R.locations.length-T.locations.length).slice(0,3).map(T=>T.url);return _.filter(T=>f.includes(T.url))},p=async _=>{t(1,a=await _.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([u])=>!i.includes(u))),Array.isArray(a.sub_results)&&(t(4,c=a.sub_results?.[0]?.url===(a.meta?.url||a.url)),c?t(3,h=m(a.sub_results.slice(1),3)):t(3,h=m([...a.sub_results],3)))},d=(_=30)=>". ".repeat(Math.floor(10+Math.random()*_));return n.$$set=_=>{"show_images"in _&&t(0,s=_.show_images),"process_result"in _&&t(6,r=_.process_result),"result"in _&&t(7,l=_.result)},n.$$.update=()=>{if(n.$$.dirty&128)e:p(l)},[s,a,o,h,c,d,r,l]}var Et=class extends q{constructor(e){super(),Y(this,e,Ls,Ps,K,{show_images:0,process_result:6,result:7})}},qn=Et;function Bn(n,e,t){let s=n.slice();return s[10]=e[t][0],s[11]=e[t][1],s[12]=e,s[13]=t,s}function Vn(n,e,t){let s=n.slice();return s[14]=e[t][0],s[15]=e[t][1],s[16]=e,s[17]=t,s}function Wn(n){let e,t,s=n[4]("filters_label",n[5],n[6])+"",r,l,i=Object.entries(n[1]),a=[];for(let o=0;on.toLocaleUpperCase(),Zn=n=>n.toLowerCase();function Bs(n,e,t){let{available_filters:s=null}=e,{show_empty_filters:r=!0}=e,{open_filters:l=[]}=e,{translate:i=()=>""}=e,{automatic_translations:a={}}=e,{translations:o={}}=e,{selected_filters:h={}}=e,c=!1,m=!1;function p(d,_){h[`${d}:${_}`]=this.checked,t(0,h)}return n.$$set=d=>{"available_filters"in d&&t(1,s=d.available_filters),"show_empty_filters"in d&&t(2,r=d.show_empty_filters),"open_filters"in d&&t(3,l=d.open_filters),"translate"in d&&t(4,i=d.translate),"automatic_translations"in d&&t(5,a=d.automatic_translations),"translations"in d&&t(6,o=d.translations),"selected_filters"in d&&t(0,h=d.selected_filters)},n.$$.update=()=>{if(n.$$.dirty&258){e:if(s&&!c){t(8,c=!0);let d=Object.entries(s||{});d.length===1&&Object.entries(d[0][1])?.length<=6&&t(7,m=!0)}}},[h,s,r,l,i,a,o,m,c,p]}var Rt=class extends q{constructor(e){super(),Y(this,e,Bs,qs,K,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},Xn=Rt;var bt={};S(bt,{comments:()=>Ws,default:()=>Js,direction:()=>Gs,strings:()=>Ks,thanks_to:()=>Vs});var Vs="Jan Claasen ",Ws="",Gs="ltr",Ks={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]"},Js={thanks_to:Vs,comments:Ws,direction:Gs,strings:Ks};var Tt={};S(Tt,{comments:()=>Zs,default:()=>xs,direction:()=>Xs,strings:()=>Qs,thanks_to:()=>Ys});var Ys="Maruf Alom ",Zs="",Xs="ltr",Qs={placeholder:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",clear_search:"\u09AE\u09C1\u099B\u09C7 \u09AB\u09C7\u09B2\u09C1\u09A8",load_more:"\u0986\u09B0\u09CB \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09C1\u09A8",search_label:"\u098F\u0987 \u0993\u09DF\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7 \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",filters_label:"\u09AB\u09BF\u09B2\u09CD\u099F\u09BE\u09B0",zero_results:"[SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF",many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",alt_search:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF. \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09C7 [DIFFERENT_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u09A6\u09C7\u0996\u09BE\u09A8\u09CB \u09B9\u099A\u09CD\u099B\u09C7",search_suggestion:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u09AC\u09BF\u09B7\u09DF\u09C7. \u09A8\u09BF\u09A8\u09CD\u09AE\u09C7\u09B0 \u09AC\u09BF\u09B7\u09DF\u09AC\u09B8\u09CD\u09A4\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09A6\u09C7\u0996\u09C1\u09A8:",searching:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u099A\u09B2\u099B\u09C7 [SEARCH_TERM]..."},xs={thanks_to:Ys,comments:Zs,direction:Xs,strings:Qs};var Ct={};S(Ct,{comments:()=>er,default:()=>sr,direction:()=>tr,strings:()=>nr,thanks_to:()=>$s});var $s="Pablo Villaverde ",er="",tr="ltr",nr={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]..."},sr={thanks_to:$s,comments:er,direction:tr,strings:nr};var kt={};S(kt,{comments:()=>lr,default:()=>or,direction:()=>ir,strings:()=>ar,thanks_to:()=>rr});var rr="Dalibor Hon ",lr="",ir="ltr",ar={placeholder:"Hledat",clear_search:"Smazat",load_more:"Na\u010D\xEDst dal\u0161\xED v\xFDsledky",search_label:"Prohledat tuto str\xE1nku",filters_label:"Filtry",zero_results:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]",many_results:"[COUNT] v\xFDsledk\u016F pro [SEARCH_TERM]",one_result:"[COUNT] v\xFDsledek pro [SEARCH_TERM]",alt_search:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Zobrazuj\xED se v\xFDsledky pro [DIFFERENT_TERM]",search_suggestion:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Souvisej\xEDc\xED v\xFDsledky hled\xE1n\xED:",searching:"Hled\xE1m [SEARCH_TERM]..."},or={thanks_to:rr,comments:lr,direction:ir,strings:ar};var yt={};S(yt,{comments:()=>cr,default:()=>dr,direction:()=>_r,strings:()=>fr,thanks_to:()=>ur});var ur="Jonas Smedegaard ",cr="",_r="ltr",fr={placeholder:"S\xF8g",clear_search:"Nulstil",load_more:"Indl\xE6s flere resultater",search_label:"S\xF8g p\xE5 dette website",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 et af disse s\xF8geord i stedet:",searching:"S\xF8ger efter [SEARCH_TERM]..."},dr={thanks_to:ur,comments:cr,direction:_r,strings:fr};var St={};S(St,{comments:()=>mr,default:()=>Er,direction:()=>pr,strings:()=>gr,thanks_to:()=>hr});var hr="Jan Claasen ",mr="",pr="ltr",gr={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]"},Er={thanks_to:hr,comments:mr,direction:pr,strings:gr};var Mt={};S(Mt,{comments:()=>br,default:()=>kr,direction:()=>Tr,strings:()=>Cr,thanks_to:()=>Rr});var Rr="Liam Bigelow ",br="",Tr="ltr",Cr={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]..."},kr={thanks_to:Rr,comments:br,direction:Tr,strings:Cr};var At={};S(At,{comments:()=>Sr,default:()=>vr,direction:()=>Mr,strings:()=>Ar,thanks_to:()=>yr});var yr="Pablo Villaverde ",Sr="",Mr="ltr",Ar={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]..."},vr={thanks_to:yr,comments:Sr,direction:Mr,strings:Ar};var vt={};S(vt,{comments:()=>Hr,default:()=>Or,direction:()=>Fr,strings:()=>Nr,thanks_to:()=>wr});var wr="Valtteri Laitinen ",Hr="",Fr="ltr",Nr={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. N\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},Or={thanks_to:wr,comments:Hr,direction:Fr,strings:Nr};var wt={};S(wt,{comments:()=>zr,default:()=>Ir,direction:()=>Dr,strings:()=>Ur,thanks_to:()=>jr});var jr="Nicolas Friedli ",zr="",Dr="ltr",Ur={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:jr,comments:zr,direction:Dr,strings:Ur};var Ht={};S(Ht,{comments:()=>Lr,default:()=>Vr,direction:()=>qr,strings:()=>Br,thanks_to:()=>Pr});var Pr="Pablo Villaverde ",Lr="",qr="ltr",Br={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]..."},Vr={thanks_to:Pr,comments:Lr,direction:qr,strings:Br};var Ft={};S(Ft,{comments:()=>Gr,default:()=>Yr,direction:()=>Kr,strings:()=>Jr,thanks_to:()=>Wr});var Wr="Amit Yadav ",Gr="",Kr="ltr",Jr={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948..."},Yr={thanks_to:Wr,comments:Gr,direction:Kr,strings:Jr};var Nt={};S(Nt,{comments:()=>Xr,default:()=>$r,direction:()=>Qr,strings:()=>xr,thanks_to:()=>Zr});var Zr="Diomed ",Xr="",Qr="ltr",xr={placeholder:"Tra\u017Ei",clear_search:"O\u010Disti",load_more:"U\u010Ditaj vi\u0161e rezultata",search_label:"Pretra\u017Ei ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Poku\u0161aj s jednom od ovih pretraga:",searching:"Pretra\u017Eujem [SEARCH_TERM]..."},$r={thanks_to:Zr,comments:Xr,direction:Qr,strings:xr};var Ot={};S(Ot,{comments:()=>tl,default:()=>rl,direction:()=>nl,strings:()=>sl,thanks_to:()=>el});var el="Adam Laki ",tl="",nl="ltr",sl={placeholder:"Keres\xE9s",clear_search:"T\xF6rl\xE9s",load_more:"Tov\xE1bbi tal\xE1latok bet\xF6lt\xE9se",search_label:"Keres\xE9s az oldalon",filters_label:"Sz\u0171r\xE9s",zero_results:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",many_results:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",one_result:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",alt_search:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Tal\xE1latok mutat\xE1sa ink\xE1bb a(z) [DIFFERENT_TERM] kifejez\xE9sre",search_suggestion:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Pr\xF3b\xE1ld meg a k\xF6vetkez\u0151 keres\xE9sek egyik\xE9t:",searching:"Keres\xE9s a(z) [SEARCH_TERM] kifejez\xE9sre..."},rl={thanks_to:el,comments:tl,direction:nl,strings:sl};var jt={};S(jt,{comments:()=>il,default:()=>ul,direction:()=>al,strings:()=>ol,thanks_to:()=>ll});var ll="Nixentric",il="",al="ltr",ol={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},ul={thanks_to:ll,comments:il,direction:al,strings:ol};var zt={};S(zt,{comments:()=>_l,default:()=>hl,direction:()=>fl,strings:()=>dl,thanks_to:()=>cl});var cl="Cosette Bruhns Alonso, Andrew Janco ",_l="",fl="ltr",dl={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},hl={thanks_to:cl,comments:_l,direction:fl,strings:dl};var Dt={};S(Dt,{comments:()=>pl,default:()=>Rl,direction:()=>gl,strings:()=>El,thanks_to:()=>ml});var ml="Tate",pl="",gl="ltr",El={placeholder:"\u691C\u7D22",clear_search:"\u30AF\u30EA\u30A2",load_more:"\u6B21\u3092\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\u60C5\u5831\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\u60C5\u5831\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\u60C5\u5831\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"},Rl={thanks_to:ml,comments:pl,direction:gl,strings:El};var Ut={};S(Ut,{comments:()=>Tl,default:()=>yl,direction:()=>Cl,strings:()=>kl,thanks_to:()=>bl});var bl="Seokho Son ",Tl="",Cl="ltr",kl={placeholder:"\uAC80\uC0C9\uC5B4",clear_search:"\uBE44\uC6B0\uAE30",load_more:"\uAC80\uC0C9 \uACB0\uACFC \uB354 \uBCF4\uAE30",search_label:"\uC0AC\uC774\uD2B8 \uAC80\uC0C9",filters_label:"\uD544\uD130",zero_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C",many_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",one_result:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",alt_search:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. [DIFFERENT_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC",search_suggestion:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. \uCD94\uCC9C \uAC80\uC0C9\uC5B4: ",searching:"[SEARCH_TERM] \uAC80\uC0C9 \uC911..."},yl={thanks_to:bl,comments:Tl,direction:Cl,strings:kl};var It={};S(It,{comments:()=>Ml,default:()=>wl,direction:()=>Al,strings:()=>vl,thanks_to:()=>Sl});var Sl="",Ml="",Al="ltr",vl={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta \u0113tahi otinga k\u0113",search_label:"Rapu",filters_label:"T\u0101tari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga k\u0113 ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakam\u0101tau ki ng\u0101 mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},wl={thanks_to:Sl,comments:Ml,direction:Al,strings:vl};var Pt={};S(Pt,{comments:()=>Fl,default:()=>jl,direction:()=>Nl,strings:()=>Ol,thanks_to:()=>Hl});var Hl="Paul van Brouwershaven",Fl="",Nl="ltr",Ol={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]..."},jl={thanks_to:Hl,comments:Fl,direction:Nl,strings:Ol};var Lt={};S(Lt,{comments:()=>Dl,default:()=>Pl,direction:()=>Ul,strings:()=>Il,thanks_to:()=>zl});var zl="Christopher Wingate",Dl="",Ul="ltr",Il={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]"},Pl={thanks_to:zl,comments:Dl,direction:Ul,strings:Il};var qt={};S(qt,{comments:()=>ql,default:()=>Wl,direction:()=>Bl,strings:()=>Vl,thanks_to:()=>Ll});var Ll="",ql="",Bl="ltr",Vl={placeholder:"Szukaj",clear_search:"Wyczy\u015B\u0107",load_more:"Za\u0142aduj wi\u0119cej",search_label:"Przeszukaj t\u0119 stron\u0119",filters_label:"Filtry",zero_results:"Brak wynik\xF3w dla [SEARCH_TERM]",many_results:"[COUNT] wynik\xF3w dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wynik\xF3w dla [SEARCH_TERM]. Wy\u015Bwietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynik\xF3w dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},Wl={thanks_to:Ll,comments:ql,direction:Bl,strings:Vl};var Bt={};S(Bt,{comments:()=>Kl,default:()=>Zl,direction:()=>Jl,strings:()=>Yl,thanks_to:()=>Gl});var Gl="Jonatah",Kl="",Jl="ltr",Yl={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]..."},Zl={thanks_to:Gl,comments:Kl,direction:Jl,strings:Yl};var Vt={};S(Vt,{comments:()=>Ql,default:()=>ei,direction:()=>xl,strings:()=>$l,thanks_to:()=>Xl});var Xl="Bogdan Mateescu ",Ql="",xl="ltr",$l={placeholder:"C\u0103utare",clear_search:"\u015Eterge\u0163i",load_more:"\xCEnc\u0103rca\u021Bi mai multe rezultate",search_label:"C\u0103uta\u021Bi \xEEn acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afi\u0219eaz\u0103 \xEEn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. \xCEncerca\u021Bi una dintre urm\u0103toarele c\u0103ut\u0103ri:",searching:"Se caut\u0103 dup\u0103: [SEARCH_TERM]..."},ei={thanks_to:Xl,comments:Ql,direction:xl,strings:$l};var Wt={};S(Wt,{comments:()=>ni,default:()=>li,direction:()=>si,strings:()=>ri,thanks_to:()=>ti});var ti="Aleksandr Gordeev",ni="",si="ltr",ri={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]"},li={thanks_to:ti,comments:ni,direction:si,strings:ri};var Gt={};S(Gt,{comments:()=>ai,default:()=>ci,direction:()=>oi,strings:()=>ui,thanks_to:()=>ii});var ii="Andrija Sagicc",ai="",oi="ltr",ui={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]..."},ci={thanks_to:ii,comments:ai,direction:oi,strings:ui};var Kt={};S(Kt,{comments:()=>fi,default:()=>mi,direction:()=>di,strings:()=>hi,thanks_to:()=>_i});var _i="Montazar Al-Jaber ",fi="",di="ltr",hi={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]..."},mi={thanks_to:_i,comments:fi,direction:di,strings:hi};var Jt={};S(Jt,{comments:()=>gi,default:()=>bi,direction:()=>Ei,strings:()=>Ri,thanks_to:()=>pi});var pi="Anonymous",gi="",Ei="ltr",Ri={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},bi={thanks_to:pi,comments:gi,direction:Ei,strings:Ri};var Yt={};S(Yt,{comments:()=>Ci,default:()=>Si,direction:()=>ki,strings:()=>yi,thanks_to:()=>Ti});var Ti="",Ci="",ki="ltr",yi={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1"},Si={thanks_to:Ti,comments:Ci,direction:ki,strings:yi};var Zt={};S(Zt,{comments:()=>Ai,default:()=>Hi,direction:()=>vi,strings:()=>wi,thanks_to:()=>Mi});var Mi="Taylan \xD6zg\xFCr Bildik",Ai="",vi="ltr",wi={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor..."},Hi={thanks_to:Mi,comments:Ai,direction:vi,strings:wi};var Xt={};S(Xt,{comments:()=>Ni,default:()=>zi,direction:()=>Oi,strings:()=>ji,thanks_to:()=>Fi});var Fi="Vladyslav Lyshenko ",Ni="",Oi="ltr",ji={placeholder:"\u041F\u043E\u0448\u0443\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0449\u0435",search_label:"\u041F\u043E\u0448\u0443\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0456\u043B\u044C\u0442\u0440\u0438",zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",alt_search:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0456\u0437 \u0442\u0430\u043A\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432",searching:"\u041F\u043E\u0448\u0443\u043A \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]"},zi={thanks_to:Fi,comments:Ni,direction:Oi,strings:ji};var Qt={};S(Qt,{comments:()=>Ui,default:()=>Li,direction:()=>Ii,strings:()=>Pi,thanks_to:()=>Di});var Di="Long Nhat Nguyen",Ui="",Ii="ltr",Pi={placeholder:"T\xECm ki\u1EBFm",clear_search:"X\xF3a",load_more:"Nhi\u1EC1u k\u1EBFt qu\u1EA3 h\u01A1n",search_label:"T\xECm ki\u1EBFm trong trang n\xE0y",filters_label:"B\u1ED9 l\u1ECDc",zero_results:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",many_results:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",one_result:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",alt_search:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Ki\u1EC3m th\u1ECB k\u1EBFt qu\u1EA3 thay th\u1EBF v\u1EDBi [DIFFERENT_TERM]",search_suggestion:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Th\u1EED m\u1ED9t trong c\xE1c t\xECm ki\u1EBFm:",searching:"\u0110ang t\xECm ki\u1EBFm cho [SEARCH_TERM]..."},Li={thanks_to:Di,comments:Ui,direction:Ii,strings:Pi};var xt={};S(xt,{comments:()=>Bi,default:()=>Gi,direction:()=>Vi,strings:()=>Wi,thanks_to:()=>qi});var qi="Amber Song",Bi="",Vi="ltr",Wi={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]..."},Gi={thanks_to:qi,comments:Bi,direction:Vi,strings:Wi};var $t={};S($t,{comments:()=>Ji,default:()=>Xi,direction:()=>Yi,strings:()=>Zi,thanks_to:()=>Ki});var Ki="Amber Song",Ji="",Yi="ltr",Zi={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]..."},Xi={thanks_to:Ki,comments:Ji,direction:Yi,strings:Zi};var en={};S(en,{comments:()=>xi,default:()=>ta,direction:()=>$i,strings:()=>ea,thanks_to:()=>Qi});var Qi="Amber Song",xi="",$i="ltr",ea={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]..."},ta={thanks_to:Qi,comments:xi,direction:$i,strings:ea};var na=[bt,Tt,Ct,kt,yt,St,Mt,At,vt,wt,Ht,Ft,Nt,Ot,jt,zt,Dt,Ut,It,Pt,Lt,qt,Bt,Vt,Wt,Gt,Kt,Jt,Yt,Zt,Xt,Qt,xt,$t,en],Qn=na,xn=["../../translations/af.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function $n(n,e,t){let s=n.slice();return s[51]=e[t],s}function es(n){let e,t,s;function r(i){n[37](i)}let l={show_empty_filters:n[5],open_filters:n[6],available_filters:n[18],translate:n[20],automatic_translations:n[19],translations:n[7]};return n[0]!==void 0&&(l.selected_filters=n[0]),e=new Xn({props:l}),le.push(()=>bn(e,"selected_filters",r)),{c(){tt(e.$$.fragment)},m(i,a){me(e,i,a),s=!0},p(i,a){let o={};a[0]&32&&(o.show_empty_filters=i[5]),a[0]&64&&(o.open_filters=i[6]),a[0]&262144&&(o.available_filters=i[18]),a[0]&524288&&(o.automatic_translations=i[19]),a[0]&128&&(o.translations=i[7]),!t&&a[0]&1&&(t=!0,o.selected_filters=i[0],pn(()=>t=!1)),e.$set(o)},i(i){s||(D(e.$$.fragment,i),s=!0)},o(i){P(e.$$.fragment,i),s=!1},d(i){ue(e,i)}}}function ts(n){let e,t,s,r,l=[la,ra],i=[];function a(o,h){return o[14]?0:1}return t=a(n,[-1,-1]),s=i[t]=l[t](n),{c(){e=C("div"),s.c(),E(e,"class","pagefind-ui__results-area svelte-e9gkc3")},m(o,h){y(o,e,h),i[t].m(e,null),r=!0},p(o,h){let c=t;t=a(o,h),t===c?i[t].p(o,h):(ae(),P(i[c],1,1,()=>{i[c]=null}),oe(),s=i[t],s?s.p(o,h):(s=i[t]=l[t](o),s.c()),D(s,1),s.m(e,null))},i(o){r||(D(s),r=!0)},o(o){P(s),r=!1},d(o){o&&k(e),i[t].d()}}}function ra(n){let e,t,s,r=[],l=new Map,i,a,o;function h(u,f){return u[13].results.length===0?oa:u[13].results.length===1?aa:ia}let c=h(n,[-1,-1]),m=c(n),p=n[13].results.slice(0,n[17]),d=u=>u[51].id;for(let u=0;un[17]&&ss(n);return{c(){e=C("p"),m.c(),t=A(),s=C("ol");for(let u=0;uu[17]?_?_.p(u,f):(_=ss(u),_.c(),_.m(a.parentNode,a)):_&&(_.d(1),_=null)},i(u){if(!o){for(let f=0;f{o[p]=null}),oe(),r=o[s],r?r.p(e,m):(r=o[s]=a[s](e),r.c()),D(r,1),r.m(l.parentNode,l))},i(c){i||(D(r),i=!0)},o(c){P(r),i=!1},d(c){c&&k(t),o[s].d(c),c&&k(l)}}}function ss(n){let e,t=n[20]("load_more",n[19],n[7])+"",s,r,l;return{c(){e=C("button"),s=w(t),E(e,"type","button"),E(e,"class","pagefind-ui__button svelte-e9gkc3")},m(i,a){y(i,e,a),b(e,s),r||(l=J(e,"click",n[22]),r=!0)},p(i,a){a[0]&524416&&t!==(t=i[20]("load_more",i[19],i[7])+"")&&N(s,t)},d(i){i&&k(e),r=!1,l()}}}function rs(n){let e,t=n[20]("searching",n[19],n[7]).replace(/\[SEARCH_TERM\]/,n[16])+"",s;return{c(){e=C("p"),s=w(t),E(e,"class","pagefind-ui__message svelte-e9gkc3")},m(r,l){y(r,e,l),b(e,s)},p(r,l){l[0]&589952&&t!==(t=r[20]("searching",r[19],r[7]).replace(/\[SEARCH_TERM\]/,r[16])+"")&&N(s,t)},d(r){r&&k(e)}}}function _a(n){let e,t,s,r,l,i,a=n[20]("clear_search",n[19],n[7])+"",o,h,c,m,p,d,_,u,f=n[12]&&es(n),T=n[15]&&ts(n);return{c(){e=C("div"),t=C("form"),s=C("input"),l=A(),i=C("button"),o=w(a),h=A(),c=C("div"),f&&f.c(),m=A(),T&&T.c(),E(s,"class","pagefind-ui__search-input svelte-e9gkc3"),E(s,"type","text"),E(s,"placeholder",r=n[20]("placeholder",n[19],n[7])),E(s,"autocapitalize","none"),E(s,"enterkeyhint","search"),s.autofocus=n[8],E(i,"class","pagefind-ui__search-clear svelte-e9gkc3"),B(i,"pagefind-ui__suppressed",!n[9]),E(c,"class","pagefind-ui__drawer svelte-e9gkc3"),B(c,"pagefind-ui__hidden",!n[15]),E(t,"class","pagefind-ui__form svelte-e9gkc3"),E(t,"role","search"),E(t,"aria-label",p=n[20]("search_label",n[19],n[7])),E(t,"action","javascript:void(0);"),E(e,"class","pagefind-ui svelte-e9gkc3"),B(e,"pagefind-ui--reset",n[1])},m(R,M){y(R,e,M),b(e,t),b(t,s),dt(s,n[9]),n[34](s),b(t,l),b(t,i),b(i,o),n[35](i),b(t,h),b(t,c),f&&f.m(c,null),b(c,m),T&&T.m(c,null),d=!0,n[8]&&s.focus(),_||(u=[J(s,"focus",n[21]),J(s,"keydown",n[32]),J(s,"input",n[33]),J(i,"click",n[36]),J(t,"submit",fa)],_=!0)},p(R,M){(!d||M[0]&524416&&r!==(r=R[20]("placeholder",R[19],R[7])))&&E(s,"placeholder",r),(!d||M[0]&256)&&(s.autofocus=R[8]),M[0]&512&&s.value!==R[9]&&dt(s,R[9]),(!d||M[0]&524416)&&a!==(a=R[20]("clear_search",R[19],R[7])+"")&&N(o,a),(!d||M[0]&512)&&B(i,"pagefind-ui__suppressed",!R[9]),R[12]?f?(f.p(R,M),M[0]&4096&&D(f,1)):(f=es(R),f.c(),D(f,1),f.m(c,m)):f&&(ae(),P(f,1,1,()=>{f=null}),oe()),R[15]?T?(T.p(R,M),M[0]&32768&&D(T,1)):(T=ts(R),T.c(),D(T,1),T.m(c,null)):T&&(ae(),P(T,1,1,()=>{T=null}),oe()),(!d||M[0]&32768)&&B(c,"pagefind-ui__hidden",!R[15]),(!d||M[0]&524416&&p!==(p=R[20]("search_label",R[19],R[7])))&&E(t,"aria-label",p),(!d||M[0]&2)&&B(e,"pagefind-ui--reset",R[1])},i(R){d||(D(f),D(T),d=!0)},o(R){P(f),P(T),d=!1},d(R){R&&k(e),n[34](null),n[35](null),f&&f.d(),T&&T.d(),_=!1,G(u)}}}var fa=n=>n.preventDefault();function da(n,e,t){let s={},r=xn.map(g=>g.match(/([^\/]+)\.json$/)[1]);for(let g=0;gj[g]??F[g]??"";ht(()=>{let g=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",F=nt(g.toLocaleLowerCase());t(19,on=s[`${F.language}-${F.script}-${F.region}`]||s[`${F.language}-${F.region}`]||s[`${F.language}`]||s.en)}),mt(()=>{H?.destroy?.(),H=null});let un=async()=>{if(!rt&&(t(12,rt=!0),!H)){let g;try{g=await import(`${l}pagefind.js`)}catch(j){console.error(j),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}c||t(24,c=h?12:30);let F={...f||{},excerptLength:c};await g.options(F);for(let j of T){if(!j.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let L=j.bundlePath;delete j.bundlePath,await g.mergeIndex(L,j)}H=g,os()}},os=async()=>{H&&(an=await H.filters(),(!ce||!Object.keys(ce).length)&&t(18,ce=an))},us=g=>{let F={};return Object.entries(g).filter(([,j])=>j).forEach(([j])=>{let[L,te]=j.split(/:(.*)$/);F[L]=F[L]||[],F[L].push(te)}),F},_e,cs=async(g,F)=>{if(!g){t(15,it=!1),_e&&clearTimeout(_e);return}let j=us(F),L=()=>_s(g,j);u>0&&g?(_e&&clearTimeout(_e),_e=setTimeout(L,u),await cn(),H.preload(g,{filters:j})):L(),fs()},cn=async()=>{for(;!H;)un(),await new Promise(g=>setTimeout(g,50))},_s=async(g,F)=>{t(16,ln=g||""),typeof p=="function"&&(g=p(g)),t(14,lt=!0),t(15,it=!0),await cn();let j=++rn,L={filters:F};X&&typeof X=="object"&&(L.sort=X);let te=await H.search(g,L);rn===j&&(te.filters&&Object.keys(te.filters)?.length&&t(18,ce=te.filters),t(13,sn=te),t(14,lt=!1),t(17,at=i))},fs=()=>{let g=W.offsetWidth;g!=is&&t(10,O.style.paddingRight=`${g+2}px`,O)},ds=g=>{g?.preventDefault(),t(17,at+=i)},hs=g=>{g.key==="Escape"&&(t(9,v=""),O.blur()),g.key==="Enter"&&g.preventDefault()};function ms(){v=this.value,t(9,v),t(23,R)}function ps(g){le[g?"unshift":"push"](()=>{O=g,t(10,O)})}function gs(g){le[g?"unshift":"push"](()=>{W=g,t(11,W)})}let Es=()=>{t(9,v=""),O.blur()};function Rs(g){V=g,t(0,V)}return n.$$set=g=>{"base_path"in g&&t(25,l=g.base_path),"page_size"in g&&t(26,i=g.page_size),"reset_styles"in g&&t(1,a=g.reset_styles),"show_images"in g&&t(2,o=g.show_images),"show_sub_results"in g&&t(3,h=g.show_sub_results),"excerpt_length"in g&&t(24,c=g.excerpt_length),"process_result"in g&&t(4,m=g.process_result),"process_term"in g&&t(27,p=g.process_term),"show_empty_filters"in g&&t(5,d=g.show_empty_filters),"open_filters"in g&&t(6,_=g.open_filters),"debounce_timeout_ms"in g&&t(28,u=g.debounce_timeout_ms),"pagefind_options"in g&&t(29,f=g.pagefind_options),"merge_index"in g&&t(30,T=g.merge_index),"trigger_search_term"in g&&t(23,R=g.trigger_search_term),"translations"in g&&t(7,M=g.translations),"autofocus"in g&&t(8,U=g.autofocus),"sort"in g&&t(31,X=g.sort),"selected_filters"in g&&t(0,V=g.selected_filters)},n.$$.update=()=>{if(n.$$.dirty[0]&8388608)e:R&&(t(9,v=R),t(23,R=""));if(n.$$.dirty[0]&513)e:cs(v,V)},[V,a,o,h,m,d,_,M,U,v,O,W,rt,sn,lt,it,ln,at,ce,on,as,un,ds,R,c,l,i,p,u,f,T,X,hs,ms,ps,gs,Es,Rs]}var tn=class extends q{constructor(e){super(),Y(this,e,da,_a,K,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},ls=tn;var nn;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(nn=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{nn="/pagefind/"}var st=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",s=e.bundlePath??nn,r=e.pageSize??5,l=e.resetStyles??!0,i=e.showImages??!0,a=e.showSubResults??!1,o=e.excerptLength??0,h=e.processResult??null,c=e.processTerm??null,m=e.showEmptyFilters??!0,p=e.openFilters??[],d=e.debounceTimeoutMs??300,_=e.mergeIndex??[],u=e.translations??[],f=e.autofocus??!1,T=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;let R=t instanceof HTMLElement?t:document.querySelector(t);R?this._pfs=new ls({target:R,props:{base_path:s,page_size:r,reset_styles:l,show_images:i,show_sub_results:a,excerpt_length:o,process_result:h,process_term:c,show_empty_filters:m,open_filters:p,debounce_timeout_ms:d,merge_index:_,translations:u,autofocus:f,sort:T,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[s,r]of Object.entries(e))if(Array.isArray(r))for(let l of r)t[`${s}:${l}`]=!0;else t[`${s}:${r}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};window.PagefindUI=st;})(); diff --git a/pagefind/pagefind.en_c2fd2bce7a.pf_meta b/pagefind/pagefind.en_c2fd2bce7a.pf_meta new file mode 100644 index 0000000..a49aea4 Binary files /dev/null and b/pagefind/pagefind.en_c2fd2bce7a.pf_meta differ diff --git a/pagefind/pagefind.js b/pagefind/pagefind.js new file mode 100644 index 0000000..b58a7da --- /dev/null +++ b/pagefind/pagefind.js @@ -0,0 +1,9 @@ +const pagefind_version="1.1.1";let wasm_bindgen;(function(){const __exports={};let script_src;if(typeof document!=='undefined'&&document.currentScript!==null){script_src=new URL("UNHANDLED",location.href).toString()}let wasm=undefined;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,1)>>>0;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>>>0};const cachedTextEncoder=(typeof TextEncoder!=='undefined'?new TextEncoder('utf-8'):{encode:()=>{throw Error('TextEncoder not available')}});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,1)>>>0;getUint8Memory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len,1)>>>0;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,1)>>>0;const view=getUint8Memory0().subarray(ptr+offset,ptr+len);const ret=encodeString(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0}WASM_VECTOR_LEN=offset;return ptr}__exports.set_ranking_weights=function(ptr,weights){const ptr0=passStringToWasm0(weights,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.set_ranking_weights(ptr,ptr0,len0);return ret>>>0};__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>>>0};__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>>>0};__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>>>0};let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}const cachedTextDecoder=(typeof TextDecoder!=='undefined'?new TextDecoder('utf-8',{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error('TextDecoder not available')}});if(typeof TextDecoder!=='undefined'){cachedTextDecoder.decode()};function getStringFromWasm0(ptr,len){ptr=ptr>>>0;return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr,ptr+len))}__exports.request_indexes=function(ptr,query){let deferred2_0;let deferred2_1;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];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_filter_indexes=function(ptr,filters){let deferred2_0;let deferred2_1;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];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_all_filter_indexes=function(ptr){let deferred1_0;let deferred1_1;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];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.filters=function(ptr){let deferred1_0;let deferred1_1;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];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.search=function(ptr,query,filter,sort,exact){let deferred4_0;let deferred4_1;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];deferred4_0=r0;deferred4_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred4_0,deferred4_1,1)}};async function __wbg_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 __wbg_get_imports(){const imports={};imports.wbg={};return imports}function __wbg_init_memory(imports,maybe_memory){}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){if(wasm!==undefined)return wasm;const imports=__wbg_get_imports();__wbg_init_memory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(input){if(wasm!==undefined)return wasm;if(typeof input==='undefined'&&typeof script_src!=='undefined'){input=script_src.replace(/\.js$/,'_bg.wasm')}const imports=__wbg_get_imports();if(typeof input==='string'||(typeof Request==='function'&&input instanceof Request)||(typeof URL==='function'&&input instanceof URL)){input=fetch(input)}__wbg_init_memory(imports);const{instance,module}=await __wbg_load(await input,imports);return __wbg_finalize_init(instance,module)}wasm_bindgen=Object.assign(__wbg_init,{initSync},__exports)})();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 i2=0;i2<31;++i2){b[i2]=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 i2=0;var l=new u16(mb);for(;i2>>rvb]=sv}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2]}}}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 i2=1;i2m)m=a[i2]}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 i2=0;i2>>4;if(s<16){ldt[i2++]=s}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-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[i2++]=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 i2=sym-257,b=fleb[i2];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){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score}if(words.length<=excerpt_length){return 0}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2]}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2)}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B")}else{fragment_words=content.split(/[\r\n\s]+/g)}for(let word of locations){if(fragment_words[word]?.startsWith(``)){continue}fragment_words[word]=`${fragment_words[word]}`}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length}if(start{const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\S/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:fragment.url,weighted_locations:[],locations:[],excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position}});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;current_anchor.excerpt=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);results.push(current_anchor)}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift()}let anchored_url=fragment.url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString()}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"")}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`)}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:""}}}add_result(anchors[0]?.location);return results};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms))};var PagefindInstance=class{constructor(opts={}){this.version=pagefind_version;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&&!opts.basePath){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.defaultBaseUrl();if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`}this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.ranking=opts.ranking;this.highlightParam=opts.highlightParam??null;this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.searchMeta=null;this.languages=null}initPrimary(){let derivedBasePath=import.meta.url.match(/^(.*\/)pagefind.js.*$/)?.[1];if(derivedBasePath){this.basePath=derivedBasePath}else{console.warn(["Pagefind couldn't determine the base of the bundle from the import path. Falling back to the default.","Set a basePath option when initialising Pagefind to ignore this message."].join("\n"))}}defaultBaseUrl(){let default_base=this.basePath.match(/^(.*\/)_?pagefind/)?.[1];return default_base||"/"}async options(options2){const opts=["basePath","baseUrl","indexWeight","excerptLength","mergeFilter","highlightParam","ranking"];for(const[k,v]of Object.entries(options2)){if(k==="mergeFilter"){let filters2=this.stringifyFilters(v);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}else if(k==="ranking"){await this.set_ranking(options2.ranking)}else if(opts.includes(k)){if(k==="basePath"&&typeof v==="string")this.basePath=v;if(k==="baseUrl"&&typeof v==="string")this.baseUrl=v;if(k==="indexWeight"&&typeof v==="number")this.indexWeight=v;if(k==="excerptLength"&&typeof v==="number")this.excerptLength=v;if(k==="mergeFilter"&&typeof v==="object")this.mergeFilter=v;if(k==="highlightParam"&&typeof v==="string")this.highlightParam=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=gz_default(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 set_ranking(ranking){if(!ranking)return;let rankingWeights={term_similarity:ranking.termSimilarity??null,page_length:ranking.pageLength??null,term_saturation:ranking.termSaturation??null,term_frequency:ranking.termFrequency??null};let ptr=await this.getPtr();this.raw_ptr=this.backend.set_ranking_weights(ptr,JSON.stringify(rankingWeights))}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));if(Object.keys(this.mergeFilter)?.length){let filters2=this.stringifyFilters(this.mergeFilter);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}if(this.ranking){await this.set_ranking(this.ranking)}}async loadEntry(){try{let entry_response=await fetch(`${this.basePath}pagefind-entry.json?ts=${Date.now()}`);let entry_json=await entry_response.json();this.languages=entry_json.languages;if(entry_json.version!==this.version){if(this.primary){console.warn(["Pagefind JS version doesn't match the version in your search index.",`Pagefind JS: ${this.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: ${this.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: +${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_resp=await fetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata")}catch(e){console.error(`Failed to load the meta index: +${e?.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await fetch(wasm_url);let compressed_wasm=await compressed_resp.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: +${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM: +${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_resp=await fetch(url);let compressed_chunk=await compressed_resp.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}: +${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_resp=await fetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment))}async loadFragment(hash,weighted_locations=[],search_term){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash)}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"")}if(!fragment.raw_url){fragment.raw_url=fragment.url}fragment.url=this.processedUrl(fragment.raw_url,search_term);const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);fragment.excerpt=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment}fullUrl(raw){if(/^(https?:)?\/\//.test(raw)){return raw}return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/")}processedUrl(url,search_term){const normalized=this.fullUrl(url);if(this.highlightParam===null){return normalized}let individual_terms=search_term.split(/\s+/);try{let processed=new URL(normalized);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString()}catch(e){try{let processed=new URL(`https://example.com${normalized}`);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString().replace(/^https:\/\/example\.com/,"")}catch(e2){return normalized}}}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 extract=valueBlock.match(/^(.*):(\d+)$/);if(extract){let[,value,count]=extract;output[filter][value]=parseInt(count)??count}}}}}return output}stringifyFilters(obj={}){return JSON.stringify(obj)}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 filters2=this.backend.request_all_filter_indexes(ptr);let filter_chunks=filters2.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,options2={}){await this.search(term,{...options2,preload:true})}async search(term,options2={}){options2={verbose:false,filters:{},sort:{},...options2};const log=(str)=>{if(options2.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(options2.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options2.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let chunks=index_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options2.preload){log(`Preload \u2014 bailing out of search operation now.`);return null}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,all_results,filters2,totalFilters]=result.split(/:([^:]*):(.*)__PF_UNFILTERED_DELIM__(.*)$/);let filterObj=this.parseFilters(filters2);let totalFilterObj=this.parseFilters(totalFilters);log(`Remaining filters: ${JSON.stringify(result)}`);let results=all_results.length?all_results.split(" "):[];let resultsInterface=results.map((result2)=>{let[hash,score,all_locations]=result2.split("@");log(`Processing result: + hash:${hash} + score:${score} + locations:${all_locations}`);let weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await this.loadFragment(hash,weighted_locations,term)}});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}}}};var Pagefind=class{constructor(options2={}){this.backend=wasm_bindgen;this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options2,primary:true});this.instances=[this.primary];this.init(options2?.language)}async options(options2){await this.primary.options(options2)}async init(overrideLanguage){if(document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase()}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true})}async mergeIndex(indexPath,options2={}){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(options2.language||this.primaryLanguage,{load_wasm:false});delete options2["language"];await newInstance.options(options2)}mergeFilters(filters2){const merged={};for(const searchFilter of filters2){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 filters2=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters2)}async preload(term,options2={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options2)))}async debouncedSearch(term,options2,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options2);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null}const searchResult=await this.search(term,options2);if(thisSearchID!==this.searchID){return null}return searchResult}async search(term,options2={}){let search2=await Promise.all(this.instances.map((i2)=>i2.search(term,options2)));const filters2=this.mergeFilters(search2.map((s)=>s.filters));const totalFilters=this.mergeFilters(search2.map((s)=>s.totalFilters));const results=search2.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search2.map((s)=>s.timings);const unfilteredResultCount=search2.reduce((sum,s)=>sum+s.unfilteredResultCount,0);return{results,unfilteredResultCount,filters:filters2,totalFilters,timings}}};var pagefind=void 0;var initial_options=void 0;var init_pagefind=()=>{if(!pagefind){pagefind=new Pagefind(initial_options??{})}};var options=async(new_options)=>{if(pagefind){await pagefind.options(new_options)}else{initial_options=new_options}};var init=async()=>{init_pagefind()};var destroy=async()=>{pagefind=void 0;initial_options=void 0};var mergeIndex=async(indexPath,options2)=>{init_pagefind();return await pagefind.mergeIndex(indexPath,options2)};var search=async(term,options2)=>{init_pagefind();return await pagefind.search(term,options2)};var debouncedSearch=async(term,options2,debounceTimeoutMs=300)=>{init_pagefind();return await pagefind.debouncedSearch(term,options2,debounceTimeoutMs)};var preload=async(term,options2)=>{init_pagefind();return await pagefind.preload(term,options2)};var filters=async()=>{init_pagefind();return await pagefind.filters()};export{debouncedSearch,destroy,filters,init,mergeIndex,options,preload,search} \ No newline at end of file diff --git a/pagefind/wasm.en.pagefind b/pagefind/wasm.en.pagefind new file mode 100644 index 0000000..12d499f 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..76b3ed3 Binary files /dev/null and b/pagefind/wasm.unknown.pagefind differ diff --git a/reference/conf/index.html b/reference/conf/index.html new file mode 100644 index 0000000..a1d0c34 --- /dev/null +++ b/reference/conf/index.html @@ -0,0 +1,136 @@ + Configuration | pls + + Skip to content

    Configuration

    pls supports a powerful, and complex, configuration system that offers a lot +of powerful customization options. Configuration is specified in the form of a +.pls.yml YAML file (which means you can just use JSON if you hate YAML so +much).

    +

    Placement

    +

    pls uses a cascading system for multiple config files. You can have config +files at the directory level, at the repository level and at the global level.

    +

    The global config file can be placed in the home directory at ~/.pls.yml. If +you prefer a clean home directory, you can set the PLS_CONFIG environment +variable to a point to a config file placed elsewhere on your computer, in which +case pls will not look for one in the home directory.

    +

    Schema

    +

    This is the schema of the file.

    +

    icons

    map<str, str>

    mapping of icon names to actual glyphs from Nerd Fonts

    You can also use emojis as the glyphs but it's not recommended as you can run +into issues regarding character width in some terminals.

    Examples of icons
    icons:
    python: "๎˜†" # nf-seti-python
    javascript: "๓ฐŒž" # nf-md-language_javascript
    applescript: "๐ŸŽ"
    +
    +

    specs

    seq<Spec>

    list of node specs, in ascending order of specificity

    Properties of Spec
    pattern * str(Regex)

    a regex pattern to match against the node's name; In YAML this can be +specified more clearly if the quotes are omitted.

    icon str

    the name of the icon to use for the node; It should be a key from the +built-in icons or from the icons section.

    style str

    styles to apply to the node name and icon

    importance int

    the importance level of the node

    collapse Collapse

    the rule for determining the parent node, if any, for this node

    Properties of Collapse

    Collapse is an enum type so exactly one of name or ext should be +specified.

    name str

    the exact name of the parent file; Name-based collapsing matches this +node with another having the exact given name.

    ext str

    the extension of the parent file; Extension-based collapsing matches +this node with another having the same base name and the given +extension.

    Examples of collapse
    collapse:
    name: package.json # matches exactly `package.json`
    collapse:
    ext: ts # matches file with same base name and `.ts` extension
    Examples of specs
    specs:
    - pattern: ^(pnpm-lock.yaml|package-lock.json)$
    icon: lock
    importance: -1
    collapse:
    name: package.json
    - pattern: \.(c|m)?js$
    icon: javascript
    style: rgb(247,223,30)
    collapse:
    ext: ts
    +
    +

    entry_const

    EntryConst

    constants that determine the appearance and styling of each entry

    Properties of EntryConst
    dev_style str

    style for the device number

    ino_style str

    style for the inode number

    nlink_styles NlinkStyles

    styles for the number of hard links

    Properties of NlinkStyles
    file_sing str

    style to use when file has one hard link

    file_plur str

    style to use when file has more than one hard link

    dir_sing str

    style to use when directory has one hard link

    dir_plur str

    style to use when directory has more than one hard link

    Examples of nlink_styles
    nlink_styles:
    file_sing: ""
    file_plur: yellow
    dir_sing: yellow
    dir_plur: ""
    typ map<str(Typ), TypInfo>

    mapping of node type to node type info (including style)

    The key for the map i.e. Typ can be any of the following strings: +'dir', 'symlink', 'fifo', 'socket', 'block_device', +'char_device', 'file' or 'unknown'.

    Properties of TypInfo
    ch str

    the character for a node type, used in the 'T' column

    suffix str

    the suffix for a node type, placed after the node name

    icon str

    the fallback icon for the node type, used if no other icon is found; +Not all node types need to have an icon.

    style str

    the style to use for nodes of a particular node type; This applies to +name, ch, suffix and icon as well.

    Examples of typ
    typ:
    dir:
    ch: <bold cyan>d</>
    suffix: <dimmed>/</>
    icon: dir
    style: blue
    symlink:
    ch: <magenta>l</>
    suffix: <dimmed>@</>
    icon: symlink
    char_device:
    ch: <blue bg:green>b</>
    block_device:
    ch: <blue bg:yellow>c</>
    perm_styles map<str(Sym), str>

    mapping of symbolic permission bits to style

    The key for the map i.e. Sym can be any of the following strings: +'none', 'read', 'write', 'execute', or 'special'.

    Examples of perm_styles

    Example:

    perm_styles:
    none: dimmed
    read: yellow
    write: red
    execute: green
    special: magenta
    oct_styles map<str(Oct), str>

    mapping of octal permission bits to style

    The key for the map i.e. Oct can be any of the following strings: +'special', 'user', 'group' or 'other'.

    Examples of oct_styles
    oct_styles:
    special: magenta
    user: blue
    group: blue dimmed
    other: dimmed
    user_styles OwnerStyles

    styles for the owner user

    Properties of OwnerStyles
    curr str

    style for when the node is owned by the current user/group

    other str

    style for when the node is owned by a different user/group

    Examples of user_styles
    user_styles:
    curr: blue bold
    other: dimmed
    group_styles OwnerStyles

    styles for the owner group

    Properties of OwnerStyles
    curr str

    style for when the node is owned by the current user/group

    other str

    style for when the node is owned by a different user/group

    Examples of group_styles
    group_styles:
    curr: blue
    other: dimmed
    size_styles SizeStyles

    style for magnitude and unit (prefix and base) of node size

    Properties of SizeStyles
    mag str

    the style for the node size magnitude

    prefix str

    the style for the node size unit prefix

    base str

    the style for the node size base unit

    Examples of size_styles
    size_styles:
    mag: bold
    prefix: italic
    base: dimmed
    blocks_style str

    style for the number of blocks occupied by the file

    timestamp_formats map<str(DetailField), str>

    mapping of timestamp fields to the human-readable format

    The key for the map i.e. DetailField can be any of the following +strings: 'btime', 'ctime', 'mtime' or 'atime'.

    The format string should contain format description components from the time crate.

    Examples of timestamp_formats
    timestamp_formats:
    btime: <bold green>[day] [month repr:short]</> [hour repr:24]:[minute]
    ctime: <bold yellow>[day] [month repr:short]</> [hour repr:24]:[minute]
    mtime: <bold yellow>[day] [month repr:short]</> [hour repr:24]:[minute]
    atime: <bold blue>[day] [month repr:short]</> [hour repr:24]:[minute]
    symlink map<str(SymState), SymlinkInfo>

    mapping of symlink state to more symlink state info (including style)

    The key for the map i.e. SymState can be any of the following strings: +'ok', 'broken', 'cyclic' or 'error'.

    Properties of SymlinkInfo
    sep str

    the separator to show between the node and its target

    style str

    the style to use for symlinks in a particular symlink state; This +applies to both the name and the separator.

    ref_style str

    the style to use for the symlink reference; This applies to the +reference only.

    Examples of symlink
    symlink:
    ok:
    sep: ๓ฐ”
    style: magenta
    broken:
    sep: ๓ฑžฃ
    style: red
    ref_style: strikethrough
    Examples of entry_const
    entry_const:
    dev_style: magenta
    ino_style: magenta
    blocks_style: cyan
    +
    +

    app_const

    AppConst

    constants that determine the appearance and styling of the entire UI

    Properties of AppConst
    table TableInfo

    configuration for the table view

    Properties of TableInfo
    column_names map<str(DetailField), str>

    mapping of detail field to column name

    The key for the map i.e. DetailField can be any of the following: +strings: 'dev', 'ino', 'nlink', 'typ', 'perm', 'oct', +'user', 'uid', 'group', 'gid', 'size', 'blocks', +'btime', 'ctime', 'mtime', 'atime', 'git' or 'name'.

    Examples of column_names
    column_names:
    btime: <green>Date Created</>
    ctime: <yellow>Date Changed</>
    mtime: <yellow>Date Modified</>
    atime: <blue>Date Accessed</>
    header_style str

    styles to apply to the text in the header row

    Examples of table
    table:
    header_style: clear underline
    tree TreeInfo

    shapes to use to print trees

    Properties of TreeInfo
    pipe_space str

    the shape to use an alternative to "โ”‚ "

    space_space str

    the shape to use an alternative to " "

    tee_dash str

    the shape to use an alternative to "โ”œโ”€ "

    bend_dash str

    the shape to use an alternative to "โ””โ”€ "

    Examples of tree
    tree:
    pipe_space: "โ•‘ "
    space_space: " "
    tee_dash: "โ• โ• "
    bend_dash: "โ•šโ• "
    imp_styles seq<(int, string)>

    pairings of importance levels with styling directives

    Properties of (int, str)
    0 int

    the importance level

    1 str

    the style to use for nodes of a particular importance level

    Examples of imp_styles
    imp_styles:
    - [-1, "dimmed"]
    - [1, "italic"]
    - [2, "underline"]
    +

    Examples

    +

    You can see the .pls.yml files from pls 's source code itself to get a feel +for how these configurations work. Feel free to copy them or use as inspiration +for your own projects.

    +
    \ No newline at end of file