1(()=>{var I=s=>new DOMParser().parseFromString(s,"text/html").documentElement.textContent,H=Array.isArray,w=s=>typeof s=="function",z=s=>s!==null&&typeof s=="object",N=s=>(z(s)||w(s))&&w(s.then)&&w(s.catch);function G(s,l){try{return l?s.apply(null,l):s()}catch(i){throw O(i),i}}function x(s,l){if(w(s)){let i=G(s,l);return i&&N(i)&&i.catch(a=>{throw O(a),a}),[i]}if(H(s)){let i=[];for(let a=0;a<s.length;a++)i.push(x(s[a],l));return i}else console.warn(`[DjangoComponents] Invalid value type passed to callWithAsyncErrorHandling(): ${typeof s}`)}function O(s){console.error(s)}var R=s=>{let l=new MutationObserver(i=>{for(let a of i)a.type==="childList"&&a.addedNodes.forEach(d=>{d.nodeName==="SCRIPT"&&d.hasAttribute("data-djc")&&s(d)})});return l.observe(document,{childList:!0,subtree:!0}),l};var $=()=>{let s=new Set,l=new Set,i={},a={},d=new Map,g=[],v=!1,T=null,u=new Map,q=t=>{if(t.tag!=="link")throw Error(`[DjangoComponents] loadCss received tag '${t.tag}' but expected 'link'`);let n=document.createElement("link");for(let[e,o]of Object.entries(t.attrs))o===!0?n.setAttribute(e,""):o!==!1&&n.setAttribute(e,String(o));return n},K=t=>{if(t.tag!=="script")throw Error(`[DjangoComponents] loadJs received tag '${t.tag}' but expected 'script'`);let n=document.createElement("script");for(let[e,o]of Object.entries(t.attrs))o===!0?n.setAttribute(e,""):o!==!1&&n.setAttribute(e,String(o));return t.content&&(n.textContent=t.content),n},_=t=>{let n=typeof t=="string"?JSON.parse(t):t,e=K(n),o=n.attrs.src;if(!o||typeof o!="string"||E("js",o))return{el:e,promise:Promise.resolve()};b("js",o);let c=new Promise((p,m)=>{e.onload=()=>{p()},globalThis.document.body.append(e)});return{el:e,promise:c}},F=t=>{let n=typeof t=="string"?JSON.parse(t):t,e=q(n),o=n.attrs.href;if(!(!o||typeof o!="string"||E("css",o)))return globalThis.document.head.append(e),b("css",o),{el:e,promise:Promise.resolve()}},b=(t,n)=>{if(t!=="js"&&t!=="css")throw Error(`[DjangoComponents] markScriptLoaded received invalid script type '${t}'. Must be one of 'js', 'css'`);(t==="js"?s:l).add(n);let o=d.get(`${t}:${n}`);o&&o.resolve()},E=(t,n)=>{if(t!=="js"&&t!=="css")throw Error(`[DjangoComponents] isScriptLoaded received invalid script type '${t}'. Must be one of 'js', 'css'`);return(t==="js"?s:l).has(n)},L=async(t,n)=>{let e=n.map(o=>{if(E(t,o))return Promise.resolve();if(d.has(o))return d.get(o).promise;let c={};d.set(`${t}:${o}`,c);let p=new Promise(m=>{c.resolve=m});return c.promise=p,p});await Promise.all(e)},P=(t,n,e)=>`${t}:${n}:${e!=null?e:"null"}`,k=t=>{let n=i[t.compClsId];if(!n||n.length===0)return!0;if(t.jsVarsHash!=null){let e=`${t.compClsId}:${t.jsVarsHash}`;if(!a[e])return!0}if(t.waitForPromise){let e=P(t.compClsId,t.compId,t.jsVarsHash),o=u.get(e);if(o===void 0||o!==null)return!0}return!1},W=()=>{T==null&&(T=setInterval(()=>{let t=Date.now(),n=g.filter(e=>k(e));if(n.length>0){let e=n[0],o=Math.floor((t-e.queuedAt)/1e3);console.warn(`[DjangoComponents] ${n.length} component call(s) are still waiting for dependencies. Oldest call has been waiting for ${o}s: '${e.compClsId}' (ID: ${e.compId})`)}},5e3))},h=async()=>{if(!v){for(v=!0;g.length>0;){let t=g[0],n=P(t.compClsId,t.compId,t.jsVarsHash);if(t.waitForPromise!=null&&u.has(n)){let e=u.get(n);if(e!=null)throw g.length=0,u.clear(),v=!1,new Error(`[DjangoComponents] Script loading failed for component call '${t.compClsId}' (ID: ${t.compId}): ${e.message}`)}if(k(t))break;g.shift(),t.waitForPromise&&u.delete(n);try{let e=await V(t.compClsId,t.compId,t.jsVarsHash);t.resolve&&t.resolve(e)}catch(e){throw t.reject?t.reject(e):console.error(`[DjangoComponents] Error executing component call for '${t.compClsId}' (ID: ${t.compId}):`,e),e}}!g.length&&T!=null&&(clearInterval(T),T=null),v=!1}},B=(t,n)=>(i[t]||(i[t]=[]),i[t].push(n),h()),J=(t,n,e)=>{let o=`${t}:${n}`;return a[o]=e,h()},A=(t,n,e,o=void 0)=>{let c=P(t,n,e);return o&&o.then(()=>{u.set(c,null),h()}).catch(m=>{u.set(c,m),h()}),new Promise((m,y)=>{g.push({compClsId:t,compId:n,jsVarsHash:e,queuedAt:Date.now(),waitForPromise:o,resolve:m,reject:y}),W(),h()})},V=async(t,n,e)=>{let o=i[t];if(!o||o.length===0)throw Error(`[DjangoComponents] '${t}': No component registered for that name`);let c=Array.from(document.querySelectorAll(`[data-djc-id-${n}]`));if(!c.length)throw Error(`[DjangoComponents] '${t}': No elements with component ID '${n}' found`);let p={};if(e!=null){let j=`${t}:${e}`,C=a[j];if(!C)throw Error(`[DjangoComponents] '${t}': Cannot find JS variables for hash '${e}'`);p=C()}let m={name:t,id:n,els:c},y;for(let j of o){let[C]=x(j,[p,m]);y=await C}return y},D=t=>{let n=t.cssUrls__markAsLoaded.map(r=>atob(r)),e=t.jsUrls__markAsLoaded.map(r=>atob(r)),o=t.cssTags__toFetch.map(r=>JSON.parse(atob(r))),c=t.jsTags__toFetch.map(r=>JSON.parse(atob(r))),p=t.componentJsVars.map(r=>r.map(atob)),m=t.componentJsCalls.map(([r,S,f])=>[atob(r),atob(S),f==null?f:atob(f)]);p.forEach(([r,S,f])=>{J(r,S,()=>JSON.parse(f))}
1),n.forEach(r=>b("css",r)),e.forEach(r=>b("js",r)),Promise.all(o.map(r=>F(r))).catch(console.error);let y=Promise.all(c.map(r=>_(r).promise)).catch(console.error),j=L("js",e),C=Promise.all([y,j]);for(let[r,S,f]of m)A(r,S,f,C);return h()},M=t=>{let n=JSON.parse(t.text);D(n)};return R(M),document.querySelectorAll("script[data-djc]").forEach(M),{callComponent:A,registerComponent:B,registerComponentData:J,loadJs:_,loadCss:F,markScriptLoaded:b,waitForScriptsToLoad:L,_loadComponentScripts:D}};var U={manager:$(),createComponentsManager:$,unescapeJs:I};globalThis.DjangoComponents=U;globalThis.Components===void 0&&(globalThis.Components=U);})();
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.