1(()=>{"use strict";function t(t=document.body,e=null){const n=[...t.querySelectorAll(e?`[class*="${e}"]`:"*")],o=e?"classList":"dataset";return n.reduce(((t,n)=>([].slice.call(e?n[o]:Object.entries(n[o])).forEach((o=>{let c;e&&o.slice(0,e.length)===e?c=o.slice(e.length,o.length):e||([c]=o),c&&(t[c]=t.hasOwnProperty(c)?t[c].constructor===Array?t[c].concat(n):[t[c],n]:n)})),t)),{})}const e=window.component((e=>{const{read_more:n,read_less:o}=(c="collection.footer").split(".").reduce(((t,e)=>t?.[e]),window?.Phill?.theme?.strings)||`Missing translation for ${c} in window.Phill`;var c;const{toggleText:s,expander:i,text:r}=t(e);s?.addEventListener("click",(()=>{i?.classList.contains("is-active")?(i?.classList.remove("is-active"),r.textContent=n):(i?.classList.add("is-active"),r.textContent=o)}))})),n={collectionFooter:e,collectionHeader:window.component((e=>{const{collectionForm:n}=t(e,null);n?.addEventListener("change",function(t,e){let o;return function(...t){clearTimeout(o),o=setTimeout((()=>{o=null,(t=>{t.preventDefault(),(async(t,e="")=>{const n=new URLSearchParams(window.location.search),o=n.get("sort_by"),c=n.get("q"),s=[...o?[["sort_by",o]]:[],...c?[["q",c]]:[]],i=t?Array.from(new FormData(t).entries()).filter((t=>t.join(",")!==e)):[],r=new URLSearchParams([...i,...s]).toString();window.app.emit("products:load",null,{params:r})})(n)})(...t)}),300)}}())}))};window.app.add(n),window.app.mount()})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.