diff --git a/assets/javascripts/bundle.d7f30b55.min.js b/assets/javascripts/bundle.d7f30b55.min.js index 1d62fbbac..ea97b2333 100644 --- a/assets/javascripts/bundle.d7f30b55.min.js +++ b/assets/javascripts/bundle.d7f30b55.min.js @@ -8,4 +8,4 @@ `)} `)}})}function kp(){return Ws||(Ws=zs("https://unpkg.com/pyodide@314.0.2/pyodide.js",()=>typeof loadPyodide=="undefined"||loadPyodide instanceof Element).pipe(d(()=>ut(null,null,function*(){try{let e=yield loadPyodide({indexURL:"https://cdn.jsdelivr.net/pyodide/v314.0.2/full/"});return yield e.loadPackage("micropip"),e}catch(e){return null}})),re(1))),Ws}function Ap(){Vs||(ace.define("ace/theme/zensical",["require","exports","module","ace/lib/dom"],(e,t)=>{t.isDark=!1,t.cssClass="ace-zensical",t.cssText=""}),Vs=!0)}function qs(e){return Ds||(Ds=zs("https://unpkg.com/ace-builds@1.44.0/src-noconflict/ace.js",()=>typeof ace=="undefined"||ace instanceof Element).pipe(re(1))),new F(t=>{let r=!0,n,o,i=Sp(e);i.root.setAttribute("data-md-exec-state","ready");let a=()=>Po(i.output),s=()=>ut(null,null,function*(){return o||(o=ut(null,null,function*(){if(i.root.setAttribute("data-md-exec-state","loading"),Nr(i.output,"Initializing..."),yield Lp(),!r)return null;let u=yield ln(kp()).then(f=>f);if(!r||!u)return null;if(i.install.length>0)try{let f=u.pyimport("micropip");for(let p of i.install)yield f.install(p)}catch(f){return Po(i.output),Nr(i.output,`Could not install one or more packages: ${i.install.join(", ")} ${String(f)}`),i.root.setAttribute("data-md-exec-state","error"),null}return r?(Po(i.output),i.root.setAttribute("data-md-exec-state","ready"),u):null})),o}),c=()=>{ut(null,null,function*(){let u=yield s();!r||!u||!n||Mp(u,n,i.output,i.session)})},l=u=>{u.ctrlKey&&u.key.toLowerCase()==="enter"&&(u.preventDefault(),i.run.click())};return i.run.addEventListener("click",c),i.clear.addEventListener("click",a),i.root.addEventListener("keydown",l),ut(null,null,function*(){yield ln(Ds),r&&(Ap(),i.editor.textContent="",n=ace.edit(i.editor),n.setTheme("ace/theme/zensical"),n.session.setMode("ace/mode/python"),n.setOption("fontFamily","var(--md-code-font)"),n.setOption("minLines",i.minLines),n.setOption("maxLines",i.maxLines),n.session.setValue(i.source),n.gotoLine(1,0,!1),n.clearSelection(),n.resize(),n.renderer.updateFull())}),t.next({ref:i.root}),()=>{r=!1,i.run.removeEventListener("click",c),i.clear.removeEventListener("click",a),i.root.removeEventListener("keydown",l),n==null||n.destroy(),i.root.removeAttribute("data-md-exec-state")}})}var Ks;function Cp(){return typeof GLightbox=="undefined"||GLightbox instanceof Element?it("https://unpkg.com/glightbox@3/dist/js/glightbox.min.js").pipe(me(()=>w),d(()=>{})):D(void 0)}function Hp(){return $i("https://unpkg.com/glightbox@3/dist/css/glightbox.min.css").pipe(me(()=>w),d(()=>{}))}function Bs(e){return Ks||(Ks=Cp().pipe(d(()=>new GLightbox(k({touchNavigation:!0,loop:!1,zoomable:!0,draggable:!0,openEffect:"zoom",closeEffect:"zoom",slideEffect:"slide",onOpen:()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()}},typeof GLightboxOptions!="undefined"?GLightboxOptions:{}))),re(1))),Hp().pipe(y(()=>Ks),y(t=>(t.reload(),e.map(r=>({ref:r})))))}var Gs=0,Ys=new Map;function $p(e){let t=document.createElement("h3");t.innerHTML=e.innerHTML;let r=[t],n=e.nextElementSibling;for(;n&&!(n instanceof HTMLHeadingElement);)r.push(n.cloneNode(!0)),n=n.nextElementSibling;return r}function Pp(e,t){for(let r of $("[href], [src]",e))for(let n of["href","src"]){let o=r.getAttribute(n);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){r[n]=new URL(r.getAttribute(n),t).toString();break}}for(let r of $("[name^=__], [for]",e))for(let n of["id","for","name"]){let o=r.getAttribute(n);o&&r.setAttribute(n,`${o}$preview_${Gs}`)}return Gs++,D(e)}function Ip(e){let t=Ys.get(e.toString());return t?D(t):An(e).pipe(y(r=>Pp(r,e)),d(r=>(Ys.set(e.toString(),r),r)))}function Js(e,t){let{sitemap$:r}=t;if(!(e instanceof HTMLAnchorElement))return w;if(!(X("navigation.instant.preview")||e.hasAttribute("data-preview")))return w;e.removeAttribute("title");let n=oe([cr(e),Dt(e).pipe(ke(1))]).pipe(d(([i,a])=>i||a),ce(),O(i=>i));return Rt([r,n]).pipe(y(([i])=>{let a=new URL(e.href);return a.search=a.hash="",i.has(`${a}`)?D(a):w}),y(i=>Ip(i)),y(i=>{let a=e.hash?`article [id="${decodeURIComponent(e.hash.slice(1))}"]`:"article h1",s=we(a,i);return typeof s=="undefined"?w:D($p(s))})).pipe(y(i=>{let a=new F(s=>{let c=$n(...i);return s.next(c),document.body.append(c),()=>c.remove()});return Fr(e,k({content$:a},t))}))}var Xs=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.marker{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}.edgeLabel .label rect{fill:#0000}.flowchartTitleText{fill:var(--md-mermaid-label-fg-color)}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color)}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}.classDiagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs marker.marker.composition.class path,defs marker.marker.dependency.class path,defs marker.marker.extension.class path{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs marker.marker.aggregation.class path{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}.statediagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs [id$=-barbEnd]{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}[id^=entity] path,[id^=entity] rect{fill:var(--md-default-bg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs .marker.oneOrMore.er *,defs .marker.onlyOne.er *,defs .marker.zeroOrMore.er *,defs .marker.zeroOrOne.er *{stroke:var(--md-mermaid-edge-color)!important}text:not([class]):last-child{fill:var(--md-mermaid-label-fg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}.actor-line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan,.sectionTitle{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}[id$=-arrowhead] path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}[id$=-sequencenumber],defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}[class^=activation]{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-label-fg-color);stroke-width:1.5px}";var Io,jp=0;function Fp(){return typeof mermaid=="undefined"||mermaid instanceof Element?it("https://unpkg.com/mermaid@11/dist/mermaid.min.js"):D(void 0)}function Zs(e){return e.classList.remove("mermaid"),Io||(Io=Fp().pipe(P(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Xs,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),d(()=>{}),re(1))),Io.subscribe(()=>ut(null,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${jp++}`,r=A("div",{class:"mermaid"}),n=e.textContent,{svg:o,fn:i}=yield mermaid.render(t,n),a=r.attachShadow({mode:"closed"});a.innerHTML=o,e.replaceWith(r),i==null||i(a)})),Io.pipe(d(()=>({ref:e})))}var Qs=A("table");function ec(e){return e.replaceWith(Qs),Qs.replaceWith(As(e)),D({ref:e})}function Up(e){let t=e.find(r=>r.checked)||e[0];return R(...e.map(r=>b(r,"change").pipe(d(()=>Y(`label[for="${r.id}"]`))))).pipe(J(Y(`label[for="${t.id}"]`)),d(r=>({active:r})))}function tc(e,{viewport$:t,target$:r}){let n=Y(".tabbed-labels",e),o=$(":scope > input",e),i=Ao("prev");e.append(i);let a=Ao("next");return e.append(a),j(()=>{let s=new I,c=s.pipe(be(),_e(!0));oe([s,Re(e),St(e)]).pipe(Q(c),Xe(1,je)).subscribe({next([{active:l},u]){let f=Tt(l),{width:p}=Ae(l);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${p}px`);let m=dn(n);(f.xm.x+u.width)&&n.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),oe([Wt(n),Re(n)]).pipe(Q(c)).subscribe(([l,u])=>{let f=Ar(n);i.hidden=l.x<16,a.hidden=l.x>f.width-u.width-16}),R(b(i,"click").pipe(d(()=>-1)),b(a,"click").pipe(d(()=>1))).pipe(Q(c)).subscribe(l=>{let{width:u}=Ae(n);n.scrollBy({left:u*l,behavior:"smooth"})}),r.pipe(Q(c),O(l=>o.includes(l))).subscribe(l=>l.click()),n.classList.add("tabbed-labels--linked");for(let l of o){let u=Y(`label[for="${l.id}"]`);u.replaceChildren(A("a",{href:`#${u.htmlFor}`,tabIndex:-1},...Array.from(u.childNodes))),b(u.firstElementChild,"click").pipe(Q(c),O(f=>!(f.metaKey||f.ctrlKey)),P(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${u.htmlFor}`),u.click()})}return X("content.tabs.link")&&s.pipe(ke(1),fe(t)).subscribe(([{active:l},{offset:u}])=>{let f=l.innerText.trim();if(l.hasAttribute("data-md-switching"))l.removeAttribute("data-md-switching");else{let p=e.offsetTop-u.y;for(let h of $("[data-tabs]"))for(let v of $(":scope > input",h)){let _=Y(`label[for="${v.id}"]`);if(_!==l&&_.innerText.trim()===f){_.setAttribute("data-md-switching",""),v.click();break}}window.scrollTo({top:e.offsetTop-p});let m=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...m])])}}),s.pipe(Q(c)).subscribe(()=>{for(let l of $("audio, video",e))l.offsetWidth&&l.autoplay?l.play().catch(()=>{}):l.pause()}),Up(o).pipe(P(l=>s.next(l)),q(()=>s.complete()),d(l=>k({ref:e},l)))}).pipe(It(ye))}function rc(e,t){let{viewport$:r,target$:n,print$:o}=t;return R(...$(".annotate:not(.highlight)",e).map(i=>Is(i,{target$:n,print$:o})),...$(".pyodide",e).map(i=>qs(i)),...$("pre:not(.mermaid) > code",e).filter(i=>!i.closest(".pyodide")).map(i=>Us(i,{target$:n,print$:o})),...$("a",e).map(i=>Js(i,t)),...$("pre.mermaid",e).map(i=>Zs(i)),...[$(".glightbox",e)].filter(i=>i.length>0).map(i=>Bs(i)),...$("table:not([class])",e).map(i=>ec(i)),...$("details",e).map(i=>Ns(i,{target$:n,print$:o})),...$("[data-tabs]",e).map(i=>tc(i,{viewport$:r,target$:n})),...$("[title]:not([data-preview])",e).filter(()=>X("content.tooltips")).map(i=>Ye(i,{viewport$:r})),...$(".footnote-ref",e).filter(()=>X("content.footnote.tooltips")).map(i=>Fr(i,{content$:new F(a=>{let s=new URL(i.href).hash.slice(1),c=Array.from(document.getElementById(s).cloneNode(!0).children),l=$n(...c);return a.next(l),document.body.append(l),()=>l.remove()}),viewport$:r})))}function Np(e,{alert$:t}){return t.pipe(y(r=>R(D(!0),D(!1).pipe(Ft(2e3))).pipe(d(n=>({message:r,active:n})))))}function nc(e,t){let r=Y(".md-typeset",e);return j(()=>{let n=new I;return n.subscribe(({message:o,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=o}),Np(e,t).pipe(P(o=>n.next(o)),q(()=>n.complete()),d(o=>k({ref:e},o)))})}function Dp({viewport$:e}){if(!X("header.autohide"))return D(!1);let t=e.pipe(d(({offset:{y:o}})=>o),jt(2,1),d(([o,i])=>[oMath.abs(i-o.y)>100),d(([,[o]])=>o),ce()),n=Cn("search");return oe([e,n]).pipe(d(([{offset:o},i])=>o.y>400&&!i),ce(),y(o=>o?r:D(!1)),J(!1))}function oc(e,t){return j(()=>oe([Re(e),Dp(t)])).pipe(d(([{height:r},n])=>({height:r,hidden:n})),ce((r,n)=>r.height===n.height&&r.hidden===n.hidden),re(1))}function ic(e,{viewport$:t,header$:r,main$:n}){return j(()=>{let o=new I,i=o.pipe(be(),_e(!0));o.pipe(ve("active"),Ze(r)).subscribe(([{active:s},{hidden:c}])=>{e.classList.toggle("md-header--shadow",s&&!c),e.hidden=c});let a=he($("[title]",e)).pipe(O(()=>X("content.tooltips")),se(s=>Ye(s,{viewport$:t})));return n.subscribe(o),r.pipe(Q(i),d(s=>k({ref:e},s)),Ut(a.pipe(Q(i))))})}function Wp(e,{viewport$:t,header$:r}){return Hn(e,{viewport$:t,header$:r}).pipe(d(({offset:{y:n}})=>{let{height:o}=Ae(e);return{active:o>0&&n>=o}}),ve("active"))}function ac(e,t){return j(()=>{let r=new I;r.subscribe({next({active:o}){e.classList.toggle("md-header__title--active",o)},complete(){e.classList.remove("md-header__title--active")}});let n=we(".md-content h1");return typeof n=="undefined"?w:Wp(n,t).pipe(P(o=>r.next(o)),q(()=>r.complete()),d(o=>k({ref:e},o)))})}function sc(e,{viewport$:t,header$:r}){let n=r.pipe(d(({height:i})=>i),ce()),o=n.pipe(y(()=>Re(e).pipe(d(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),ve("bottom"))));return oe([n,o,t]).pipe(d(([i,{top:a,bottom:s},{offset:{y:c},size:{height:l}}])=>(l=Math.max(0,l-Math.max(0,a-c,i)-Math.max(0,l+c-s)),{offset:a-i,height:l,active:a-i<=c})),ce((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Vp(e){let t=__md_get("__palette")||{index:e.findIndex(n=>matchMedia(n.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return D(...e).pipe(se(n=>b(n,"change").pipe(d(()=>n))),J(e[r]),d(n=>({index:e.indexOf(n),color:{media:n.getAttribute("data-md-color-media"),scheme:n.getAttribute("data-md-color-scheme"),primary:n.getAttribute("data-md-color-primary"),accent:n.getAttribute("data-md-color-accent")}})),re(1))}function cc(e){let t=$("input",e),r=A("meta",{name:"theme-color"});document.head.appendChild(r);let n=A("meta",{name:"color-scheme"});document.head.appendChild(n);let o=jr("(prefers-color-scheme: light)");return j(()=>{let i=new I;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=c.getAttribute("data-md-color-scheme"),a.color.primary=c.getAttribute("data-md-color-primary"),a.color.accent=c.getAttribute("data-md-color-accent")}for(let[s,c]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,c);for(let s=0;sa.key==="Enter"),fe(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(d(()=>{let a=bt("header"),s=window.getComputedStyle(a);return n.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(Ie(ye)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Vp(t).pipe(Q(o.pipe(ke(1))),Nt(),P(a=>i.next(a)),q(()=>i.complete()),d(a=>k({ref:e},a)))})}function lc(e,{progress$:t}){return j(()=>{let r=new I;return r.subscribe(({value:n})=>{e.style.setProperty("--md-progress-value",`${n}`)}),t.pipe(P(n=>r.next({value:n})),q(()=>r.complete()),d(n=>({ref:e,value:n})))})}var uc='.m u{text-decoration:underline!important;text-decoration-style:wavy!important;text-decoration-thickness:1px!important}.p{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-backdrop)/var(--alpha-lighter));cursor:pointer;height:100%;pointer-events:auto;position:absolute;transition:opacity .25s;width:100%}.p.v{opacity:0;pointer-events:none;transition:opacity .35s}.r{align-items:center;background-color:initial;border:none;border-radius:var(--space-2);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-family);height:36px;justify-content:center;outline:none;padding:0;position:relative;transition:background-color .25s,color .25s;width:36px;z-index:1}.r svg{stroke:rgb(var(--color-foreground));height:18px;opacity:.5;width:18px}.r:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.r:hover:before{opacity:1;transform:scale(1)}.r.c{cursor:auto}.r.c:before{display:none}.n{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background)/var(--alpha-light));border:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));border-radius:var(--space-3);box-shadow:0 0 60px #0000000d;display:flex;height:480px;overflow:hidden;pointer-events:auto;position:absolute;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;width:640px}.n.l{opacity:0;pointer-events:none;transform:scale(1.1);transition:transform .25s .15s,opacity .15s}@media (max-width:680px){.n{border-radius:0;height:100%;width:100%}}.y{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0}@keyframes d{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.w{animation:d .25s ease-in-out;background:var(--color-highlight);border-radius:100%;color:#fff;font-size:8px;font-weight:700;height:12px;padding-top:1px;position:absolute;right:4px;top:4px;width:12px}.e{background-color:rgb(var(--color-background-subtle)/var(--alpha-lighter));border-left:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));flex-shrink:0;overflow-y:scroll;position:relative;transition:width .35s cubic-bezier(.16,1,.3,1),opacity .25s;width:200px}.e>*{transform:translate(0);transition:transform .25s cubic-bezier(.16,1,.3,1)}.e.l{opacity:0;width:0}.e.l>*{transform:translate(-48px)}@media (max-width:680px){.e{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background-subtle)/var(--alpha-light));box-shadow:0 0 60px #00000026;height:100%;position:absolute;right:0;top:0}}.k{border-bottom:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));display:flex;gap:var(--space-1);padding:var(--space-2)}.z{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.j{padding:8px 10px}.X{color:rgb(var(--color-foreground)/var(--alpha-light));padding:var(--space-2);position:absolute;width:100%}.F,.X{display:flex;flex-direction:column}.F{gap:2px;list-style:none;padding:0}.F,.I{margin:0}.I{font-size:16px;font-weight:400}.I,.R{padding:8px}.R{font-size:14px;margin:4px 0 0;opacity:.5}.R,.o{font-size:12px}.o{cursor:pointer;display:flex;padding:4px 8px;position:relative}.o:before{background-color:var(--color-highlight-transparent);border-radius:var(--space-1);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.o.g:before,.o:hover:before{opacity:1;transform:scale(1)}.o.g,.o:hover{color:var(--color-highlight)}.q{flex-grow:1}.A,.q{position:relative}.A{font-weight:700}.f{flex-grow:1}.f input{background:#0000;border:none;color:rgb(var(--color-foreground));font-family:var(--font-family);font-size:16px;height:100%;letter-spacing:-.25px;outline:none;width:100%}.b{color:rgb(var(--color-foreground)/var(--alpha-light));display:flex;flex-direction:column;gap:2px;line-height:1.3;list-style:none;margin:var(--space-2);margin-top:0;padding:0}.B,.b li{margin:0}.B{color:rgb(var(--color-foreground)/var(--alpha-lighter));font-size:12px;margin-top:var(--space-2);padding:0 18px}.i{border-radius:var(--space-2);color:inherit;cursor:pointer;display:flex;flex-direction:row;flex-grow:1;padding:8px 10px;position:relative;text-decoration:none}.i:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";display:block;inset:0;opacity:0;position:absolute;transform:scale(.9);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.i.h:before,.i:hover:before{opacity:1;transform:scale(1)}}.i mark{background:#0000;color:var(--color-highlight)}.i u{text-decoration:underline}.C{flex-direction:column;flex-grow:1;gap:5.5px}.C,.D{display:flex;min-width:0}.D{align-items:flex-start;gap:var(--space-2);justify-content:space-between}.s{align-items:flex-end;align-self:flex-end;display:flex;flex-direction:column;gap:6px;justify-content:flex-end;margin-right:-8px;margin-top:auto;opacity:0;position:relative;transform:translate(-2px);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.h>.s,:hover>.s{opacity:1;transform:none}}.x{font-size:14px;margin:0;position:relative}.x code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);font-size:13px;padding:2px 4px}.t{color:rgb(var(--color-foreground)/.45);display:inline-flex;flex:1 1 auto;flex-wrap:wrap;font-size:12px;gap:var(--space-1);list-style:none;margin:0;min-width:0;padding:0;position:relative}.t li{white-space:nowrap}.t li:after{content:"/";display:inline;margin-left:var(--space-1)}.t li:last-child:after{content:"";display:none}.u{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:rgb(var(--color-foreground));display:-webkit-box;font-size:12px;line-height:1.5;overflow:hidden;position:relative}.u code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);padding:2px 4px}.E,.u code{font-size:11px}.E{color:rgb(var(--color-foreground)/.45);line-height:1;white-space:nowrap;z-index:1}.a{--space-1:4px;--space-2:calc(var(--space-1)*2);--space-3:calc(var(--space-2)*2);--space-4:calc(var(--space-3)*2);--space-5:calc(var(--space-4)*2);--alpha-light:.7;--alpha-lighter:.54;--alpha-lightest:.07;--color-highlight:var(--md-accent-fg-color,#526cfe);--color-highlight-transparent:var( --md-accent-fg-color--transparent,#526cfe1a );--border-radius-1:var(--space-1);--border-radius-2:var(--space-2);--border-radius-3:calc(var(--space-1) + var(--space-2));--font-family:var( --md-text-font-family,Inter,Roboto Flex,system-ui,sans-serif );--font-size:16px;--line-height:1.5;--letter-spacing:-.5px;-webkit-font-smoothing:antialiased;align-items:center;display:flex;font-family:var(--font-family);font-size:var(--font-size);height:100vh;justify-content:center;letter-spacing:var(--letter-spacing);line-height:var(--line-height);pointer-events:none;position:absolute;width:100vw}@media (pointer:coarse){.a{height:-webkit-fill-available}}.a *,.a :after,.a :before{box-sizing:border-box}';function pc(e,{index$:t}){let r=Ne(),n=document.createElement("div");document.body.appendChild(n),n.style.position="fixed",n.style.height="100%",n.style.top="0",n.style.zIndex="4";let o=n.attachShadow({mode:"open"});o.appendChild(A("style",{},uc.toString()));try{is(r.search,{highlight:r.features.includes("search.highlight")}),he(t).subscribe(i=>{for(let a of i.items)a.location=new URL(`./${a.location}`,r.base).toString();cs(i,o)}),b(e,"click").subscribe(()=>{wo()}),Cn("search").pipe(ke(1)).subscribe(()=>wo())}catch(i){e.hidden=!0;let a=Y("label[for=__search]");a.hidden=!0}return Be}var fc=xr(ko());function mc(e,{index$:t,location$:r}){return oe([t,r.pipe(J(Ue()),O(n=>!!n.searchParams.get("h")))]).pipe(d(([n,o])=>qp(n.config)(o.searchParams.get("h"))),d(n=>{var a;let o=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let c=s.textContent,l=n(c);l.length>c.length&&o.set(s,l)}for(let[s,c]of o){let{childNodes:l}=A("span",null,c);s.replaceWith(...Array.from(l))}return{ref:e,nodes:o}}))}function qp(e){let t=e.separator.split("|").map(o=>o.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":o).join("|"),r=new RegExp(t,"img"),n=(o,i,a)=>`${i}${a}`;return o=>{o=o.replace(/\s+/g," ").replace(/&/g,"&").trim();let i=new RegExp(`(^|${e.separator}|)(${o.split(r).map(a=>a.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")).filter(a=>a.length>=2).join("|")})`,"img");return a=>(0,fc.default)(a).replace(i,n).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Kp(e,{viewport$:t,main$:r}){let n=e.closest(".md-grid"),o=n.offsetTop-n.parentElement.offsetTop;return oe([r,t]).pipe(d(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(o,Math.max(0,s-i))-o,{height:a,locked:s>=i+o})),ce((i,a)=>i.height===a.height&&i.locked===a.locked))}function Ro(e,n){var o=n,{header$:t}=o,r=_r(o,["header$"]);let i=Y(".md-sidebar__scrollwrap",e),{y:a}=Tt(i);return j(()=>{let s=new I,c=s.pipe(be(),_e(!0)),l=s.pipe(Xe(0,je));return l.pipe(fe(t)).subscribe({next([{height:u},{height:f}]){i.style.height=`${u-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),l.pipe(Lr()).subscribe(()=>{for(let u of $(".md-nav__link--active[href]",e)){if(!u.clientHeight)continue;let f=u.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let p=u.offsetTop-f.offsetTop,{height:m}=Ae(f);f.scrollTo({top:p-m/2})}}}),he($("label[tabindex]",e)).pipe(se(u=>b(u,"click").pipe(Ie(ye),d(()=>u),Q(c)))).subscribe(u=>{let f=Y(`[id="${u.htmlFor}"]`);Y(`[aria-labelledby="${u.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),X("content.tooltips")&&he($("abbr[title]",e)).pipe(se(u=>Ye(u,{viewport$})),Q(c)).subscribe(),Kp(e,r).pipe(P(u=>s.next(u)),q(()=>s.complete()),d(u=>k({ref:e},u)))})}function dc(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Rt(et(`${r}/releases/latest`).pipe(me(()=>w),d(n=>({version:n.tag_name})),ot({})),et(r).pipe(me(()=>w),d(n=>({stars:n.stargazers_count,forks:n.forks_count})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}else{let r=`https://api.github.com/users/${e}`;return et(r).pipe(d(n=>({repositories:n.public_repos})),ot({}))}}function hc(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Rt(et(`${r}/releases/permalink/latest`).pipe(me(()=>w),d(({tag_name:n})=>({version:n})),ot({})),et(r).pipe(me(()=>w),d(({star_count:n,forks_count:o})=>({stars:n,forks:o})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}function vc(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,n]=t;return dc(r,n)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,n]=t;return hc(r,n)}return w}var Bp;function Gp(e){return Bp||(Bp=j(()=>{let t=__md_get("__source",sessionStorage);if(t)return D(t);if(Te("consent").length){let n=__md_get("__consent");if(!(n&&n.github))return w}return vc(e.href).pipe(P(n=>__md_set("__source",n,sessionStorage)))}).pipe(me(()=>w),O(t=>Object.keys(t).length>0),d(t=>({facts:t})),re(1)))}function bc(e){let t=Y(":scope > :last-child",e);return j(()=>{let r=new I;return r.subscribe(({facts:n})=>{t.appendChild(ks(n)),t.classList.add("md-source__repository--active")}),Gp(e).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Yp(e,{viewport$:t,header$:r}){return Re(document.body).pipe(y(()=>Hn(e,{header$:r,viewport$:t})),d(({offset:{y:n}})=>({hidden:n>=10})),ve("hidden"))}function gc(e,t){return j(()=>{let r=new I;return r.subscribe({next({hidden:n}){e.hidden=n},complete(){e.hidden=!1}}),(X("navigation.tabs.sticky")?D({hidden:!1}):Yp(e,t)).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Jp(e,{viewport$:t,header$:r}){let n=new Map,o=$(".md-nav__link",e);for(let s of o){let c=decodeURIComponent(s.hash.substring(1)),l=we(`[id="${c}"]`);typeof l!="undefined"&&n.set(s,l)}let i=r.pipe(ve("height"),d(({height:s})=>{let c=bt("main"),l=Y(":scope > :first-child",c);return s+.9*(l.offsetTop-c.offsetTop)}),xe());return Re(document.body).pipe(ve("height"),y(s=>j(()=>{let c=[];return D([...n].reduce((l,[u,f])=>{for(;c.length&&n.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let p=f.offsetTop;for(;!p&&f.parentElement;)f=f.parentElement,p=f.offsetTop;let m=f.offsetParent;for(;m;m=m.offsetParent)p+=m.offsetTop;return l.set([...c=[...c,u]].reverse(),p)},new Map))}).pipe(d(c=>new Map([...c].sort(([,l],[,u])=>l-u))),Ze(i),y(([c,l])=>t.pipe(Mr(([u,f],{offset:{y:p},size:m})=>{let h=p+m.height>=Math.floor(s.height);for(;f.length;){let[,v]=f[0];if(v-l=p&&!h)f=[u.pop(),...f];else break}return[u,f]},[[],[...c]]),ce((u,f)=>u[0]===f[0]&&u[1]===f[1])))))).pipe(d(([s,c])=>({prev:s.map(([l])=>l),next:c.map(([l])=>l)})),J({prev:[],next:[]}),jt(2,1),d(([s,c])=>s.prev.length{let i=new I,a=i.pipe(be(),_e(!0));i.subscribe(({prev:c,next:l})=>{for(let[u]of l)u.classList.remove("md-nav__link--passed"),u.classList.remove("md-nav__link--active");for(let[u,[f]]of c.entries())f.classList.add("md-nav__link--passed"),f.classList.toggle("md-nav__link--active",u===c.length-1)});let s=we(".md-sidebar--secondary");if(typeof s!="undefined"&&b(document.body,"click").subscribe(c=>{let l=c.target;if(!s.contains(l)){let u=we(".md-nav__toggle",s);typeof u!="undefined"&&(u.checked=!1)}}),X("toc.follow")){let c=R(t.pipe(Ge(1),d(()=>{})),t.pipe(Ge(250),d(()=>"smooth")));i.pipe(O(({prev:l})=>l.length>0),Ze(n.pipe(Ie(ye))),fe(c)).subscribe(([[{prev:l}],u])=>{let[f]=l[l.length-1];if(f.offsetHeight){let p=Ii(f);if(typeof p!="undefined"){let m=f.offsetTop-p.offsetTop,{height:h}=Ae(p);p.scrollTo({top:m-h/2,behavior:u})}}})}return X("navigation.tracking")&&t.pipe(Q(a),ve("offset"),Ge(250),ke(1),Q(o.pipe(ke(1))),Nt({delay:250}),fe(i)).subscribe(([,{prev:c}])=>{let l=Ue(),u=c[c.length-1];if(u&&u.length){let[f]=u,{hash:p}=new URL(f.href);l.hash!==p&&(l.hash=p,history.replaceState({},"",`${l}`))}else l.hash="",history.replaceState({},"",`${l}`)}),Jp(e,{viewport$:t,header$:r}).pipe(P(c=>i.next(c)),q(()=>i.complete()),d(c=>k({ref:e},c)))})}function Xp(e,{viewport$:t,main$:r,target$:n}){let o=t.pipe(d(({offset:{y:a}})=>a),jt(2,1),d(([a,s])=>a>s&&s>0),ce()),i=r.pipe(d(({active:a})=>a));return oe([i,o]).pipe(d(([a,s])=>!(a&&s)),ce(),Q(n.pipe(ke(1))),_e(!0),Nt({delay:250}),d(a=>({hidden:a})))}function _c(e,{viewport$:t,header$:r,main$:n,target$:o}){let i=new I,a=i.pipe(be(),_e(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(Q(a),ve("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),b(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),Xp(e,{viewport$:t,main$:n,target$:o}).pipe(P(s=>i.next(s)),q(()=>i.complete()),d(s=>k({ref:e},s)))}function xc(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,t.port&&(e.port=t.port),e}function Zp(e,t){let r=new Map;for(let n of $("url",e)){let o=Y("loc",n),i=[xc(new URL(o.textContent),t)];r.set(`${i[0]}`,i);for(let a of $("[rel=alternate]",n)){let s=a.getAttribute("href");s!=null&&i.push(xc(new URL(s),t))}}return r}function vr(e){return hs(new URL("sitemap.xml",e)).pipe(d(t=>Zp(t,new URL(e))),me(()=>D(new Map)),xe())}function wc({document$:e}){let t=new Map;e.pipe(y(()=>$("link[rel=alternate]")),d(r=>__ha_langroot(r.href)),O(r=>!t.has(r.toString())),se(r=>vr(r).pipe(d(n=>[r,n]),me(()=>w)))).subscribe(([r,n])=>{t.set(r.toString().replace(/\/$/,""),n)}),b(document.body,"click").pipe(O(r=>!r.metaKey&&!r.ctrlKey),y(r=>{if(r.target instanceof Element){let n=r.target.closest("a");if(n&&!n.target){let o=[...t].find(([f])=>n.href.startsWith(`${f}/`));if(typeof o=="undefined")return w;let[i,a]=o,s=Ue();if(s.href.startsWith(i))return w;let c=Ne(),l=s.href.replace(c.base,"");l=`${i}/${l}`;let u=a.has(l.split("#")[0])?new URL(l,c.base):new URL(i);return r.preventDefault(),D(u)}}return w})).subscribe(r=>vt(r,!0))}var jo=xr(Ho());function Qp(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Ec({alert$:e}){jo.default.isSupported()&&new F(t=>{new jo.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Qp(Y(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(P(t=>{t.trigger.focus()}),d(()=>Gt("clipboard.copied"))).subscribe(e)}function Tc(e,t){if(!(e.target instanceof Element))return w;let r=e.target.closest("a");if(r===null)return w;if(r.target||e.metaKey||e.ctrlKey)return w;let n=new URL(r.href);return n.search=n.hash="",t.has(`${n}`)?(e.preventDefault(),D(r)):w}function Sc(e){let t=new Map;for(let r of $(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Oc(e){for(let t of $("[href], [src]",e))for(let r of["href","src"]){let n=t.getAttribute(r);if(n&&!/^(?:[a-z]+:)?\/\//i.test(n)){t[r]=t[r];break}}return D(e)}function ef(e){var r;if(e.tagName!=="STYLE")return!1;let t=(r=e.textContent)!=null?r:"";return t.includes(".ace_editor")||t.includes(".ace-zensical")||t.includes(".ace_scroller")||t.includes(".ace_gutter")}function tf(e){for(let n of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...X("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let o=we(n),i=we(n,e);typeof o!="undefined"&&typeof i!="undefined"&&o.replaceWith(i)}let t=Sc(document);for(let[n,o]of Sc(e))t.has(n)?t.delete(n):document.head.appendChild(o);for(let n of t.values()){let o=n.getAttribute("name");o!=="theme-color"&&o!=="color-scheme"&&!ef(n)&&n.remove()}let r=bt("container");return nt($("script",r)).pipe(y(n=>{let o=e.createElement("script");if(n.src){for(let i of n.getAttributeNames())o.setAttribute(i,n.getAttribute(i));return n.replaceWith(o),new F(i=>{o.onload=()=>i.complete()})}else return o.textContent=n.textContent,n.replaceWith(o),w}),be(),_e(document))}function Lc({sitemap$:e,location$:t,viewport$:r,progress$:n}){if(location.protocol==="file:")return Be;D(document).subscribe(Oc);let o=b(document.body,"click").pipe(Ze(e),y(([s,c])=>Tc(s,c)),d(({href:s})=>new URL(s)),xe()),i=b(window,"popstate").pipe(d(Ue),xe());o.pipe(fe(r)).subscribe(([s,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",s)}),R(o,i).subscribe(t);let a=t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname!==c.pathname),d(([,s])=>s),y(s=>An(s,{progress$:n}).pipe(me(()=>(vt(s,!0),w)))),y(Oc),y(tf),xe());return R(a.pipe(fe(t,(s,c)=>c)),a.pipe(y(()=>t),ve("hash")),t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname===c.pathname&&s.hash!==c.hash),d(([,s])=>s)),t.pipe(ce((s,c)=>s.pathname===c.pathname&&s.hash===c.hash),y(()=>o),P(()=>history.back()))).subscribe(s=>{var c,l;history.state!==null||!s.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",fs(s.hash),history.scrollRestoration="manual")}),t.subscribe(()=>{history.scrollRestoration="manual"}),b(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),r.pipe(ve("offset"),Ge(100)).subscribe(({offset:s})=>{history.replaceState(s,"")}),X("navigation.instant.prefetch")&&R(b(document.body,"mousemove"),b(document.body,"focusin")).pipe(Ze(e),y(([s,c])=>Tc(s,c)),Ge(25),eo(({href:s})=>s),fn(s=>{let c=document.createElement("link");return c.rel="prefetch",c.href=s.toString(),document.head.appendChild(c),b(c,"load").pipe(d(()=>c),Me(1))})).subscribe(s=>s.remove()),a}function Mc(e){var u;let{selectedVersionSitemap:t,selectedVersionBaseURL:r,currentLocation:n,currentBaseURL:o}=e,i=(u=Fo(o))==null?void 0:u.pathname;if(i===void 0)return;let a=rf(n.pathname,i);if(a===void 0)return;let s=of(t.keys());if(!t.has(s))return;let c=Fo(a,s);if(!c||!t.has(c.href))return;let l=Fo(a,r);if(l)return l.hash=n.hash,l.search=n.search,l}function Fo(e,t){try{return new URL(e,t)}catch(r){return}}function rf(e,t){if(e.startsWith(t))return e.slice(t.length)}function nf(e,t){let r=Math.min(e.length,t.length),n;for(n=0;nw)),n=r.pipe(d(o=>{let[,i]=t.base.match(/([^/]+)\/?$/);return o.find(({version:a,aliases:s})=>a===i||s.includes(i))||o[0]}));r.pipe(d(o=>new Map(o.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),y(o=>b(document.body,"click").pipe(O(i=>!i.metaKey&&!i.ctrlKey),fe(n),y(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&o.has(s.href)){let c=s.href;return!i.target.closest(".md-version")&&o.get(c)===a?w:(i.preventDefault(),D(new URL(c)))}}return w}),y(i=>vr(i).pipe(d(a=>{var s;return(s=Mc({selectedVersionSitemap:a,selectedVersionBaseURL:i,currentLocation:Ue(),currentBaseURL:t.base}))!=null?s:i})))))).subscribe(o=>vt(o,!0)),oe([r,n]).subscribe(([o,i])=>{Y(".md-header__topic").appendChild(Cs(o,i))}),e.pipe(y(()=>n)).subscribe(o=>{var s;let i=new URL(t.base),a=__md_get("__outdated",sessionStorage,i);if(a===null){a=!0;let c=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(c)||(c=[c]);e:for(let l of c)for(let u of o.aliases.concat(o.version))if(new RegExp(l,"i").test(u)){a=!1;break e}__md_set("__outdated",a,sessionStorage,i)}if(a)for(let c of Te("outdated"))c.hidden=!1})}function Ac({document$:e,viewport$:t}){e.pipe(y(()=>$(".md-ellipsis")),se(r=>St(r).pipe(Q(e.pipe(ke(1))),O(n=>n),d(()=>r),Me(1))),O(r=>r.offsetWidth{let n=r.innerText,o=r.closest("a")||r;return o.title=n,X("content.tooltips")?Ye(o,{viewport$:t}).pipe(Q(e.pipe(ke(1))),q(()=>o.removeAttribute("title"))):w})).subscribe(),X("content.tooltips")&&e.pipe(y(()=>$(".md-status")),se(r=>Ye(r,{viewport$:t}))).subscribe()}function Cc({document$:e,tablet$:t}){e.pipe(y(()=>$(".md-toggle--indeterminate")),P(r=>{r.indeterminate=!0,r.checked=!1}),se(r=>b(r,"change").pipe(no(()=>r.classList.contains("md-toggle--indeterminate")),d(()=>r))),fe(t)).subscribe(([r,n])=>{r.classList.remove("md-toggle--indeterminate"),n&&(r.checked=!1)})}function af(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Hc({document$:e}){e.pipe(y(()=>$("[data-md-scrollfix]")),P(t=>t.removeAttribute("data-md-scrollfix")),O(af),se(t=>b(t,"touchstart").pipe(d(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let n=e[r];typeof n=="string"?n=document.createTextNode(n):n.parentNode&&n.parentNode.removeChild(n),r?t.insertBefore(this.previousSibling,n):t.replaceChild(n,this)}}}));function sf(){return location.protocol==="file:"?it(`${new URL("search.js",In.base)}`).pipe(d(()=>__index),me(()=>Be),re(1)):et(new URL("search.json",In.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var gt=Ai(),Wr=us(),br=ms(Wr),Pc=ls(),qe=_s(),Uo=jr("(min-width: 60em)"),Ic=jr("(min-width: 76.25em)"),Rc=ds(),In=Ne(),jc=we(".md-search")?sf():Be,No=new I;Ec({alert$:No});wc({document$:gt});var Do=new I,Fc=vr(In.base);X("navigation.instant")&&Lc({sitemap$:Fc,location$:Wr,viewport$:qe,progress$:Do}).subscribe(gt);var $c;(($c=In.version)==null?void 0:$c.provider)==="mike"&&kc({document$:gt});R(Wr,br).pipe(Ft(125)).subscribe(()=>{Lo("drawer",!1),Lo("search",!1)});Pc.pipe(O(({mode:e,meta:t})=>e==="global"&&!t)).subscribe(e=>{switch(e.type){case",":case"p":let t=document.querySelector("link[rel=prev]");t instanceof HTMLLinkElement&&vt(t);break;case".":case"n":let r=document.querySelector("link[rel=next]");r instanceof HTMLLinkElement&&vt(r);break;case"/":let n=document.querySelector("[data-md-component=search] button");n instanceof HTMLButtonElement&&n.click();break;case"Enter":let o=Et();o instanceof HTMLLabelElement&&o.click()}});Ac({viewport$:qe,document$:gt});Cc({document$:gt,tablet$:Uo});Hc({document$:gt});var Ct=oc(bt("header"),{viewport$:qe}),Dr=gt.pipe(d(()=>bt("main")),y(e=>sc(e,{viewport$:qe,header$:Ct})),re(1)),cf=R(...Te("consent").map(e=>ws(e,{target$:br})),...Te("dialog").map(e=>nc(e,{alert$:No})),...Te("palette").map(e=>cc(e)),...Te("progress").map(e=>lc(e,{progress$:Do})),...Te("search").map(e=>pc(e,{index$:jc})),...Te("source").map(e=>bc(e))),lf=j(()=>R(...Te("announce").map(e=>xs(e)),...Te("content").map(e=>rc(e,{sitemap$:Fc,viewport$:qe,target$:br,print$:Rc})),...Te("content").map(e=>X("search.highlight")?mc(e,{index$:jc,location$:Wr}):w),...Te("header").map(e=>ic(e,{viewport$:qe,header$:Ct,main$:Dr})),...Te("header-title").map(e=>ac(e,{viewport$:qe,header$:Ct})),...Te("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?To(Ic,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr})):To(Uo,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr}))),...Te("tabs").map(e=>gc(e,{viewport$:qe,header$:Ct})),...Te("toc").map(e=>yc(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})),...Te("top").map(e=>_c(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})))),Uc=gt.pipe(y(()=>lf),Ut(cf),re(1));Uc.subscribe();window.document$=gt;window.location$=Wr;window.target$=br;window.keyboard$=Pc;window.viewport$=qe;window.tablet$=Uo;window.screen$=Ic;window.print$=Rc;window.alert$=No;window.progress$=Do;window.component$=Uc;})(); -/*! update cache: 20260721202919 */ +/*! update cache: 20260722173953 */ diff --git a/en/assets/javascripts/bundle.d7f30b55.min.js b/en/assets/javascripts/bundle.d7f30b55.min.js index 068130f9c..919f24162 100644 --- a/en/assets/javascripts/bundle.d7f30b55.min.js +++ b/en/assets/javascripts/bundle.d7f30b55.min.js @@ -8,4 +8,4 @@ `)} `)}})}function kp(){return Ws||(Ws=zs("https://unpkg.com/pyodide@314.0.2/pyodide.js",()=>typeof loadPyodide=="undefined"||loadPyodide instanceof Element).pipe(d(()=>ut(null,null,function*(){try{let e=yield loadPyodide({indexURL:"https://cdn.jsdelivr.net/pyodide/v314.0.2/full/"});return yield e.loadPackage("micropip"),e}catch(e){return null}})),re(1))),Ws}function Ap(){Vs||(ace.define("ace/theme/zensical",["require","exports","module","ace/lib/dom"],(e,t)=>{t.isDark=!1,t.cssClass="ace-zensical",t.cssText=""}),Vs=!0)}function qs(e){return Ds||(Ds=zs("https://unpkg.com/ace-builds@1.44.0/src-noconflict/ace.js",()=>typeof ace=="undefined"||ace instanceof Element).pipe(re(1))),new F(t=>{let r=!0,n,o,i=Sp(e);i.root.setAttribute("data-md-exec-state","ready");let a=()=>Po(i.output),s=()=>ut(null,null,function*(){return o||(o=ut(null,null,function*(){if(i.root.setAttribute("data-md-exec-state","loading"),Nr(i.output,"Initializing..."),yield Lp(),!r)return null;let u=yield ln(kp()).then(f=>f);if(!r||!u)return null;if(i.install.length>0)try{let f=u.pyimport("micropip");for(let p of i.install)yield f.install(p)}catch(f){return Po(i.output),Nr(i.output,`Could not install one or more packages: ${i.install.join(", ")} ${String(f)}`),i.root.setAttribute("data-md-exec-state","error"),null}return r?(Po(i.output),i.root.setAttribute("data-md-exec-state","ready"),u):null})),o}),c=()=>{ut(null,null,function*(){let u=yield s();!r||!u||!n||Mp(u,n,i.output,i.session)})},l=u=>{u.ctrlKey&&u.key.toLowerCase()==="enter"&&(u.preventDefault(),i.run.click())};return i.run.addEventListener("click",c),i.clear.addEventListener("click",a),i.root.addEventListener("keydown",l),ut(null,null,function*(){yield ln(Ds),r&&(Ap(),i.editor.textContent="",n=ace.edit(i.editor),n.setTheme("ace/theme/zensical"),n.session.setMode("ace/mode/python"),n.setOption("fontFamily","var(--md-code-font)"),n.setOption("minLines",i.minLines),n.setOption("maxLines",i.maxLines),n.session.setValue(i.source),n.gotoLine(1,0,!1),n.clearSelection(),n.resize(),n.renderer.updateFull())}),t.next({ref:i.root}),()=>{r=!1,i.run.removeEventListener("click",c),i.clear.removeEventListener("click",a),i.root.removeEventListener("keydown",l),n==null||n.destroy(),i.root.removeAttribute("data-md-exec-state")}})}var Ks;function Cp(){return typeof GLightbox=="undefined"||GLightbox instanceof Element?it("https://unpkg.com/glightbox@3/dist/js/glightbox.min.js").pipe(me(()=>w),d(()=>{})):D(void 0)}function Hp(){return $i("https://unpkg.com/glightbox@3/dist/css/glightbox.min.css").pipe(me(()=>w),d(()=>{}))}function Bs(e){return Ks||(Ks=Cp().pipe(d(()=>new GLightbox(k({touchNavigation:!0,loop:!1,zoomable:!0,draggable:!0,openEffect:"zoom",closeEffect:"zoom",slideEffect:"slide",onOpen:()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()}},typeof GLightboxOptions!="undefined"?GLightboxOptions:{}))),re(1))),Hp().pipe(y(()=>Ks),y(t=>(t.reload(),e.map(r=>({ref:r})))))}var Gs=0,Ys=new Map;function $p(e){let t=document.createElement("h3");t.innerHTML=e.innerHTML;let r=[t],n=e.nextElementSibling;for(;n&&!(n instanceof HTMLHeadingElement);)r.push(n.cloneNode(!0)),n=n.nextElementSibling;return r}function Pp(e,t){for(let r of $("[href], [src]",e))for(let n of["href","src"]){let o=r.getAttribute(n);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){r[n]=new URL(r.getAttribute(n),t).toString();break}}for(let r of $("[name^=__], [for]",e))for(let n of["id","for","name"]){let o=r.getAttribute(n);o&&r.setAttribute(n,`${o}$preview_${Gs}`)}return Gs++,D(e)}function Ip(e){let t=Ys.get(e.toString());return t?D(t):An(e).pipe(y(r=>Pp(r,e)),d(r=>(Ys.set(e.toString(),r),r)))}function Js(e,t){let{sitemap$:r}=t;if(!(e instanceof HTMLAnchorElement))return w;if(!(X("navigation.instant.preview")||e.hasAttribute("data-preview")))return w;e.removeAttribute("title");let n=oe([cr(e),Dt(e).pipe(ke(1))]).pipe(d(([i,a])=>i||a),ce(),O(i=>i));return Rt([r,n]).pipe(y(([i])=>{let a=new URL(e.href);return a.search=a.hash="",i.has(`${a}`)?D(a):w}),y(i=>Ip(i)),y(i=>{let a=e.hash?`article [id="${decodeURIComponent(e.hash.slice(1))}"]`:"article h1",s=we(a,i);return typeof s=="undefined"?w:D($p(s))})).pipe(y(i=>{let a=new F(s=>{let c=$n(...i);return s.next(c),document.body.append(c),()=>c.remove()});return Fr(e,k({content$:a},t))}))}var Xs=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.marker{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}.edgeLabel .label rect{fill:#0000}.flowchartTitleText{fill:var(--md-mermaid-label-fg-color)}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color)}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}.classDiagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs marker.marker.composition.class path,defs marker.marker.dependency.class path,defs marker.marker.extension.class path{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs marker.marker.aggregation.class path{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}.statediagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs [id$=-barbEnd]{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}[id^=entity] path,[id^=entity] rect{fill:var(--md-default-bg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs .marker.oneOrMore.er *,defs .marker.onlyOne.er *,defs .marker.zeroOrMore.er *,defs .marker.zeroOrOne.er *{stroke:var(--md-mermaid-edge-color)!important}text:not([class]):last-child{fill:var(--md-mermaid-label-fg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}.actor-line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan,.sectionTitle{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}[id$=-arrowhead] path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}[id$=-sequencenumber],defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}[class^=activation]{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-label-fg-color);stroke-width:1.5px}";var Io,jp=0;function Fp(){return typeof mermaid=="undefined"||mermaid instanceof Element?it("https://unpkg.com/mermaid@11/dist/mermaid.min.js"):D(void 0)}function Zs(e){return e.classList.remove("mermaid"),Io||(Io=Fp().pipe(P(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Xs,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),d(()=>{}),re(1))),Io.subscribe(()=>ut(null,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${jp++}`,r=A("div",{class:"mermaid"}),n=e.textContent,{svg:o,fn:i}=yield mermaid.render(t,n),a=r.attachShadow({mode:"closed"});a.innerHTML=o,e.replaceWith(r),i==null||i(a)})),Io.pipe(d(()=>({ref:e})))}var Qs=A("table");function ec(e){return e.replaceWith(Qs),Qs.replaceWith(As(e)),D({ref:e})}function Up(e){let t=e.find(r=>r.checked)||e[0];return R(...e.map(r=>b(r,"change").pipe(d(()=>Y(`label[for="${r.id}"]`))))).pipe(J(Y(`label[for="${t.id}"]`)),d(r=>({active:r})))}function tc(e,{viewport$:t,target$:r}){let n=Y(".tabbed-labels",e),o=$(":scope > input",e),i=Ao("prev");e.append(i);let a=Ao("next");return e.append(a),j(()=>{let s=new I,c=s.pipe(be(),_e(!0));oe([s,Re(e),St(e)]).pipe(Q(c),Xe(1,je)).subscribe({next([{active:l},u]){let f=Tt(l),{width:p}=Ae(l);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${p}px`);let m=dn(n);(f.xm.x+u.width)&&n.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),oe([Wt(n),Re(n)]).pipe(Q(c)).subscribe(([l,u])=>{let f=Ar(n);i.hidden=l.x<16,a.hidden=l.x>f.width-u.width-16}),R(b(i,"click").pipe(d(()=>-1)),b(a,"click").pipe(d(()=>1))).pipe(Q(c)).subscribe(l=>{let{width:u}=Ae(n);n.scrollBy({left:u*l,behavior:"smooth"})}),r.pipe(Q(c),O(l=>o.includes(l))).subscribe(l=>l.click()),n.classList.add("tabbed-labels--linked");for(let l of o){let u=Y(`label[for="${l.id}"]`);u.replaceChildren(A("a",{href:`#${u.htmlFor}`,tabIndex:-1},...Array.from(u.childNodes))),b(u.firstElementChild,"click").pipe(Q(c),O(f=>!(f.metaKey||f.ctrlKey)),P(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${u.htmlFor}`),u.click()})}return X("content.tabs.link")&&s.pipe(ke(1),fe(t)).subscribe(([{active:l},{offset:u}])=>{let f=l.innerText.trim();if(l.hasAttribute("data-md-switching"))l.removeAttribute("data-md-switching");else{let p=e.offsetTop-u.y;for(let h of $("[data-tabs]"))for(let v of $(":scope > input",h)){let _=Y(`label[for="${v.id}"]`);if(_!==l&&_.innerText.trim()===f){_.setAttribute("data-md-switching",""),v.click();break}}window.scrollTo({top:e.offsetTop-p});let m=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...m])])}}),s.pipe(Q(c)).subscribe(()=>{for(let l of $("audio, video",e))l.offsetWidth&&l.autoplay?l.play().catch(()=>{}):l.pause()}),Up(o).pipe(P(l=>s.next(l)),q(()=>s.complete()),d(l=>k({ref:e},l)))}).pipe(It(ye))}function rc(e,t){let{viewport$:r,target$:n,print$:o}=t;return R(...$(".annotate:not(.highlight)",e).map(i=>Is(i,{target$:n,print$:o})),...$(".pyodide",e).map(i=>qs(i)),...$("pre:not(.mermaid) > code",e).filter(i=>!i.closest(".pyodide")).map(i=>Us(i,{target$:n,print$:o})),...$("a",e).map(i=>Js(i,t)),...$("pre.mermaid",e).map(i=>Zs(i)),...[$(".glightbox",e)].filter(i=>i.length>0).map(i=>Bs(i)),...$("table:not([class])",e).map(i=>ec(i)),...$("details",e).map(i=>Ns(i,{target$:n,print$:o})),...$("[data-tabs]",e).map(i=>tc(i,{viewport$:r,target$:n})),...$("[title]:not([data-preview])",e).filter(()=>X("content.tooltips")).map(i=>Ye(i,{viewport$:r})),...$(".footnote-ref",e).filter(()=>X("content.footnote.tooltips")).map(i=>Fr(i,{content$:new F(a=>{let s=new URL(i.href).hash.slice(1),c=Array.from(document.getElementById(s).cloneNode(!0).children),l=$n(...c);return a.next(l),document.body.append(l),()=>l.remove()}),viewport$:r})))}function Np(e,{alert$:t}){return t.pipe(y(r=>R(D(!0),D(!1).pipe(Ft(2e3))).pipe(d(n=>({message:r,active:n})))))}function nc(e,t){let r=Y(".md-typeset",e);return j(()=>{let n=new I;return n.subscribe(({message:o,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=o}),Np(e,t).pipe(P(o=>n.next(o)),q(()=>n.complete()),d(o=>k({ref:e},o)))})}function Dp({viewport$:e}){if(!X("header.autohide"))return D(!1);let t=e.pipe(d(({offset:{y:o}})=>o),jt(2,1),d(([o,i])=>[oMath.abs(i-o.y)>100),d(([,[o]])=>o),ce()),n=Cn("search");return oe([e,n]).pipe(d(([{offset:o},i])=>o.y>400&&!i),ce(),y(o=>o?r:D(!1)),J(!1))}function oc(e,t){return j(()=>oe([Re(e),Dp(t)])).pipe(d(([{height:r},n])=>({height:r,hidden:n})),ce((r,n)=>r.height===n.height&&r.hidden===n.hidden),re(1))}function ic(e,{viewport$:t,header$:r,main$:n}){return j(()=>{let o=new I,i=o.pipe(be(),_e(!0));o.pipe(ve("active"),Ze(r)).subscribe(([{active:s},{hidden:c}])=>{e.classList.toggle("md-header--shadow",s&&!c),e.hidden=c});let a=he($("[title]",e)).pipe(O(()=>X("content.tooltips")),se(s=>Ye(s,{viewport$:t})));return n.subscribe(o),r.pipe(Q(i),d(s=>k({ref:e},s)),Ut(a.pipe(Q(i))))})}function Wp(e,{viewport$:t,header$:r}){return Hn(e,{viewport$:t,header$:r}).pipe(d(({offset:{y:n}})=>{let{height:o}=Ae(e);return{active:o>0&&n>=o}}),ve("active"))}function ac(e,t){return j(()=>{let r=new I;r.subscribe({next({active:o}){e.classList.toggle("md-header__title--active",o)},complete(){e.classList.remove("md-header__title--active")}});let n=we(".md-content h1");return typeof n=="undefined"?w:Wp(n,t).pipe(P(o=>r.next(o)),q(()=>r.complete()),d(o=>k({ref:e},o)))})}function sc(e,{viewport$:t,header$:r}){let n=r.pipe(d(({height:i})=>i),ce()),o=n.pipe(y(()=>Re(e).pipe(d(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),ve("bottom"))));return oe([n,o,t]).pipe(d(([i,{top:a,bottom:s},{offset:{y:c},size:{height:l}}])=>(l=Math.max(0,l-Math.max(0,a-c,i)-Math.max(0,l+c-s)),{offset:a-i,height:l,active:a-i<=c})),ce((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Vp(e){let t=__md_get("__palette")||{index:e.findIndex(n=>matchMedia(n.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return D(...e).pipe(se(n=>b(n,"change").pipe(d(()=>n))),J(e[r]),d(n=>({index:e.indexOf(n),color:{media:n.getAttribute("data-md-color-media"),scheme:n.getAttribute("data-md-color-scheme"),primary:n.getAttribute("data-md-color-primary"),accent:n.getAttribute("data-md-color-accent")}})),re(1))}function cc(e){let t=$("input",e),r=A("meta",{name:"theme-color"});document.head.appendChild(r);let n=A("meta",{name:"color-scheme"});document.head.appendChild(n);let o=jr("(prefers-color-scheme: light)");return j(()=>{let i=new I;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=c.getAttribute("data-md-color-scheme"),a.color.primary=c.getAttribute("data-md-color-primary"),a.color.accent=c.getAttribute("data-md-color-accent")}for(let[s,c]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,c);for(let s=0;sa.key==="Enter"),fe(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(d(()=>{let a=bt("header"),s=window.getComputedStyle(a);return n.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(Ie(ye)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Vp(t).pipe(Q(o.pipe(ke(1))),Nt(),P(a=>i.next(a)),q(()=>i.complete()),d(a=>k({ref:e},a)))})}function lc(e,{progress$:t}){return j(()=>{let r=new I;return r.subscribe(({value:n})=>{e.style.setProperty("--md-progress-value",`${n}`)}),t.pipe(P(n=>r.next({value:n})),q(()=>r.complete()),d(n=>({ref:e,value:n})))})}var uc='.m u{text-decoration:underline!important;text-decoration-style:wavy!important;text-decoration-thickness:1px!important}.p{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-backdrop)/var(--alpha-lighter));cursor:pointer;height:100%;pointer-events:auto;position:absolute;transition:opacity .25s;width:100%}.p.v{opacity:0;pointer-events:none;transition:opacity .35s}.r{align-items:center;background-color:initial;border:none;border-radius:var(--space-2);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-family);height:36px;justify-content:center;outline:none;padding:0;position:relative;transition:background-color .25s,color .25s;width:36px;z-index:1}.r svg{stroke:rgb(var(--color-foreground));height:18px;opacity:.5;width:18px}.r:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.r:hover:before{opacity:1;transform:scale(1)}.r.c{cursor:auto}.r.c:before{display:none}.n{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background)/var(--alpha-light));border:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));border-radius:var(--space-3);box-shadow:0 0 60px #0000000d;display:flex;height:480px;overflow:hidden;pointer-events:auto;position:absolute;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;width:640px}.n.l{opacity:0;pointer-events:none;transform:scale(1.1);transition:transform .25s .15s,opacity .15s}@media (max-width:680px){.n{border-radius:0;height:100%;width:100%}}.y{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0}@keyframes d{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.w{animation:d .25s ease-in-out;background:var(--color-highlight);border-radius:100%;color:#fff;font-size:8px;font-weight:700;height:12px;padding-top:1px;position:absolute;right:4px;top:4px;width:12px}.e{background-color:rgb(var(--color-background-subtle)/var(--alpha-lighter));border-left:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));flex-shrink:0;overflow-y:scroll;position:relative;transition:width .35s cubic-bezier(.16,1,.3,1),opacity .25s;width:200px}.e>*{transform:translate(0);transition:transform .25s cubic-bezier(.16,1,.3,1)}.e.l{opacity:0;width:0}.e.l>*{transform:translate(-48px)}@media (max-width:680px){.e{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background-subtle)/var(--alpha-light));box-shadow:0 0 60px #00000026;height:100%;position:absolute;right:0;top:0}}.k{border-bottom:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));display:flex;gap:var(--space-1);padding:var(--space-2)}.z{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.j{padding:8px 10px}.X{color:rgb(var(--color-foreground)/var(--alpha-light));padding:var(--space-2);position:absolute;width:100%}.F,.X{display:flex;flex-direction:column}.F{gap:2px;list-style:none;padding:0}.F,.I{margin:0}.I{font-size:16px;font-weight:400}.I,.R{padding:8px}.R{font-size:14px;margin:4px 0 0;opacity:.5}.R,.o{font-size:12px}.o{cursor:pointer;display:flex;padding:4px 8px;position:relative}.o:before{background-color:var(--color-highlight-transparent);border-radius:var(--space-1);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.o.g:before,.o:hover:before{opacity:1;transform:scale(1)}.o.g,.o:hover{color:var(--color-highlight)}.q{flex-grow:1}.A,.q{position:relative}.A{font-weight:700}.f{flex-grow:1}.f input{background:#0000;border:none;color:rgb(var(--color-foreground));font-family:var(--font-family);font-size:16px;height:100%;letter-spacing:-.25px;outline:none;width:100%}.b{color:rgb(var(--color-foreground)/var(--alpha-light));display:flex;flex-direction:column;gap:2px;line-height:1.3;list-style:none;margin:var(--space-2);margin-top:0;padding:0}.B,.b li{margin:0}.B{color:rgb(var(--color-foreground)/var(--alpha-lighter));font-size:12px;margin-top:var(--space-2);padding:0 18px}.i{border-radius:var(--space-2);color:inherit;cursor:pointer;display:flex;flex-direction:row;flex-grow:1;padding:8px 10px;position:relative;text-decoration:none}.i:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";display:block;inset:0;opacity:0;position:absolute;transform:scale(.9);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.i.h:before,.i:hover:before{opacity:1;transform:scale(1)}}.i mark{background:#0000;color:var(--color-highlight)}.i u{text-decoration:underline}.C{flex-direction:column;flex-grow:1;gap:5.5px}.C,.D{display:flex;min-width:0}.D{align-items:flex-start;gap:var(--space-2);justify-content:space-between}.s{align-items:flex-end;align-self:flex-end;display:flex;flex-direction:column;gap:6px;justify-content:flex-end;margin-right:-8px;margin-top:auto;opacity:0;position:relative;transform:translate(-2px);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.h>.s,:hover>.s{opacity:1;transform:none}}.x{font-size:14px;margin:0;position:relative}.x code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);font-size:13px;padding:2px 4px}.t{color:rgb(var(--color-foreground)/.45);display:inline-flex;flex:1 1 auto;flex-wrap:wrap;font-size:12px;gap:var(--space-1);list-style:none;margin:0;min-width:0;padding:0;position:relative}.t li{white-space:nowrap}.t li:after{content:"/";display:inline;margin-left:var(--space-1)}.t li:last-child:after{content:"";display:none}.u{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:rgb(var(--color-foreground));display:-webkit-box;font-size:12px;line-height:1.5;overflow:hidden;position:relative}.u code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);padding:2px 4px}.E,.u code{font-size:11px}.E{color:rgb(var(--color-foreground)/.45);line-height:1;white-space:nowrap;z-index:1}.a{--space-1:4px;--space-2:calc(var(--space-1)*2);--space-3:calc(var(--space-2)*2);--space-4:calc(var(--space-3)*2);--space-5:calc(var(--space-4)*2);--alpha-light:.7;--alpha-lighter:.54;--alpha-lightest:.07;--color-highlight:var(--md-accent-fg-color,#526cfe);--color-highlight-transparent:var( --md-accent-fg-color--transparent,#526cfe1a );--border-radius-1:var(--space-1);--border-radius-2:var(--space-2);--border-radius-3:calc(var(--space-1) + var(--space-2));--font-family:var( --md-text-font-family,Inter,Roboto Flex,system-ui,sans-serif );--font-size:16px;--line-height:1.5;--letter-spacing:-.5px;-webkit-font-smoothing:antialiased;align-items:center;display:flex;font-family:var(--font-family);font-size:var(--font-size);height:100vh;justify-content:center;letter-spacing:var(--letter-spacing);line-height:var(--line-height);pointer-events:none;position:absolute;width:100vw}@media (pointer:coarse){.a{height:-webkit-fill-available}}.a *,.a :after,.a :before{box-sizing:border-box}';function pc(e,{index$:t}){let r=Ne(),n=document.createElement("div");document.body.appendChild(n),n.style.position="fixed",n.style.height="100%",n.style.top="0",n.style.zIndex="4";let o=n.attachShadow({mode:"open"});o.appendChild(A("style",{},uc.toString()));try{is(r.search,{highlight:r.features.includes("search.highlight")}),he(t).subscribe(i=>{for(let a of i.items)a.location=new URL(`./${a.location}`,r.base).toString();cs(i,o)}),b(e,"click").subscribe(()=>{wo()}),Cn("search").pipe(ke(1)).subscribe(()=>wo())}catch(i){e.hidden=!0;let a=Y("label[for=__search]");a.hidden=!0}return Be}var fc=xr(ko());function mc(e,{index$:t,location$:r}){return oe([t,r.pipe(J(Ue()),O(n=>!!n.searchParams.get("h")))]).pipe(d(([n,o])=>qp(n.config)(o.searchParams.get("h"))),d(n=>{var a;let o=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let c=s.textContent,l=n(c);l.length>c.length&&o.set(s,l)}for(let[s,c]of o){let{childNodes:l}=A("span",null,c);s.replaceWith(...Array.from(l))}return{ref:e,nodes:o}}))}function qp(e){let t=e.separator.split("|").map(o=>o.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":o).join("|"),r=new RegExp(t,"img"),n=(o,i,a)=>`${i}${a}`;return o=>{o=o.replace(/\s+/g," ").replace(/&/g,"&").trim();let i=new RegExp(`(^|${e.separator}|)(${o.split(r).map(a=>a.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")).filter(a=>a.length>=2).join("|")})`,"img");return a=>(0,fc.default)(a).replace(i,n).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Kp(e,{viewport$:t,main$:r}){let n=e.closest(".md-grid"),o=n.offsetTop-n.parentElement.offsetTop;return oe([r,t]).pipe(d(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(o,Math.max(0,s-i))-o,{height:a,locked:s>=i+o})),ce((i,a)=>i.height===a.height&&i.locked===a.locked))}function Ro(e,n){var o=n,{header$:t}=o,r=_r(o,["header$"]);let i=Y(".md-sidebar__scrollwrap",e),{y:a}=Tt(i);return j(()=>{let s=new I,c=s.pipe(be(),_e(!0)),l=s.pipe(Xe(0,je));return l.pipe(fe(t)).subscribe({next([{height:u},{height:f}]){i.style.height=`${u-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),l.pipe(Lr()).subscribe(()=>{for(let u of $(".md-nav__link--active[href]",e)){if(!u.clientHeight)continue;let f=u.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let p=u.offsetTop-f.offsetTop,{height:m}=Ae(f);f.scrollTo({top:p-m/2})}}}),he($("label[tabindex]",e)).pipe(se(u=>b(u,"click").pipe(Ie(ye),d(()=>u),Q(c)))).subscribe(u=>{let f=Y(`[id="${u.htmlFor}"]`);Y(`[aria-labelledby="${u.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),X("content.tooltips")&&he($("abbr[title]",e)).pipe(se(u=>Ye(u,{viewport$})),Q(c)).subscribe(),Kp(e,r).pipe(P(u=>s.next(u)),q(()=>s.complete()),d(u=>k({ref:e},u)))})}function dc(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Rt(et(`${r}/releases/latest`).pipe(me(()=>w),d(n=>({version:n.tag_name})),ot({})),et(r).pipe(me(()=>w),d(n=>({stars:n.stargazers_count,forks:n.forks_count})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}else{let r=`https://api.github.com/users/${e}`;return et(r).pipe(d(n=>({repositories:n.public_repos})),ot({}))}}function hc(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Rt(et(`${r}/releases/permalink/latest`).pipe(me(()=>w),d(({tag_name:n})=>({version:n})),ot({})),et(r).pipe(me(()=>w),d(({star_count:n,forks_count:o})=>({stars:n,forks:o})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}function vc(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,n]=t;return dc(r,n)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,n]=t;return hc(r,n)}return w}var Bp;function Gp(e){return Bp||(Bp=j(()=>{let t=__md_get("__source",sessionStorage);if(t)return D(t);if(Te("consent").length){let n=__md_get("__consent");if(!(n&&n.github))return w}return vc(e.href).pipe(P(n=>__md_set("__source",n,sessionStorage)))}).pipe(me(()=>w),O(t=>Object.keys(t).length>0),d(t=>({facts:t})),re(1)))}function bc(e){let t=Y(":scope > :last-child",e);return j(()=>{let r=new I;return r.subscribe(({facts:n})=>{t.appendChild(ks(n)),t.classList.add("md-source__repository--active")}),Gp(e).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Yp(e,{viewport$:t,header$:r}){return Re(document.body).pipe(y(()=>Hn(e,{header$:r,viewport$:t})),d(({offset:{y:n}})=>({hidden:n>=10})),ve("hidden"))}function gc(e,t){return j(()=>{let r=new I;return r.subscribe({next({hidden:n}){e.hidden=n},complete(){e.hidden=!1}}),(X("navigation.tabs.sticky")?D({hidden:!1}):Yp(e,t)).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Jp(e,{viewport$:t,header$:r}){let n=new Map,o=$(".md-nav__link",e);for(let s of o){let c=decodeURIComponent(s.hash.substring(1)),l=we(`[id="${c}"]`);typeof l!="undefined"&&n.set(s,l)}let i=r.pipe(ve("height"),d(({height:s})=>{let c=bt("main"),l=Y(":scope > :first-child",c);return s+.9*(l.offsetTop-c.offsetTop)}),xe());return Re(document.body).pipe(ve("height"),y(s=>j(()=>{let c=[];return D([...n].reduce((l,[u,f])=>{for(;c.length&&n.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let p=f.offsetTop;for(;!p&&f.parentElement;)f=f.parentElement,p=f.offsetTop;let m=f.offsetParent;for(;m;m=m.offsetParent)p+=m.offsetTop;return l.set([...c=[...c,u]].reverse(),p)},new Map))}).pipe(d(c=>new Map([...c].sort(([,l],[,u])=>l-u))),Ze(i),y(([c,l])=>t.pipe(Mr(([u,f],{offset:{y:p},size:m})=>{let h=p+m.height>=Math.floor(s.height);for(;f.length;){let[,v]=f[0];if(v-l=p&&!h)f=[u.pop(),...f];else break}return[u,f]},[[],[...c]]),ce((u,f)=>u[0]===f[0]&&u[1]===f[1])))))).pipe(d(([s,c])=>({prev:s.map(([l])=>l),next:c.map(([l])=>l)})),J({prev:[],next:[]}),jt(2,1),d(([s,c])=>s.prev.length{let i=new I,a=i.pipe(be(),_e(!0));i.subscribe(({prev:c,next:l})=>{for(let[u]of l)u.classList.remove("md-nav__link--passed"),u.classList.remove("md-nav__link--active");for(let[u,[f]]of c.entries())f.classList.add("md-nav__link--passed"),f.classList.toggle("md-nav__link--active",u===c.length-1)});let s=we(".md-sidebar--secondary");if(typeof s!="undefined"&&b(document.body,"click").subscribe(c=>{let l=c.target;if(!s.contains(l)){let u=we(".md-nav__toggle",s);typeof u!="undefined"&&(u.checked=!1)}}),X("toc.follow")){let c=R(t.pipe(Ge(1),d(()=>{})),t.pipe(Ge(250),d(()=>"smooth")));i.pipe(O(({prev:l})=>l.length>0),Ze(n.pipe(Ie(ye))),fe(c)).subscribe(([[{prev:l}],u])=>{let[f]=l[l.length-1];if(f.offsetHeight){let p=Ii(f);if(typeof p!="undefined"){let m=f.offsetTop-p.offsetTop,{height:h}=Ae(p);p.scrollTo({top:m-h/2,behavior:u})}}})}return X("navigation.tracking")&&t.pipe(Q(a),ve("offset"),Ge(250),ke(1),Q(o.pipe(ke(1))),Nt({delay:250}),fe(i)).subscribe(([,{prev:c}])=>{let l=Ue(),u=c[c.length-1];if(u&&u.length){let[f]=u,{hash:p}=new URL(f.href);l.hash!==p&&(l.hash=p,history.replaceState({},"",`${l}`))}else l.hash="",history.replaceState({},"",`${l}`)}),Jp(e,{viewport$:t,header$:r}).pipe(P(c=>i.next(c)),q(()=>i.complete()),d(c=>k({ref:e},c)))})}function Xp(e,{viewport$:t,main$:r,target$:n}){let o=t.pipe(d(({offset:{y:a}})=>a),jt(2,1),d(([a,s])=>a>s&&s>0),ce()),i=r.pipe(d(({active:a})=>a));return oe([i,o]).pipe(d(([a,s])=>!(a&&s)),ce(),Q(n.pipe(ke(1))),_e(!0),Nt({delay:250}),d(a=>({hidden:a})))}function _c(e,{viewport$:t,header$:r,main$:n,target$:o}){let i=new I,a=i.pipe(be(),_e(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(Q(a),ve("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),b(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),Xp(e,{viewport$:t,main$:n,target$:o}).pipe(P(s=>i.next(s)),q(()=>i.complete()),d(s=>k({ref:e},s)))}function xc(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,t.port&&(e.port=t.port),e}function Zp(e,t){let r=new Map;for(let n of $("url",e)){let o=Y("loc",n),i=[xc(new URL(o.textContent),t)];r.set(`${i[0]}`,i);for(let a of $("[rel=alternate]",n)){let s=a.getAttribute("href");s!=null&&i.push(xc(new URL(s),t))}}return r}function vr(e){return hs(new URL("sitemap.xml",e)).pipe(d(t=>Zp(t,new URL(e))),me(()=>D(new Map)),xe())}function wc({document$:e}){let t=new Map;e.pipe(y(()=>$("link[rel=alternate]")),d(r=>__ha_langroot(r.href)),O(r=>!t.has(r.toString())),se(r=>vr(r).pipe(d(n=>[r,n]),me(()=>w)))).subscribe(([r,n])=>{t.set(r.toString().replace(/\/$/,""),n)}),b(document.body,"click").pipe(O(r=>!r.metaKey&&!r.ctrlKey),y(r=>{if(r.target instanceof Element){let n=r.target.closest("a");if(n&&!n.target){let o=[...t].find(([f])=>n.href.startsWith(`${f}/`));if(typeof o=="undefined")return w;let[i,a]=o,s=Ue();if(s.href.startsWith(i))return w;let c=Ne(),l=s.href.replace(c.base,"");l=`${i}/${l}`;let u=a.has(l.split("#")[0])?new URL(l,c.base):new URL(i);return r.preventDefault(),D(u)}}return w})).subscribe(r=>vt(r,!0))}var jo=xr(Ho());function Qp(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Ec({alert$:e}){jo.default.isSupported()&&new F(t=>{new jo.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Qp(Y(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(P(t=>{t.trigger.focus()}),d(()=>Gt("clipboard.copied"))).subscribe(e)}function Tc(e,t){if(!(e.target instanceof Element))return w;let r=e.target.closest("a");if(r===null)return w;if(r.target||e.metaKey||e.ctrlKey)return w;let n=new URL(r.href);return n.search=n.hash="",t.has(`${n}`)?(e.preventDefault(),D(r)):w}function Sc(e){let t=new Map;for(let r of $(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Oc(e){for(let t of $("[href], [src]",e))for(let r of["href","src"]){let n=t.getAttribute(r);if(n&&!/^(?:[a-z]+:)?\/\//i.test(n)){t[r]=t[r];break}}return D(e)}function ef(e){var r;if(e.tagName!=="STYLE")return!1;let t=(r=e.textContent)!=null?r:"";return t.includes(".ace_editor")||t.includes(".ace-zensical")||t.includes(".ace_scroller")||t.includes(".ace_gutter")}function tf(e){for(let n of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...X("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let o=we(n),i=we(n,e);typeof o!="undefined"&&typeof i!="undefined"&&o.replaceWith(i)}let t=Sc(document);for(let[n,o]of Sc(e))t.has(n)?t.delete(n):document.head.appendChild(o);for(let n of t.values()){let o=n.getAttribute("name");o!=="theme-color"&&o!=="color-scheme"&&!ef(n)&&n.remove()}let r=bt("container");return nt($("script",r)).pipe(y(n=>{let o=e.createElement("script");if(n.src){for(let i of n.getAttributeNames())o.setAttribute(i,n.getAttribute(i));return n.replaceWith(o),new F(i=>{o.onload=()=>i.complete()})}else return o.textContent=n.textContent,n.replaceWith(o),w}),be(),_e(document))}function Lc({sitemap$:e,location$:t,viewport$:r,progress$:n}){if(location.protocol==="file:")return Be;D(document).subscribe(Oc);let o=b(document.body,"click").pipe(Ze(e),y(([s,c])=>Tc(s,c)),d(({href:s})=>new URL(s)),xe()),i=b(window,"popstate").pipe(d(Ue),xe());o.pipe(fe(r)).subscribe(([s,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",s)}),R(o,i).subscribe(t);let a=t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname!==c.pathname),d(([,s])=>s),y(s=>An(s,{progress$:n}).pipe(me(()=>(vt(s,!0),w)))),y(Oc),y(tf),xe());return R(a.pipe(fe(t,(s,c)=>c)),a.pipe(y(()=>t),ve("hash")),t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname===c.pathname&&s.hash!==c.hash),d(([,s])=>s)),t.pipe(ce((s,c)=>s.pathname===c.pathname&&s.hash===c.hash),y(()=>o),P(()=>history.back()))).subscribe(s=>{var c,l;history.state!==null||!s.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",fs(s.hash),history.scrollRestoration="manual")}),t.subscribe(()=>{history.scrollRestoration="manual"}),b(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),r.pipe(ve("offset"),Ge(100)).subscribe(({offset:s})=>{history.replaceState(s,"")}),X("navigation.instant.prefetch")&&R(b(document.body,"mousemove"),b(document.body,"focusin")).pipe(Ze(e),y(([s,c])=>Tc(s,c)),Ge(25),eo(({href:s})=>s),fn(s=>{let c=document.createElement("link");return c.rel="prefetch",c.href=s.toString(),document.head.appendChild(c),b(c,"load").pipe(d(()=>c),Me(1))})).subscribe(s=>s.remove()),a}function Mc(e){var u;let{selectedVersionSitemap:t,selectedVersionBaseURL:r,currentLocation:n,currentBaseURL:o}=e,i=(u=Fo(o))==null?void 0:u.pathname;if(i===void 0)return;let a=rf(n.pathname,i);if(a===void 0)return;let s=of(t.keys());if(!t.has(s))return;let c=Fo(a,s);if(!c||!t.has(c.href))return;let l=Fo(a,r);if(l)return l.hash=n.hash,l.search=n.search,l}function Fo(e,t){try{return new URL(e,t)}catch(r){return}}function rf(e,t){if(e.startsWith(t))return e.slice(t.length)}function nf(e,t){let r=Math.min(e.length,t.length),n;for(n=0;nw)),n=r.pipe(d(o=>{let[,i]=t.base.match(/([^/]+)\/?$/);return o.find(({version:a,aliases:s})=>a===i||s.includes(i))||o[0]}));r.pipe(d(o=>new Map(o.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),y(o=>b(document.body,"click").pipe(O(i=>!i.metaKey&&!i.ctrlKey),fe(n),y(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&o.has(s.href)){let c=s.href;return!i.target.closest(".md-version")&&o.get(c)===a?w:(i.preventDefault(),D(new URL(c)))}}return w}),y(i=>vr(i).pipe(d(a=>{var s;return(s=Mc({selectedVersionSitemap:a,selectedVersionBaseURL:i,currentLocation:Ue(),currentBaseURL:t.base}))!=null?s:i})))))).subscribe(o=>vt(o,!0)),oe([r,n]).subscribe(([o,i])=>{Y(".md-header__topic").appendChild(Cs(o,i))}),e.pipe(y(()=>n)).subscribe(o=>{var s;let i=new URL(t.base),a=__md_get("__outdated",sessionStorage,i);if(a===null){a=!0;let c=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(c)||(c=[c]);e:for(let l of c)for(let u of o.aliases.concat(o.version))if(new RegExp(l,"i").test(u)){a=!1;break e}__md_set("__outdated",a,sessionStorage,i)}if(a)for(let c of Te("outdated"))c.hidden=!1})}function Ac({document$:e,viewport$:t}){e.pipe(y(()=>$(".md-ellipsis")),se(r=>St(r).pipe(Q(e.pipe(ke(1))),O(n=>n),d(()=>r),Me(1))),O(r=>r.offsetWidth{let n=r.innerText,o=r.closest("a")||r;return o.title=n,X("content.tooltips")?Ye(o,{viewport$:t}).pipe(Q(e.pipe(ke(1))),q(()=>o.removeAttribute("title"))):w})).subscribe(),X("content.tooltips")&&e.pipe(y(()=>$(".md-status")),se(r=>Ye(r,{viewport$:t}))).subscribe()}function Cc({document$:e,tablet$:t}){e.pipe(y(()=>$(".md-toggle--indeterminate")),P(r=>{r.indeterminate=!0,r.checked=!1}),se(r=>b(r,"change").pipe(no(()=>r.classList.contains("md-toggle--indeterminate")),d(()=>r))),fe(t)).subscribe(([r,n])=>{r.classList.remove("md-toggle--indeterminate"),n&&(r.checked=!1)})}function af(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Hc({document$:e}){e.pipe(y(()=>$("[data-md-scrollfix]")),P(t=>t.removeAttribute("data-md-scrollfix")),O(af),se(t=>b(t,"touchstart").pipe(d(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let n=e[r];typeof n=="string"?n=document.createTextNode(n):n.parentNode&&n.parentNode.removeChild(n),r?t.insertBefore(this.previousSibling,n):t.replaceChild(n,this)}}}));function sf(){return location.protocol==="file:"?it(`${new URL("search.js",In.base)}`).pipe(d(()=>__index),me(()=>Be),re(1)):et(new URL("search.json",In.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var gt=Ai(),Wr=us(),br=ms(Wr),Pc=ls(),qe=_s(),Uo=jr("(min-width: 60em)"),Ic=jr("(min-width: 76.25em)"),Rc=ds(),In=Ne(),jc=we(".md-search")?sf():Be,No=new I;Ec({alert$:No});wc({document$:gt});var Do=new I,Fc=vr(In.base);X("navigation.instant")&&Lc({sitemap$:Fc,location$:Wr,viewport$:qe,progress$:Do}).subscribe(gt);var $c;(($c=In.version)==null?void 0:$c.provider)==="mike"&&kc({document$:gt});R(Wr,br).pipe(Ft(125)).subscribe(()=>{Lo("drawer",!1),Lo("search",!1)});Pc.pipe(O(({mode:e,meta:t})=>e==="global"&&!t)).subscribe(e=>{switch(e.type){case",":case"p":let t=document.querySelector("link[rel=prev]");t instanceof HTMLLinkElement&&vt(t);break;case".":case"n":let r=document.querySelector("link[rel=next]");r instanceof HTMLLinkElement&&vt(r);break;case"/":let n=document.querySelector("[data-md-component=search] button");n instanceof HTMLButtonElement&&n.click();break;case"Enter":let o=Et();o instanceof HTMLLabelElement&&o.click()}});Ac({viewport$:qe,document$:gt});Cc({document$:gt,tablet$:Uo});Hc({document$:gt});var Ct=oc(bt("header"),{viewport$:qe}),Dr=gt.pipe(d(()=>bt("main")),y(e=>sc(e,{viewport$:qe,header$:Ct})),re(1)),cf=R(...Te("consent").map(e=>ws(e,{target$:br})),...Te("dialog").map(e=>nc(e,{alert$:No})),...Te("palette").map(e=>cc(e)),...Te("progress").map(e=>lc(e,{progress$:Do})),...Te("search").map(e=>pc(e,{index$:jc})),...Te("source").map(e=>bc(e))),lf=j(()=>R(...Te("announce").map(e=>xs(e)),...Te("content").map(e=>rc(e,{sitemap$:Fc,viewport$:qe,target$:br,print$:Rc})),...Te("content").map(e=>X("search.highlight")?mc(e,{index$:jc,location$:Wr}):w),...Te("header").map(e=>ic(e,{viewport$:qe,header$:Ct,main$:Dr})),...Te("header-title").map(e=>ac(e,{viewport$:qe,header$:Ct})),...Te("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?To(Ic,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr})):To(Uo,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr}))),...Te("tabs").map(e=>gc(e,{viewport$:qe,header$:Ct})),...Te("toc").map(e=>yc(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})),...Te("top").map(e=>_c(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})))),Uc=gt.pipe(y(()=>lf),Ut(cf),re(1));Uc.subscribe();window.document$=gt;window.location$=Wr;window.target$=br;window.keyboard$=Pc;window.viewport$=qe;window.tablet$=Uo;window.screen$=Ic;window.print$=Rc;window.alert$=No;window.progress$=Do;window.component$=Uc;})(); -/*! update cache: 20260721202939 */ +/*! update cache: 20260722174014 */ diff --git a/en/javascripts/animation_player.js b/en/javascripts/animation_player.js index 6e3f01126..97de593e8 100644 --- a/en/javascripts/animation_player.js +++ b/en/javascripts/animation_player.js @@ -251,4 +251,4 @@ initAutoSlide(); } })(); -/*! update cache: 20260721202939 */ +/*! update cache: 20260722174014 */ diff --git a/en/javascripts/katex.js b/en/javascripts/katex.js index feec4c463..ee9237d9a 100644 --- a/en/javascripts/katex.js +++ b/en/javascripts/katex.js @@ -8,4 +8,4 @@ document$.subscribe(({ body }) => { ], }); }); -/*! update cache: 20260721202939 */ +/*! update cache: 20260722174014 */ diff --git a/en/javascripts/mathjax.js b/en/javascripts/mathjax.js index fb05bbbf4..6d6e261ca 100644 --- a/en/javascripts/mathjax.js +++ b/en/javascripts/mathjax.js @@ -15,4 +15,4 @@ window.MathJax = { document$.subscribe(() => { MathJax.typesetPromise(); }); -/*! update cache: 20260721202939 */ +/*! update cache: 20260722174014 */ diff --git a/en/javascripts/starfield.js b/en/javascripts/starfield.js index 83f8fc906..4d3b5f560 100644 --- a/en/javascripts/starfield.js +++ b/en/javascripts/starfield.js @@ -469,4 +469,4 @@ return Starfield; }); -/*! update cache: 20260721202939 */ +/*! update cache: 20260722174014 */ diff --git a/en/stylesheets/animation_player.css b/en/stylesheets/animation_player.css index 0e662943c..1608c0574 100644 --- a/en/stylesheets/animation_player.css +++ b/en/stylesheets/animation_player.css @@ -176,4 +176,4 @@ font-size: 0.7rem; } } -/*! update cache: 20260721202939 */ +/*! update cache: 20260722174014 */ diff --git a/en/stylesheets/extra.css b/en/stylesheets/extra.css index 525067a47..8cb23a0ac 100644 --- a/en/stylesheets/extra.css +++ b/en/stylesheets/extra.css @@ -264,69 +264,115 @@ html:has(body[data-md-color-scheme="default"]) { .md-typeset .admonition, .md-typeset details { + --hello-algo-callout-color: #448aff; border: 0.08rem solid transparent; } .md-typeset .admonition.note, .md-typeset details.note { + --hello-algo-callout-color: #448aff; border-color: #448aff3d; } .md-typeset .admonition.abstract, .md-typeset details.abstract { + --hello-algo-callout-color: #00b0ff; border-color: #00b0ff3d; } .md-typeset .admonition.info, .md-typeset details.info { + --hello-algo-callout-color: #00b8d4; border-color: #00b8d43d; } .md-typeset .admonition.tip, .md-typeset details.tip { + --hello-algo-callout-color: #00bfa5; border-color: #00bfa53d; } .md-typeset .admonition.success, .md-typeset details.success { + --hello-algo-callout-color: #00c853; border-color: #00c8533d; } .md-typeset .admonition.question, .md-typeset details.question { + --hello-algo-callout-color: #64dd17; border-color: #64dd173d; } .md-typeset .admonition.warning, .md-typeset details.warning { + --hello-algo-callout-color: #ff9100; border-color: #ff91003d; } .md-typeset .admonition.failure, .md-typeset details.failure { + --hello-algo-callout-color: #ff5252; border-color: #ff52523d; } .md-typeset .admonition.danger, .md-typeset details.danger { + --hello-algo-callout-color: #ff1744; border-color: #ff17443d; } .md-typeset .admonition.bug, .md-typeset details.bug { + --hello-algo-callout-color: #f50057; border-color: #f500573d; } .md-typeset .admonition.example, .md-typeset details.example { + --hello-algo-callout-color: #7c4dff; border-color: #7c4dff3d; } .md-typeset .admonition.quote, .md-typeset details.quote { + --hello-algo-callout-color: #9e9e9e; border-color: #9e9e9e3d; } +.md-typeset :is(.admonition, details):not(.pythontutor) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 3%, var(--md-default-bg-color)); +} + +.md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 10%, var(--md-default-bg-color)); + border-radius: 0.32rem 0.32rem 0 0; + margin: 0 -0.8rem; + padding-bottom: 0.4rem; + padding-top: 0.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-left: 2.4rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-right: 2.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + left: 0.8rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + right: 0.8rem; +} + +.md-typeset details:not([open], .pythontutor) > summary { + border-radius: 0.32rem; + margin-bottom: 0; +} + .md-typeset .admonition.pythontutor, .md-typeset details.pythontutor { border-color: color-mix(in srgb, var(--md-code-bg-color) 88%, var(--md-default-fg-color) 12%); @@ -857,4 +903,4 @@ a:hover .device-on-hover { max-width: 100%; } } -/*! update cache: 20260721202939 */ +/*! update cache: 20260722174014 */ diff --git a/en/stylesheets/giscus-dark.css b/en/stylesheets/giscus-dark.css index 1ac75398a..cf4838fa3 100644 --- a/en/stylesheets/giscus-dark.css +++ b/en/stylesheets/giscus-dark.css @@ -122,4 +122,4 @@ main .gsc-loading-image { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721202939 */ +/*! update cache: 20260722174014 */ diff --git a/en/stylesheets/giscus-light.css b/en/stylesheets/giscus-light.css index 1f1cbd1cb..a6fafe2ed 100644 --- a/en/stylesheets/giscus-light.css +++ b/en/stylesheets/giscus-light.css @@ -153,4 +153,4 @@ main { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721202939 */ +/*! update cache: 20260722174014 */ diff --git a/ja/assets/javascripts/bundle.d7f30b55.min.js b/ja/assets/javascripts/bundle.d7f30b55.min.js index e14031e90..6d5205e85 100644 --- a/ja/assets/javascripts/bundle.d7f30b55.min.js +++ b/ja/assets/javascripts/bundle.d7f30b55.min.js @@ -8,4 +8,4 @@ `)} `)}})}function kp(){return Ws||(Ws=zs("https://unpkg.com/pyodide@314.0.2/pyodide.js",()=>typeof loadPyodide=="undefined"||loadPyodide instanceof Element).pipe(d(()=>ut(null,null,function*(){try{let e=yield loadPyodide({indexURL:"https://cdn.jsdelivr.net/pyodide/v314.0.2/full/"});return yield e.loadPackage("micropip"),e}catch(e){return null}})),re(1))),Ws}function Ap(){Vs||(ace.define("ace/theme/zensical",["require","exports","module","ace/lib/dom"],(e,t)=>{t.isDark=!1,t.cssClass="ace-zensical",t.cssText=""}),Vs=!0)}function qs(e){return Ds||(Ds=zs("https://unpkg.com/ace-builds@1.44.0/src-noconflict/ace.js",()=>typeof ace=="undefined"||ace instanceof Element).pipe(re(1))),new F(t=>{let r=!0,n,o,i=Sp(e);i.root.setAttribute("data-md-exec-state","ready");let a=()=>Po(i.output),s=()=>ut(null,null,function*(){return o||(o=ut(null,null,function*(){if(i.root.setAttribute("data-md-exec-state","loading"),Nr(i.output,"Initializing..."),yield Lp(),!r)return null;let u=yield ln(kp()).then(f=>f);if(!r||!u)return null;if(i.install.length>0)try{let f=u.pyimport("micropip");for(let p of i.install)yield f.install(p)}catch(f){return Po(i.output),Nr(i.output,`Could not install one or more packages: ${i.install.join(", ")} ${String(f)}`),i.root.setAttribute("data-md-exec-state","error"),null}return r?(Po(i.output),i.root.setAttribute("data-md-exec-state","ready"),u):null})),o}),c=()=>{ut(null,null,function*(){let u=yield s();!r||!u||!n||Mp(u,n,i.output,i.session)})},l=u=>{u.ctrlKey&&u.key.toLowerCase()==="enter"&&(u.preventDefault(),i.run.click())};return i.run.addEventListener("click",c),i.clear.addEventListener("click",a),i.root.addEventListener("keydown",l),ut(null,null,function*(){yield ln(Ds),r&&(Ap(),i.editor.textContent="",n=ace.edit(i.editor),n.setTheme("ace/theme/zensical"),n.session.setMode("ace/mode/python"),n.setOption("fontFamily","var(--md-code-font)"),n.setOption("minLines",i.minLines),n.setOption("maxLines",i.maxLines),n.session.setValue(i.source),n.gotoLine(1,0,!1),n.clearSelection(),n.resize(),n.renderer.updateFull())}),t.next({ref:i.root}),()=>{r=!1,i.run.removeEventListener("click",c),i.clear.removeEventListener("click",a),i.root.removeEventListener("keydown",l),n==null||n.destroy(),i.root.removeAttribute("data-md-exec-state")}})}var Ks;function Cp(){return typeof GLightbox=="undefined"||GLightbox instanceof Element?it("https://unpkg.com/glightbox@3/dist/js/glightbox.min.js").pipe(me(()=>w),d(()=>{})):D(void 0)}function Hp(){return $i("https://unpkg.com/glightbox@3/dist/css/glightbox.min.css").pipe(me(()=>w),d(()=>{}))}function Bs(e){return Ks||(Ks=Cp().pipe(d(()=>new GLightbox(k({touchNavigation:!0,loop:!1,zoomable:!0,draggable:!0,openEffect:"zoom",closeEffect:"zoom",slideEffect:"slide",onOpen:()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()}},typeof GLightboxOptions!="undefined"?GLightboxOptions:{}))),re(1))),Hp().pipe(y(()=>Ks),y(t=>(t.reload(),e.map(r=>({ref:r})))))}var Gs=0,Ys=new Map;function $p(e){let t=document.createElement("h3");t.innerHTML=e.innerHTML;let r=[t],n=e.nextElementSibling;for(;n&&!(n instanceof HTMLHeadingElement);)r.push(n.cloneNode(!0)),n=n.nextElementSibling;return r}function Pp(e,t){for(let r of $("[href], [src]",e))for(let n of["href","src"]){let o=r.getAttribute(n);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){r[n]=new URL(r.getAttribute(n),t).toString();break}}for(let r of $("[name^=__], [for]",e))for(let n of["id","for","name"]){let o=r.getAttribute(n);o&&r.setAttribute(n,`${o}$preview_${Gs}`)}return Gs++,D(e)}function Ip(e){let t=Ys.get(e.toString());return t?D(t):An(e).pipe(y(r=>Pp(r,e)),d(r=>(Ys.set(e.toString(),r),r)))}function Js(e,t){let{sitemap$:r}=t;if(!(e instanceof HTMLAnchorElement))return w;if(!(X("navigation.instant.preview")||e.hasAttribute("data-preview")))return w;e.removeAttribute("title");let n=oe([cr(e),Dt(e).pipe(ke(1))]).pipe(d(([i,a])=>i||a),ce(),O(i=>i));return Rt([r,n]).pipe(y(([i])=>{let a=new URL(e.href);return a.search=a.hash="",i.has(`${a}`)?D(a):w}),y(i=>Ip(i)),y(i=>{let a=e.hash?`article [id="${decodeURIComponent(e.hash.slice(1))}"]`:"article h1",s=we(a,i);return typeof s=="undefined"?w:D($p(s))})).pipe(y(i=>{let a=new F(s=>{let c=$n(...i);return s.next(c),document.body.append(c),()=>c.remove()});return Fr(e,k({content$:a},t))}))}var Xs=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.marker{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}.edgeLabel .label rect{fill:#0000}.flowchartTitleText{fill:var(--md-mermaid-label-fg-color)}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color)}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}.classDiagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs marker.marker.composition.class path,defs marker.marker.dependency.class path,defs marker.marker.extension.class path{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs marker.marker.aggregation.class path{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}.statediagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs [id$=-barbEnd]{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}[id^=entity] path,[id^=entity] rect{fill:var(--md-default-bg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs .marker.oneOrMore.er *,defs .marker.onlyOne.er *,defs .marker.zeroOrMore.er *,defs .marker.zeroOrOne.er *{stroke:var(--md-mermaid-edge-color)!important}text:not([class]):last-child{fill:var(--md-mermaid-label-fg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}.actor-line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan,.sectionTitle{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}[id$=-arrowhead] path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}[id$=-sequencenumber],defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}[class^=activation]{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-label-fg-color);stroke-width:1.5px}";var Io,jp=0;function Fp(){return typeof mermaid=="undefined"||mermaid instanceof Element?it("https://unpkg.com/mermaid@11/dist/mermaid.min.js"):D(void 0)}function Zs(e){return e.classList.remove("mermaid"),Io||(Io=Fp().pipe(P(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Xs,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),d(()=>{}),re(1))),Io.subscribe(()=>ut(null,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${jp++}`,r=A("div",{class:"mermaid"}),n=e.textContent,{svg:o,fn:i}=yield mermaid.render(t,n),a=r.attachShadow({mode:"closed"});a.innerHTML=o,e.replaceWith(r),i==null||i(a)})),Io.pipe(d(()=>({ref:e})))}var Qs=A("table");function ec(e){return e.replaceWith(Qs),Qs.replaceWith(As(e)),D({ref:e})}function Up(e){let t=e.find(r=>r.checked)||e[0];return R(...e.map(r=>b(r,"change").pipe(d(()=>Y(`label[for="${r.id}"]`))))).pipe(J(Y(`label[for="${t.id}"]`)),d(r=>({active:r})))}function tc(e,{viewport$:t,target$:r}){let n=Y(".tabbed-labels",e),o=$(":scope > input",e),i=Ao("prev");e.append(i);let a=Ao("next");return e.append(a),j(()=>{let s=new I,c=s.pipe(be(),_e(!0));oe([s,Re(e),St(e)]).pipe(Q(c),Xe(1,je)).subscribe({next([{active:l},u]){let f=Tt(l),{width:p}=Ae(l);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${p}px`);let m=dn(n);(f.xm.x+u.width)&&n.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),oe([Wt(n),Re(n)]).pipe(Q(c)).subscribe(([l,u])=>{let f=Ar(n);i.hidden=l.x<16,a.hidden=l.x>f.width-u.width-16}),R(b(i,"click").pipe(d(()=>-1)),b(a,"click").pipe(d(()=>1))).pipe(Q(c)).subscribe(l=>{let{width:u}=Ae(n);n.scrollBy({left:u*l,behavior:"smooth"})}),r.pipe(Q(c),O(l=>o.includes(l))).subscribe(l=>l.click()),n.classList.add("tabbed-labels--linked");for(let l of o){let u=Y(`label[for="${l.id}"]`);u.replaceChildren(A("a",{href:`#${u.htmlFor}`,tabIndex:-1},...Array.from(u.childNodes))),b(u.firstElementChild,"click").pipe(Q(c),O(f=>!(f.metaKey||f.ctrlKey)),P(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${u.htmlFor}`),u.click()})}return X("content.tabs.link")&&s.pipe(ke(1),fe(t)).subscribe(([{active:l},{offset:u}])=>{let f=l.innerText.trim();if(l.hasAttribute("data-md-switching"))l.removeAttribute("data-md-switching");else{let p=e.offsetTop-u.y;for(let h of $("[data-tabs]"))for(let v of $(":scope > input",h)){let _=Y(`label[for="${v.id}"]`);if(_!==l&&_.innerText.trim()===f){_.setAttribute("data-md-switching",""),v.click();break}}window.scrollTo({top:e.offsetTop-p});let m=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...m])])}}),s.pipe(Q(c)).subscribe(()=>{for(let l of $("audio, video",e))l.offsetWidth&&l.autoplay?l.play().catch(()=>{}):l.pause()}),Up(o).pipe(P(l=>s.next(l)),q(()=>s.complete()),d(l=>k({ref:e},l)))}).pipe(It(ye))}function rc(e,t){let{viewport$:r,target$:n,print$:o}=t;return R(...$(".annotate:not(.highlight)",e).map(i=>Is(i,{target$:n,print$:o})),...$(".pyodide",e).map(i=>qs(i)),...$("pre:not(.mermaid) > code",e).filter(i=>!i.closest(".pyodide")).map(i=>Us(i,{target$:n,print$:o})),...$("a",e).map(i=>Js(i,t)),...$("pre.mermaid",e).map(i=>Zs(i)),...[$(".glightbox",e)].filter(i=>i.length>0).map(i=>Bs(i)),...$("table:not([class])",e).map(i=>ec(i)),...$("details",e).map(i=>Ns(i,{target$:n,print$:o})),...$("[data-tabs]",e).map(i=>tc(i,{viewport$:r,target$:n})),...$("[title]:not([data-preview])",e).filter(()=>X("content.tooltips")).map(i=>Ye(i,{viewport$:r})),...$(".footnote-ref",e).filter(()=>X("content.footnote.tooltips")).map(i=>Fr(i,{content$:new F(a=>{let s=new URL(i.href).hash.slice(1),c=Array.from(document.getElementById(s).cloneNode(!0).children),l=$n(...c);return a.next(l),document.body.append(l),()=>l.remove()}),viewport$:r})))}function Np(e,{alert$:t}){return t.pipe(y(r=>R(D(!0),D(!1).pipe(Ft(2e3))).pipe(d(n=>({message:r,active:n})))))}function nc(e,t){let r=Y(".md-typeset",e);return j(()=>{let n=new I;return n.subscribe(({message:o,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=o}),Np(e,t).pipe(P(o=>n.next(o)),q(()=>n.complete()),d(o=>k({ref:e},o)))})}function Dp({viewport$:e}){if(!X("header.autohide"))return D(!1);let t=e.pipe(d(({offset:{y:o}})=>o),jt(2,1),d(([o,i])=>[oMath.abs(i-o.y)>100),d(([,[o]])=>o),ce()),n=Cn("search");return oe([e,n]).pipe(d(([{offset:o},i])=>o.y>400&&!i),ce(),y(o=>o?r:D(!1)),J(!1))}function oc(e,t){return j(()=>oe([Re(e),Dp(t)])).pipe(d(([{height:r},n])=>({height:r,hidden:n})),ce((r,n)=>r.height===n.height&&r.hidden===n.hidden),re(1))}function ic(e,{viewport$:t,header$:r,main$:n}){return j(()=>{let o=new I,i=o.pipe(be(),_e(!0));o.pipe(ve("active"),Ze(r)).subscribe(([{active:s},{hidden:c}])=>{e.classList.toggle("md-header--shadow",s&&!c),e.hidden=c});let a=he($("[title]",e)).pipe(O(()=>X("content.tooltips")),se(s=>Ye(s,{viewport$:t})));return n.subscribe(o),r.pipe(Q(i),d(s=>k({ref:e},s)),Ut(a.pipe(Q(i))))})}function Wp(e,{viewport$:t,header$:r}){return Hn(e,{viewport$:t,header$:r}).pipe(d(({offset:{y:n}})=>{let{height:o}=Ae(e);return{active:o>0&&n>=o}}),ve("active"))}function ac(e,t){return j(()=>{let r=new I;r.subscribe({next({active:o}){e.classList.toggle("md-header__title--active",o)},complete(){e.classList.remove("md-header__title--active")}});let n=we(".md-content h1");return typeof n=="undefined"?w:Wp(n,t).pipe(P(o=>r.next(o)),q(()=>r.complete()),d(o=>k({ref:e},o)))})}function sc(e,{viewport$:t,header$:r}){let n=r.pipe(d(({height:i})=>i),ce()),o=n.pipe(y(()=>Re(e).pipe(d(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),ve("bottom"))));return oe([n,o,t]).pipe(d(([i,{top:a,bottom:s},{offset:{y:c},size:{height:l}}])=>(l=Math.max(0,l-Math.max(0,a-c,i)-Math.max(0,l+c-s)),{offset:a-i,height:l,active:a-i<=c})),ce((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Vp(e){let t=__md_get("__palette")||{index:e.findIndex(n=>matchMedia(n.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return D(...e).pipe(se(n=>b(n,"change").pipe(d(()=>n))),J(e[r]),d(n=>({index:e.indexOf(n),color:{media:n.getAttribute("data-md-color-media"),scheme:n.getAttribute("data-md-color-scheme"),primary:n.getAttribute("data-md-color-primary"),accent:n.getAttribute("data-md-color-accent")}})),re(1))}function cc(e){let t=$("input",e),r=A("meta",{name:"theme-color"});document.head.appendChild(r);let n=A("meta",{name:"color-scheme"});document.head.appendChild(n);let o=jr("(prefers-color-scheme: light)");return j(()=>{let i=new I;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=c.getAttribute("data-md-color-scheme"),a.color.primary=c.getAttribute("data-md-color-primary"),a.color.accent=c.getAttribute("data-md-color-accent")}for(let[s,c]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,c);for(let s=0;sa.key==="Enter"),fe(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(d(()=>{let a=bt("header"),s=window.getComputedStyle(a);return n.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(Ie(ye)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Vp(t).pipe(Q(o.pipe(ke(1))),Nt(),P(a=>i.next(a)),q(()=>i.complete()),d(a=>k({ref:e},a)))})}function lc(e,{progress$:t}){return j(()=>{let r=new I;return r.subscribe(({value:n})=>{e.style.setProperty("--md-progress-value",`${n}`)}),t.pipe(P(n=>r.next({value:n})),q(()=>r.complete()),d(n=>({ref:e,value:n})))})}var uc='.m u{text-decoration:underline!important;text-decoration-style:wavy!important;text-decoration-thickness:1px!important}.p{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-backdrop)/var(--alpha-lighter));cursor:pointer;height:100%;pointer-events:auto;position:absolute;transition:opacity .25s;width:100%}.p.v{opacity:0;pointer-events:none;transition:opacity .35s}.r{align-items:center;background-color:initial;border:none;border-radius:var(--space-2);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-family);height:36px;justify-content:center;outline:none;padding:0;position:relative;transition:background-color .25s,color .25s;width:36px;z-index:1}.r svg{stroke:rgb(var(--color-foreground));height:18px;opacity:.5;width:18px}.r:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.r:hover:before{opacity:1;transform:scale(1)}.r.c{cursor:auto}.r.c:before{display:none}.n{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background)/var(--alpha-light));border:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));border-radius:var(--space-3);box-shadow:0 0 60px #0000000d;display:flex;height:480px;overflow:hidden;pointer-events:auto;position:absolute;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;width:640px}.n.l{opacity:0;pointer-events:none;transform:scale(1.1);transition:transform .25s .15s,opacity .15s}@media (max-width:680px){.n{border-radius:0;height:100%;width:100%}}.y{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0}@keyframes d{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.w{animation:d .25s ease-in-out;background:var(--color-highlight);border-radius:100%;color:#fff;font-size:8px;font-weight:700;height:12px;padding-top:1px;position:absolute;right:4px;top:4px;width:12px}.e{background-color:rgb(var(--color-background-subtle)/var(--alpha-lighter));border-left:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));flex-shrink:0;overflow-y:scroll;position:relative;transition:width .35s cubic-bezier(.16,1,.3,1),opacity .25s;width:200px}.e>*{transform:translate(0);transition:transform .25s cubic-bezier(.16,1,.3,1)}.e.l{opacity:0;width:0}.e.l>*{transform:translate(-48px)}@media (max-width:680px){.e{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background-subtle)/var(--alpha-light));box-shadow:0 0 60px #00000026;height:100%;position:absolute;right:0;top:0}}.k{border-bottom:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));display:flex;gap:var(--space-1);padding:var(--space-2)}.z{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.j{padding:8px 10px}.X{color:rgb(var(--color-foreground)/var(--alpha-light));padding:var(--space-2);position:absolute;width:100%}.F,.X{display:flex;flex-direction:column}.F{gap:2px;list-style:none;padding:0}.F,.I{margin:0}.I{font-size:16px;font-weight:400}.I,.R{padding:8px}.R{font-size:14px;margin:4px 0 0;opacity:.5}.R,.o{font-size:12px}.o{cursor:pointer;display:flex;padding:4px 8px;position:relative}.o:before{background-color:var(--color-highlight-transparent);border-radius:var(--space-1);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.o.g:before,.o:hover:before{opacity:1;transform:scale(1)}.o.g,.o:hover{color:var(--color-highlight)}.q{flex-grow:1}.A,.q{position:relative}.A{font-weight:700}.f{flex-grow:1}.f input{background:#0000;border:none;color:rgb(var(--color-foreground));font-family:var(--font-family);font-size:16px;height:100%;letter-spacing:-.25px;outline:none;width:100%}.b{color:rgb(var(--color-foreground)/var(--alpha-light));display:flex;flex-direction:column;gap:2px;line-height:1.3;list-style:none;margin:var(--space-2);margin-top:0;padding:0}.B,.b li{margin:0}.B{color:rgb(var(--color-foreground)/var(--alpha-lighter));font-size:12px;margin-top:var(--space-2);padding:0 18px}.i{border-radius:var(--space-2);color:inherit;cursor:pointer;display:flex;flex-direction:row;flex-grow:1;padding:8px 10px;position:relative;text-decoration:none}.i:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";display:block;inset:0;opacity:0;position:absolute;transform:scale(.9);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.i.h:before,.i:hover:before{opacity:1;transform:scale(1)}}.i mark{background:#0000;color:var(--color-highlight)}.i u{text-decoration:underline}.C{flex-direction:column;flex-grow:1;gap:5.5px}.C,.D{display:flex;min-width:0}.D{align-items:flex-start;gap:var(--space-2);justify-content:space-between}.s{align-items:flex-end;align-self:flex-end;display:flex;flex-direction:column;gap:6px;justify-content:flex-end;margin-right:-8px;margin-top:auto;opacity:0;position:relative;transform:translate(-2px);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.h>.s,:hover>.s{opacity:1;transform:none}}.x{font-size:14px;margin:0;position:relative}.x code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);font-size:13px;padding:2px 4px}.t{color:rgb(var(--color-foreground)/.45);display:inline-flex;flex:1 1 auto;flex-wrap:wrap;font-size:12px;gap:var(--space-1);list-style:none;margin:0;min-width:0;padding:0;position:relative}.t li{white-space:nowrap}.t li:after{content:"/";display:inline;margin-left:var(--space-1)}.t li:last-child:after{content:"";display:none}.u{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:rgb(var(--color-foreground));display:-webkit-box;font-size:12px;line-height:1.5;overflow:hidden;position:relative}.u code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);padding:2px 4px}.E,.u code{font-size:11px}.E{color:rgb(var(--color-foreground)/.45);line-height:1;white-space:nowrap;z-index:1}.a{--space-1:4px;--space-2:calc(var(--space-1)*2);--space-3:calc(var(--space-2)*2);--space-4:calc(var(--space-3)*2);--space-5:calc(var(--space-4)*2);--alpha-light:.7;--alpha-lighter:.54;--alpha-lightest:.07;--color-highlight:var(--md-accent-fg-color,#526cfe);--color-highlight-transparent:var( --md-accent-fg-color--transparent,#526cfe1a );--border-radius-1:var(--space-1);--border-radius-2:var(--space-2);--border-radius-3:calc(var(--space-1) + var(--space-2));--font-family:var( --md-text-font-family,Inter,Roboto Flex,system-ui,sans-serif );--font-size:16px;--line-height:1.5;--letter-spacing:-.5px;-webkit-font-smoothing:antialiased;align-items:center;display:flex;font-family:var(--font-family);font-size:var(--font-size);height:100vh;justify-content:center;letter-spacing:var(--letter-spacing);line-height:var(--line-height);pointer-events:none;position:absolute;width:100vw}@media (pointer:coarse){.a{height:-webkit-fill-available}}.a *,.a :after,.a :before{box-sizing:border-box}';function pc(e,{index$:t}){let r=Ne(),n=document.createElement("div");document.body.appendChild(n),n.style.position="fixed",n.style.height="100%",n.style.top="0",n.style.zIndex="4";let o=n.attachShadow({mode:"open"});o.appendChild(A("style",{},uc.toString()));try{is(r.search,{highlight:r.features.includes("search.highlight")}),he(t).subscribe(i=>{for(let a of i.items)a.location=new URL(`./${a.location}`,r.base).toString();cs(i,o)}),b(e,"click").subscribe(()=>{wo()}),Cn("search").pipe(ke(1)).subscribe(()=>wo())}catch(i){e.hidden=!0;let a=Y("label[for=__search]");a.hidden=!0}return Be}var fc=xr(ko());function mc(e,{index$:t,location$:r}){return oe([t,r.pipe(J(Ue()),O(n=>!!n.searchParams.get("h")))]).pipe(d(([n,o])=>qp(n.config)(o.searchParams.get("h"))),d(n=>{var a;let o=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let c=s.textContent,l=n(c);l.length>c.length&&o.set(s,l)}for(let[s,c]of o){let{childNodes:l}=A("span",null,c);s.replaceWith(...Array.from(l))}return{ref:e,nodes:o}}))}function qp(e){let t=e.separator.split("|").map(o=>o.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":o).join("|"),r=new RegExp(t,"img"),n=(o,i,a)=>`${i}${a}`;return o=>{o=o.replace(/\s+/g," ").replace(/&/g,"&").trim();let i=new RegExp(`(^|${e.separator}|)(${o.split(r).map(a=>a.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")).filter(a=>a.length>=2).join("|")})`,"img");return a=>(0,fc.default)(a).replace(i,n).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Kp(e,{viewport$:t,main$:r}){let n=e.closest(".md-grid"),o=n.offsetTop-n.parentElement.offsetTop;return oe([r,t]).pipe(d(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(o,Math.max(0,s-i))-o,{height:a,locked:s>=i+o})),ce((i,a)=>i.height===a.height&&i.locked===a.locked))}function Ro(e,n){var o=n,{header$:t}=o,r=_r(o,["header$"]);let i=Y(".md-sidebar__scrollwrap",e),{y:a}=Tt(i);return j(()=>{let s=new I,c=s.pipe(be(),_e(!0)),l=s.pipe(Xe(0,je));return l.pipe(fe(t)).subscribe({next([{height:u},{height:f}]){i.style.height=`${u-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),l.pipe(Lr()).subscribe(()=>{for(let u of $(".md-nav__link--active[href]",e)){if(!u.clientHeight)continue;let f=u.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let p=u.offsetTop-f.offsetTop,{height:m}=Ae(f);f.scrollTo({top:p-m/2})}}}),he($("label[tabindex]",e)).pipe(se(u=>b(u,"click").pipe(Ie(ye),d(()=>u),Q(c)))).subscribe(u=>{let f=Y(`[id="${u.htmlFor}"]`);Y(`[aria-labelledby="${u.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),X("content.tooltips")&&he($("abbr[title]",e)).pipe(se(u=>Ye(u,{viewport$})),Q(c)).subscribe(),Kp(e,r).pipe(P(u=>s.next(u)),q(()=>s.complete()),d(u=>k({ref:e},u)))})}function dc(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Rt(et(`${r}/releases/latest`).pipe(me(()=>w),d(n=>({version:n.tag_name})),ot({})),et(r).pipe(me(()=>w),d(n=>({stars:n.stargazers_count,forks:n.forks_count})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}else{let r=`https://api.github.com/users/${e}`;return et(r).pipe(d(n=>({repositories:n.public_repos})),ot({}))}}function hc(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Rt(et(`${r}/releases/permalink/latest`).pipe(me(()=>w),d(({tag_name:n})=>({version:n})),ot({})),et(r).pipe(me(()=>w),d(({star_count:n,forks_count:o})=>({stars:n,forks:o})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}function vc(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,n]=t;return dc(r,n)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,n]=t;return hc(r,n)}return w}var Bp;function Gp(e){return Bp||(Bp=j(()=>{let t=__md_get("__source",sessionStorage);if(t)return D(t);if(Te("consent").length){let n=__md_get("__consent");if(!(n&&n.github))return w}return vc(e.href).pipe(P(n=>__md_set("__source",n,sessionStorage)))}).pipe(me(()=>w),O(t=>Object.keys(t).length>0),d(t=>({facts:t})),re(1)))}function bc(e){let t=Y(":scope > :last-child",e);return j(()=>{let r=new I;return r.subscribe(({facts:n})=>{t.appendChild(ks(n)),t.classList.add("md-source__repository--active")}),Gp(e).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Yp(e,{viewport$:t,header$:r}){return Re(document.body).pipe(y(()=>Hn(e,{header$:r,viewport$:t})),d(({offset:{y:n}})=>({hidden:n>=10})),ve("hidden"))}function gc(e,t){return j(()=>{let r=new I;return r.subscribe({next({hidden:n}){e.hidden=n},complete(){e.hidden=!1}}),(X("navigation.tabs.sticky")?D({hidden:!1}):Yp(e,t)).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Jp(e,{viewport$:t,header$:r}){let n=new Map,o=$(".md-nav__link",e);for(let s of o){let c=decodeURIComponent(s.hash.substring(1)),l=we(`[id="${c}"]`);typeof l!="undefined"&&n.set(s,l)}let i=r.pipe(ve("height"),d(({height:s})=>{let c=bt("main"),l=Y(":scope > :first-child",c);return s+.9*(l.offsetTop-c.offsetTop)}),xe());return Re(document.body).pipe(ve("height"),y(s=>j(()=>{let c=[];return D([...n].reduce((l,[u,f])=>{for(;c.length&&n.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let p=f.offsetTop;for(;!p&&f.parentElement;)f=f.parentElement,p=f.offsetTop;let m=f.offsetParent;for(;m;m=m.offsetParent)p+=m.offsetTop;return l.set([...c=[...c,u]].reverse(),p)},new Map))}).pipe(d(c=>new Map([...c].sort(([,l],[,u])=>l-u))),Ze(i),y(([c,l])=>t.pipe(Mr(([u,f],{offset:{y:p},size:m})=>{let h=p+m.height>=Math.floor(s.height);for(;f.length;){let[,v]=f[0];if(v-l=p&&!h)f=[u.pop(),...f];else break}return[u,f]},[[],[...c]]),ce((u,f)=>u[0]===f[0]&&u[1]===f[1])))))).pipe(d(([s,c])=>({prev:s.map(([l])=>l),next:c.map(([l])=>l)})),J({prev:[],next:[]}),jt(2,1),d(([s,c])=>s.prev.length{let i=new I,a=i.pipe(be(),_e(!0));i.subscribe(({prev:c,next:l})=>{for(let[u]of l)u.classList.remove("md-nav__link--passed"),u.classList.remove("md-nav__link--active");for(let[u,[f]]of c.entries())f.classList.add("md-nav__link--passed"),f.classList.toggle("md-nav__link--active",u===c.length-1)});let s=we(".md-sidebar--secondary");if(typeof s!="undefined"&&b(document.body,"click").subscribe(c=>{let l=c.target;if(!s.contains(l)){let u=we(".md-nav__toggle",s);typeof u!="undefined"&&(u.checked=!1)}}),X("toc.follow")){let c=R(t.pipe(Ge(1),d(()=>{})),t.pipe(Ge(250),d(()=>"smooth")));i.pipe(O(({prev:l})=>l.length>0),Ze(n.pipe(Ie(ye))),fe(c)).subscribe(([[{prev:l}],u])=>{let[f]=l[l.length-1];if(f.offsetHeight){let p=Ii(f);if(typeof p!="undefined"){let m=f.offsetTop-p.offsetTop,{height:h}=Ae(p);p.scrollTo({top:m-h/2,behavior:u})}}})}return X("navigation.tracking")&&t.pipe(Q(a),ve("offset"),Ge(250),ke(1),Q(o.pipe(ke(1))),Nt({delay:250}),fe(i)).subscribe(([,{prev:c}])=>{let l=Ue(),u=c[c.length-1];if(u&&u.length){let[f]=u,{hash:p}=new URL(f.href);l.hash!==p&&(l.hash=p,history.replaceState({},"",`${l}`))}else l.hash="",history.replaceState({},"",`${l}`)}),Jp(e,{viewport$:t,header$:r}).pipe(P(c=>i.next(c)),q(()=>i.complete()),d(c=>k({ref:e},c)))})}function Xp(e,{viewport$:t,main$:r,target$:n}){let o=t.pipe(d(({offset:{y:a}})=>a),jt(2,1),d(([a,s])=>a>s&&s>0),ce()),i=r.pipe(d(({active:a})=>a));return oe([i,o]).pipe(d(([a,s])=>!(a&&s)),ce(),Q(n.pipe(ke(1))),_e(!0),Nt({delay:250}),d(a=>({hidden:a})))}function _c(e,{viewport$:t,header$:r,main$:n,target$:o}){let i=new I,a=i.pipe(be(),_e(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(Q(a),ve("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),b(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),Xp(e,{viewport$:t,main$:n,target$:o}).pipe(P(s=>i.next(s)),q(()=>i.complete()),d(s=>k({ref:e},s)))}function xc(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,t.port&&(e.port=t.port),e}function Zp(e,t){let r=new Map;for(let n of $("url",e)){let o=Y("loc",n),i=[xc(new URL(o.textContent),t)];r.set(`${i[0]}`,i);for(let a of $("[rel=alternate]",n)){let s=a.getAttribute("href");s!=null&&i.push(xc(new URL(s),t))}}return r}function vr(e){return hs(new URL("sitemap.xml",e)).pipe(d(t=>Zp(t,new URL(e))),me(()=>D(new Map)),xe())}function wc({document$:e}){let t=new Map;e.pipe(y(()=>$("link[rel=alternate]")),d(r=>__ha_langroot(r.href)),O(r=>!t.has(r.toString())),se(r=>vr(r).pipe(d(n=>[r,n]),me(()=>w)))).subscribe(([r,n])=>{t.set(r.toString().replace(/\/$/,""),n)}),b(document.body,"click").pipe(O(r=>!r.metaKey&&!r.ctrlKey),y(r=>{if(r.target instanceof Element){let n=r.target.closest("a");if(n&&!n.target){let o=[...t].find(([f])=>n.href.startsWith(`${f}/`));if(typeof o=="undefined")return w;let[i,a]=o,s=Ue();if(s.href.startsWith(i))return w;let c=Ne(),l=s.href.replace(c.base,"");l=`${i}/${l}`;let u=a.has(l.split("#")[0])?new URL(l,c.base):new URL(i);return r.preventDefault(),D(u)}}return w})).subscribe(r=>vt(r,!0))}var jo=xr(Ho());function Qp(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Ec({alert$:e}){jo.default.isSupported()&&new F(t=>{new jo.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Qp(Y(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(P(t=>{t.trigger.focus()}),d(()=>Gt("clipboard.copied"))).subscribe(e)}function Tc(e,t){if(!(e.target instanceof Element))return w;let r=e.target.closest("a");if(r===null)return w;if(r.target||e.metaKey||e.ctrlKey)return w;let n=new URL(r.href);return n.search=n.hash="",t.has(`${n}`)?(e.preventDefault(),D(r)):w}function Sc(e){let t=new Map;for(let r of $(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Oc(e){for(let t of $("[href], [src]",e))for(let r of["href","src"]){let n=t.getAttribute(r);if(n&&!/^(?:[a-z]+:)?\/\//i.test(n)){t[r]=t[r];break}}return D(e)}function ef(e){var r;if(e.tagName!=="STYLE")return!1;let t=(r=e.textContent)!=null?r:"";return t.includes(".ace_editor")||t.includes(".ace-zensical")||t.includes(".ace_scroller")||t.includes(".ace_gutter")}function tf(e){for(let n of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...X("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let o=we(n),i=we(n,e);typeof o!="undefined"&&typeof i!="undefined"&&o.replaceWith(i)}let t=Sc(document);for(let[n,o]of Sc(e))t.has(n)?t.delete(n):document.head.appendChild(o);for(let n of t.values()){let o=n.getAttribute("name");o!=="theme-color"&&o!=="color-scheme"&&!ef(n)&&n.remove()}let r=bt("container");return nt($("script",r)).pipe(y(n=>{let o=e.createElement("script");if(n.src){for(let i of n.getAttributeNames())o.setAttribute(i,n.getAttribute(i));return n.replaceWith(o),new F(i=>{o.onload=()=>i.complete()})}else return o.textContent=n.textContent,n.replaceWith(o),w}),be(),_e(document))}function Lc({sitemap$:e,location$:t,viewport$:r,progress$:n}){if(location.protocol==="file:")return Be;D(document).subscribe(Oc);let o=b(document.body,"click").pipe(Ze(e),y(([s,c])=>Tc(s,c)),d(({href:s})=>new URL(s)),xe()),i=b(window,"popstate").pipe(d(Ue),xe());o.pipe(fe(r)).subscribe(([s,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",s)}),R(o,i).subscribe(t);let a=t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname!==c.pathname),d(([,s])=>s),y(s=>An(s,{progress$:n}).pipe(me(()=>(vt(s,!0),w)))),y(Oc),y(tf),xe());return R(a.pipe(fe(t,(s,c)=>c)),a.pipe(y(()=>t),ve("hash")),t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname===c.pathname&&s.hash!==c.hash),d(([,s])=>s)),t.pipe(ce((s,c)=>s.pathname===c.pathname&&s.hash===c.hash),y(()=>o),P(()=>history.back()))).subscribe(s=>{var c,l;history.state!==null||!s.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",fs(s.hash),history.scrollRestoration="manual")}),t.subscribe(()=>{history.scrollRestoration="manual"}),b(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),r.pipe(ve("offset"),Ge(100)).subscribe(({offset:s})=>{history.replaceState(s,"")}),X("navigation.instant.prefetch")&&R(b(document.body,"mousemove"),b(document.body,"focusin")).pipe(Ze(e),y(([s,c])=>Tc(s,c)),Ge(25),eo(({href:s})=>s),fn(s=>{let c=document.createElement("link");return c.rel="prefetch",c.href=s.toString(),document.head.appendChild(c),b(c,"load").pipe(d(()=>c),Me(1))})).subscribe(s=>s.remove()),a}function Mc(e){var u;let{selectedVersionSitemap:t,selectedVersionBaseURL:r,currentLocation:n,currentBaseURL:o}=e,i=(u=Fo(o))==null?void 0:u.pathname;if(i===void 0)return;let a=rf(n.pathname,i);if(a===void 0)return;let s=of(t.keys());if(!t.has(s))return;let c=Fo(a,s);if(!c||!t.has(c.href))return;let l=Fo(a,r);if(l)return l.hash=n.hash,l.search=n.search,l}function Fo(e,t){try{return new URL(e,t)}catch(r){return}}function rf(e,t){if(e.startsWith(t))return e.slice(t.length)}function nf(e,t){let r=Math.min(e.length,t.length),n;for(n=0;nw)),n=r.pipe(d(o=>{let[,i]=t.base.match(/([^/]+)\/?$/);return o.find(({version:a,aliases:s})=>a===i||s.includes(i))||o[0]}));r.pipe(d(o=>new Map(o.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),y(o=>b(document.body,"click").pipe(O(i=>!i.metaKey&&!i.ctrlKey),fe(n),y(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&o.has(s.href)){let c=s.href;return!i.target.closest(".md-version")&&o.get(c)===a?w:(i.preventDefault(),D(new URL(c)))}}return w}),y(i=>vr(i).pipe(d(a=>{var s;return(s=Mc({selectedVersionSitemap:a,selectedVersionBaseURL:i,currentLocation:Ue(),currentBaseURL:t.base}))!=null?s:i})))))).subscribe(o=>vt(o,!0)),oe([r,n]).subscribe(([o,i])=>{Y(".md-header__topic").appendChild(Cs(o,i))}),e.pipe(y(()=>n)).subscribe(o=>{var s;let i=new URL(t.base),a=__md_get("__outdated",sessionStorage,i);if(a===null){a=!0;let c=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(c)||(c=[c]);e:for(let l of c)for(let u of o.aliases.concat(o.version))if(new RegExp(l,"i").test(u)){a=!1;break e}__md_set("__outdated",a,sessionStorage,i)}if(a)for(let c of Te("outdated"))c.hidden=!1})}function Ac({document$:e,viewport$:t}){e.pipe(y(()=>$(".md-ellipsis")),se(r=>St(r).pipe(Q(e.pipe(ke(1))),O(n=>n),d(()=>r),Me(1))),O(r=>r.offsetWidth{let n=r.innerText,o=r.closest("a")||r;return o.title=n,X("content.tooltips")?Ye(o,{viewport$:t}).pipe(Q(e.pipe(ke(1))),q(()=>o.removeAttribute("title"))):w})).subscribe(),X("content.tooltips")&&e.pipe(y(()=>$(".md-status")),se(r=>Ye(r,{viewport$:t}))).subscribe()}function Cc({document$:e,tablet$:t}){e.pipe(y(()=>$(".md-toggle--indeterminate")),P(r=>{r.indeterminate=!0,r.checked=!1}),se(r=>b(r,"change").pipe(no(()=>r.classList.contains("md-toggle--indeterminate")),d(()=>r))),fe(t)).subscribe(([r,n])=>{r.classList.remove("md-toggle--indeterminate"),n&&(r.checked=!1)})}function af(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Hc({document$:e}){e.pipe(y(()=>$("[data-md-scrollfix]")),P(t=>t.removeAttribute("data-md-scrollfix")),O(af),se(t=>b(t,"touchstart").pipe(d(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let n=e[r];typeof n=="string"?n=document.createTextNode(n):n.parentNode&&n.parentNode.removeChild(n),r?t.insertBefore(this.previousSibling,n):t.replaceChild(n,this)}}}));function sf(){return location.protocol==="file:"?it(`${new URL("search.js",In.base)}`).pipe(d(()=>__index),me(()=>Be),re(1)):et(new URL("search.json",In.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var gt=Ai(),Wr=us(),br=ms(Wr),Pc=ls(),qe=_s(),Uo=jr("(min-width: 60em)"),Ic=jr("(min-width: 76.25em)"),Rc=ds(),In=Ne(),jc=we(".md-search")?sf():Be,No=new I;Ec({alert$:No});wc({document$:gt});var Do=new I,Fc=vr(In.base);X("navigation.instant")&&Lc({sitemap$:Fc,location$:Wr,viewport$:qe,progress$:Do}).subscribe(gt);var $c;(($c=In.version)==null?void 0:$c.provider)==="mike"&&kc({document$:gt});R(Wr,br).pipe(Ft(125)).subscribe(()=>{Lo("drawer",!1),Lo("search",!1)});Pc.pipe(O(({mode:e,meta:t})=>e==="global"&&!t)).subscribe(e=>{switch(e.type){case",":case"p":let t=document.querySelector("link[rel=prev]");t instanceof HTMLLinkElement&&vt(t);break;case".":case"n":let r=document.querySelector("link[rel=next]");r instanceof HTMLLinkElement&&vt(r);break;case"/":let n=document.querySelector("[data-md-component=search] button");n instanceof HTMLButtonElement&&n.click();break;case"Enter":let o=Et();o instanceof HTMLLabelElement&&o.click()}});Ac({viewport$:qe,document$:gt});Cc({document$:gt,tablet$:Uo});Hc({document$:gt});var Ct=oc(bt("header"),{viewport$:qe}),Dr=gt.pipe(d(()=>bt("main")),y(e=>sc(e,{viewport$:qe,header$:Ct})),re(1)),cf=R(...Te("consent").map(e=>ws(e,{target$:br})),...Te("dialog").map(e=>nc(e,{alert$:No})),...Te("palette").map(e=>cc(e)),...Te("progress").map(e=>lc(e,{progress$:Do})),...Te("search").map(e=>pc(e,{index$:jc})),...Te("source").map(e=>bc(e))),lf=j(()=>R(...Te("announce").map(e=>xs(e)),...Te("content").map(e=>rc(e,{sitemap$:Fc,viewport$:qe,target$:br,print$:Rc})),...Te("content").map(e=>X("search.highlight")?mc(e,{index$:jc,location$:Wr}):w),...Te("header").map(e=>ic(e,{viewport$:qe,header$:Ct,main$:Dr})),...Te("header-title").map(e=>ac(e,{viewport$:qe,header$:Ct})),...Te("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?To(Ic,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr})):To(Uo,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr}))),...Te("tabs").map(e=>gc(e,{viewport$:qe,header$:Ct})),...Te("toc").map(e=>yc(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})),...Te("top").map(e=>_c(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})))),Uc=gt.pipe(y(()=>lf),Ut(cf),re(1));Uc.subscribe();window.document$=gt;window.location$=Wr;window.target$=br;window.keyboard$=Pc;window.viewport$=qe;window.tablet$=Uo;window.screen$=Ic;window.print$=Rc;window.alert$=No;window.progress$=Do;window.component$=Uc;})(); -/*! update cache: 20260721203924 */ +/*! update cache: 20260722174025 */ diff --git a/ja/javascripts/animation_player.js b/ja/javascripts/animation_player.js index 10c08532b..685046539 100644 --- a/ja/javascripts/animation_player.js +++ b/ja/javascripts/animation_player.js @@ -251,4 +251,4 @@ initAutoSlide(); } })(); -/*! update cache: 20260721203924 */ +/*! update cache: 20260722174025 */ diff --git a/ja/javascripts/katex.js b/ja/javascripts/katex.js index e7cf60e0f..b93394d87 100644 --- a/ja/javascripts/katex.js +++ b/ja/javascripts/katex.js @@ -8,4 +8,4 @@ document$.subscribe(({ body }) => { ], }); }); -/*! update cache: 20260721203924 */ +/*! update cache: 20260722174025 */ diff --git a/ja/javascripts/mathjax.js b/ja/javascripts/mathjax.js index fae9ab380..adda9b164 100644 --- a/ja/javascripts/mathjax.js +++ b/ja/javascripts/mathjax.js @@ -15,4 +15,4 @@ window.MathJax = { document$.subscribe(() => { MathJax.typesetPromise(); }); -/*! update cache: 20260721203924 */ +/*! update cache: 20260722174025 */ diff --git a/ja/javascripts/starfield.js b/ja/javascripts/starfield.js index c41ac3b4c..fbb420ec4 100644 --- a/ja/javascripts/starfield.js +++ b/ja/javascripts/starfield.js @@ -469,4 +469,4 @@ return Starfield; }); -/*! update cache: 20260721203924 */ +/*! update cache: 20260722174025 */ diff --git a/ja/stylesheets/animation_player.css b/ja/stylesheets/animation_player.css index f7a9b35d1..403ee3313 100644 --- a/ja/stylesheets/animation_player.css +++ b/ja/stylesheets/animation_player.css @@ -176,4 +176,4 @@ font-size: 0.7rem; } } -/*! update cache: 20260721203924 */ +/*! update cache: 20260722174025 */ diff --git a/ja/stylesheets/extra.css b/ja/stylesheets/extra.css index 58c73c35d..95ba6c465 100644 --- a/ja/stylesheets/extra.css +++ b/ja/stylesheets/extra.css @@ -264,69 +264,115 @@ html:has(body[data-md-color-scheme="default"]) { .md-typeset .admonition, .md-typeset details { + --hello-algo-callout-color: #448aff; border: 0.08rem solid transparent; } .md-typeset .admonition.note, .md-typeset details.note { + --hello-algo-callout-color: #448aff; border-color: #448aff3d; } .md-typeset .admonition.abstract, .md-typeset details.abstract { + --hello-algo-callout-color: #00b0ff; border-color: #00b0ff3d; } .md-typeset .admonition.info, .md-typeset details.info { + --hello-algo-callout-color: #00b8d4; border-color: #00b8d43d; } .md-typeset .admonition.tip, .md-typeset details.tip { + --hello-algo-callout-color: #00bfa5; border-color: #00bfa53d; } .md-typeset .admonition.success, .md-typeset details.success { + --hello-algo-callout-color: #00c853; border-color: #00c8533d; } .md-typeset .admonition.question, .md-typeset details.question { + --hello-algo-callout-color: #64dd17; border-color: #64dd173d; } .md-typeset .admonition.warning, .md-typeset details.warning { + --hello-algo-callout-color: #ff9100; border-color: #ff91003d; } .md-typeset .admonition.failure, .md-typeset details.failure { + --hello-algo-callout-color: #ff5252; border-color: #ff52523d; } .md-typeset .admonition.danger, .md-typeset details.danger { + --hello-algo-callout-color: #ff1744; border-color: #ff17443d; } .md-typeset .admonition.bug, .md-typeset details.bug { + --hello-algo-callout-color: #f50057; border-color: #f500573d; } .md-typeset .admonition.example, .md-typeset details.example { + --hello-algo-callout-color: #7c4dff; border-color: #7c4dff3d; } .md-typeset .admonition.quote, .md-typeset details.quote { + --hello-algo-callout-color: #9e9e9e; border-color: #9e9e9e3d; } +.md-typeset :is(.admonition, details):not(.pythontutor) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 3%, var(--md-default-bg-color)); +} + +.md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 10%, var(--md-default-bg-color)); + border-radius: 0.32rem 0.32rem 0 0; + margin: 0 -0.8rem; + padding-bottom: 0.4rem; + padding-top: 0.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-left: 2.4rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-right: 2.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + left: 0.8rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + right: 0.8rem; +} + +.md-typeset details:not([open], .pythontutor) > summary { + border-radius: 0.32rem; + margin-bottom: 0; +} + .md-typeset .admonition.pythontutor, .md-typeset details.pythontutor { border-color: color-mix(in srgb, var(--md-code-bg-color) 88%, var(--md-default-fg-color) 12%); @@ -857,4 +903,4 @@ a:hover .device-on-hover { max-width: 100%; } } -/*! update cache: 20260721203924 */ +/*! update cache: 20260722174025 */ diff --git a/ja/stylesheets/giscus-dark.css b/ja/stylesheets/giscus-dark.css index 446c7f7ee..11c126bef 100644 --- a/ja/stylesheets/giscus-dark.css +++ b/ja/stylesheets/giscus-dark.css @@ -122,4 +122,4 @@ main .gsc-loading-image { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721203924 */ +/*! update cache: 20260722174025 */ diff --git a/ja/stylesheets/giscus-light.css b/ja/stylesheets/giscus-light.css index 1d226cedb..97ef0ea26 100644 --- a/ja/stylesheets/giscus-light.css +++ b/ja/stylesheets/giscus-light.css @@ -153,4 +153,4 @@ main { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721203924 */ +/*! update cache: 20260722174025 */ diff --git a/javascripts/animation_player.js b/javascripts/animation_player.js index 1e4c08624..9621ef57d 100644 --- a/javascripts/animation_player.js +++ b/javascripts/animation_player.js @@ -251,4 +251,4 @@ initAutoSlide(); } })(); -/*! update cache: 20260721202919 */ +/*! update cache: 20260722173953 */ diff --git a/javascripts/katex.js b/javascripts/katex.js index 6849f9168..ad6e634ea 100644 --- a/javascripts/katex.js +++ b/javascripts/katex.js @@ -8,4 +8,4 @@ document$.subscribe(({ body }) => { ], }); }); -/*! update cache: 20260721202919 */ +/*! update cache: 20260722173953 */ diff --git a/javascripts/mathjax.js b/javascripts/mathjax.js index 9e08bb072..a8ec4e16b 100644 --- a/javascripts/mathjax.js +++ b/javascripts/mathjax.js @@ -15,4 +15,4 @@ window.MathJax = { document$.subscribe(() => { MathJax.typesetPromise(); }); -/*! update cache: 20260721202919 */ +/*! update cache: 20260722173953 */ diff --git a/javascripts/starfield.js b/javascripts/starfield.js index 8bc933838..e351968b5 100644 --- a/javascripts/starfield.js +++ b/javascripts/starfield.js @@ -469,4 +469,4 @@ return Starfield; }); -/*! update cache: 20260721202919 */ +/*! update cache: 20260722173953 */ diff --git a/ru/assets/javascripts/bundle.d7f30b55.min.js b/ru/assets/javascripts/bundle.d7f30b55.min.js index 1de4d5e2e..e6cb31463 100644 --- a/ru/assets/javascripts/bundle.d7f30b55.min.js +++ b/ru/assets/javascripts/bundle.d7f30b55.min.js @@ -8,4 +8,4 @@ `)} `)}})}function kp(){return Ws||(Ws=zs("https://unpkg.com/pyodide@314.0.2/pyodide.js",()=>typeof loadPyodide=="undefined"||loadPyodide instanceof Element).pipe(d(()=>ut(null,null,function*(){try{let e=yield loadPyodide({indexURL:"https://cdn.jsdelivr.net/pyodide/v314.0.2/full/"});return yield e.loadPackage("micropip"),e}catch(e){return null}})),re(1))),Ws}function Ap(){Vs||(ace.define("ace/theme/zensical",["require","exports","module","ace/lib/dom"],(e,t)=>{t.isDark=!1,t.cssClass="ace-zensical",t.cssText=""}),Vs=!0)}function qs(e){return Ds||(Ds=zs("https://unpkg.com/ace-builds@1.44.0/src-noconflict/ace.js",()=>typeof ace=="undefined"||ace instanceof Element).pipe(re(1))),new F(t=>{let r=!0,n,o,i=Sp(e);i.root.setAttribute("data-md-exec-state","ready");let a=()=>Po(i.output),s=()=>ut(null,null,function*(){return o||(o=ut(null,null,function*(){if(i.root.setAttribute("data-md-exec-state","loading"),Nr(i.output,"Initializing..."),yield Lp(),!r)return null;let u=yield ln(kp()).then(f=>f);if(!r||!u)return null;if(i.install.length>0)try{let f=u.pyimport("micropip");for(let p of i.install)yield f.install(p)}catch(f){return Po(i.output),Nr(i.output,`Could not install one or more packages: ${i.install.join(", ")} ${String(f)}`),i.root.setAttribute("data-md-exec-state","error"),null}return r?(Po(i.output),i.root.setAttribute("data-md-exec-state","ready"),u):null})),o}),c=()=>{ut(null,null,function*(){let u=yield s();!r||!u||!n||Mp(u,n,i.output,i.session)})},l=u=>{u.ctrlKey&&u.key.toLowerCase()==="enter"&&(u.preventDefault(),i.run.click())};return i.run.addEventListener("click",c),i.clear.addEventListener("click",a),i.root.addEventListener("keydown",l),ut(null,null,function*(){yield ln(Ds),r&&(Ap(),i.editor.textContent="",n=ace.edit(i.editor),n.setTheme("ace/theme/zensical"),n.session.setMode("ace/mode/python"),n.setOption("fontFamily","var(--md-code-font)"),n.setOption("minLines",i.minLines),n.setOption("maxLines",i.maxLines),n.session.setValue(i.source),n.gotoLine(1,0,!1),n.clearSelection(),n.resize(),n.renderer.updateFull())}),t.next({ref:i.root}),()=>{r=!1,i.run.removeEventListener("click",c),i.clear.removeEventListener("click",a),i.root.removeEventListener("keydown",l),n==null||n.destroy(),i.root.removeAttribute("data-md-exec-state")}})}var Ks;function Cp(){return typeof GLightbox=="undefined"||GLightbox instanceof Element?it("https://unpkg.com/glightbox@3/dist/js/glightbox.min.js").pipe(me(()=>w),d(()=>{})):D(void 0)}function Hp(){return $i("https://unpkg.com/glightbox@3/dist/css/glightbox.min.css").pipe(me(()=>w),d(()=>{}))}function Bs(e){return Ks||(Ks=Cp().pipe(d(()=>new GLightbox(k({touchNavigation:!0,loop:!1,zoomable:!0,draggable:!0,openEffect:"zoom",closeEffect:"zoom",slideEffect:"slide",onOpen:()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()}},typeof GLightboxOptions!="undefined"?GLightboxOptions:{}))),re(1))),Hp().pipe(y(()=>Ks),y(t=>(t.reload(),e.map(r=>({ref:r})))))}var Gs=0,Ys=new Map;function $p(e){let t=document.createElement("h3");t.innerHTML=e.innerHTML;let r=[t],n=e.nextElementSibling;for(;n&&!(n instanceof HTMLHeadingElement);)r.push(n.cloneNode(!0)),n=n.nextElementSibling;return r}function Pp(e,t){for(let r of $("[href], [src]",e))for(let n of["href","src"]){let o=r.getAttribute(n);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){r[n]=new URL(r.getAttribute(n),t).toString();break}}for(let r of $("[name^=__], [for]",e))for(let n of["id","for","name"]){let o=r.getAttribute(n);o&&r.setAttribute(n,`${o}$preview_${Gs}`)}return Gs++,D(e)}function Ip(e){let t=Ys.get(e.toString());return t?D(t):An(e).pipe(y(r=>Pp(r,e)),d(r=>(Ys.set(e.toString(),r),r)))}function Js(e,t){let{sitemap$:r}=t;if(!(e instanceof HTMLAnchorElement))return w;if(!(X("navigation.instant.preview")||e.hasAttribute("data-preview")))return w;e.removeAttribute("title");let n=oe([cr(e),Dt(e).pipe(ke(1))]).pipe(d(([i,a])=>i||a),ce(),O(i=>i));return Rt([r,n]).pipe(y(([i])=>{let a=new URL(e.href);return a.search=a.hash="",i.has(`${a}`)?D(a):w}),y(i=>Ip(i)),y(i=>{let a=e.hash?`article [id="${decodeURIComponent(e.hash.slice(1))}"]`:"article h1",s=we(a,i);return typeof s=="undefined"?w:D($p(s))})).pipe(y(i=>{let a=new F(s=>{let c=$n(...i);return s.next(c),document.body.append(c),()=>c.remove()});return Fr(e,k({content$:a},t))}))}var Xs=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.marker{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}.edgeLabel .label rect{fill:#0000}.flowchartTitleText{fill:var(--md-mermaid-label-fg-color)}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color)}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}.classDiagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs marker.marker.composition.class path,defs marker.marker.dependency.class path,defs marker.marker.extension.class path{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs marker.marker.aggregation.class path{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}.statediagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs [id$=-barbEnd]{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}[id^=entity] path,[id^=entity] rect{fill:var(--md-default-bg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs .marker.oneOrMore.er *,defs .marker.onlyOne.er *,defs .marker.zeroOrMore.er *,defs .marker.zeroOrOne.er *{stroke:var(--md-mermaid-edge-color)!important}text:not([class]):last-child{fill:var(--md-mermaid-label-fg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}.actor-line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan,.sectionTitle{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}[id$=-arrowhead] path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}[id$=-sequencenumber],defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}[class^=activation]{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-label-fg-color);stroke-width:1.5px}";var Io,jp=0;function Fp(){return typeof mermaid=="undefined"||mermaid instanceof Element?it("https://unpkg.com/mermaid@11/dist/mermaid.min.js"):D(void 0)}function Zs(e){return e.classList.remove("mermaid"),Io||(Io=Fp().pipe(P(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Xs,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),d(()=>{}),re(1))),Io.subscribe(()=>ut(null,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${jp++}`,r=A("div",{class:"mermaid"}),n=e.textContent,{svg:o,fn:i}=yield mermaid.render(t,n),a=r.attachShadow({mode:"closed"});a.innerHTML=o,e.replaceWith(r),i==null||i(a)})),Io.pipe(d(()=>({ref:e})))}var Qs=A("table");function ec(e){return e.replaceWith(Qs),Qs.replaceWith(As(e)),D({ref:e})}function Up(e){let t=e.find(r=>r.checked)||e[0];return R(...e.map(r=>b(r,"change").pipe(d(()=>Y(`label[for="${r.id}"]`))))).pipe(J(Y(`label[for="${t.id}"]`)),d(r=>({active:r})))}function tc(e,{viewport$:t,target$:r}){let n=Y(".tabbed-labels",e),o=$(":scope > input",e),i=Ao("prev");e.append(i);let a=Ao("next");return e.append(a),j(()=>{let s=new I,c=s.pipe(be(),_e(!0));oe([s,Re(e),St(e)]).pipe(Q(c),Xe(1,je)).subscribe({next([{active:l},u]){let f=Tt(l),{width:p}=Ae(l);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${p}px`);let m=dn(n);(f.xm.x+u.width)&&n.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),oe([Wt(n),Re(n)]).pipe(Q(c)).subscribe(([l,u])=>{let f=Ar(n);i.hidden=l.x<16,a.hidden=l.x>f.width-u.width-16}),R(b(i,"click").pipe(d(()=>-1)),b(a,"click").pipe(d(()=>1))).pipe(Q(c)).subscribe(l=>{let{width:u}=Ae(n);n.scrollBy({left:u*l,behavior:"smooth"})}),r.pipe(Q(c),O(l=>o.includes(l))).subscribe(l=>l.click()),n.classList.add("tabbed-labels--linked");for(let l of o){let u=Y(`label[for="${l.id}"]`);u.replaceChildren(A("a",{href:`#${u.htmlFor}`,tabIndex:-1},...Array.from(u.childNodes))),b(u.firstElementChild,"click").pipe(Q(c),O(f=>!(f.metaKey||f.ctrlKey)),P(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${u.htmlFor}`),u.click()})}return X("content.tabs.link")&&s.pipe(ke(1),fe(t)).subscribe(([{active:l},{offset:u}])=>{let f=l.innerText.trim();if(l.hasAttribute("data-md-switching"))l.removeAttribute("data-md-switching");else{let p=e.offsetTop-u.y;for(let h of $("[data-tabs]"))for(let v of $(":scope > input",h)){let _=Y(`label[for="${v.id}"]`);if(_!==l&&_.innerText.trim()===f){_.setAttribute("data-md-switching",""),v.click();break}}window.scrollTo({top:e.offsetTop-p});let m=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...m])])}}),s.pipe(Q(c)).subscribe(()=>{for(let l of $("audio, video",e))l.offsetWidth&&l.autoplay?l.play().catch(()=>{}):l.pause()}),Up(o).pipe(P(l=>s.next(l)),q(()=>s.complete()),d(l=>k({ref:e},l)))}).pipe(It(ye))}function rc(e,t){let{viewport$:r,target$:n,print$:o}=t;return R(...$(".annotate:not(.highlight)",e).map(i=>Is(i,{target$:n,print$:o})),...$(".pyodide",e).map(i=>qs(i)),...$("pre:not(.mermaid) > code",e).filter(i=>!i.closest(".pyodide")).map(i=>Us(i,{target$:n,print$:o})),...$("a",e).map(i=>Js(i,t)),...$("pre.mermaid",e).map(i=>Zs(i)),...[$(".glightbox",e)].filter(i=>i.length>0).map(i=>Bs(i)),...$("table:not([class])",e).map(i=>ec(i)),...$("details",e).map(i=>Ns(i,{target$:n,print$:o})),...$("[data-tabs]",e).map(i=>tc(i,{viewport$:r,target$:n})),...$("[title]:not([data-preview])",e).filter(()=>X("content.tooltips")).map(i=>Ye(i,{viewport$:r})),...$(".footnote-ref",e).filter(()=>X("content.footnote.tooltips")).map(i=>Fr(i,{content$:new F(a=>{let s=new URL(i.href).hash.slice(1),c=Array.from(document.getElementById(s).cloneNode(!0).children),l=$n(...c);return a.next(l),document.body.append(l),()=>l.remove()}),viewport$:r})))}function Np(e,{alert$:t}){return t.pipe(y(r=>R(D(!0),D(!1).pipe(Ft(2e3))).pipe(d(n=>({message:r,active:n})))))}function nc(e,t){let r=Y(".md-typeset",e);return j(()=>{let n=new I;return n.subscribe(({message:o,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=o}),Np(e,t).pipe(P(o=>n.next(o)),q(()=>n.complete()),d(o=>k({ref:e},o)))})}function Dp({viewport$:e}){if(!X("header.autohide"))return D(!1);let t=e.pipe(d(({offset:{y:o}})=>o),jt(2,1),d(([o,i])=>[oMath.abs(i-o.y)>100),d(([,[o]])=>o),ce()),n=Cn("search");return oe([e,n]).pipe(d(([{offset:o},i])=>o.y>400&&!i),ce(),y(o=>o?r:D(!1)),J(!1))}function oc(e,t){return j(()=>oe([Re(e),Dp(t)])).pipe(d(([{height:r},n])=>({height:r,hidden:n})),ce((r,n)=>r.height===n.height&&r.hidden===n.hidden),re(1))}function ic(e,{viewport$:t,header$:r,main$:n}){return j(()=>{let o=new I,i=o.pipe(be(),_e(!0));o.pipe(ve("active"),Ze(r)).subscribe(([{active:s},{hidden:c}])=>{e.classList.toggle("md-header--shadow",s&&!c),e.hidden=c});let a=he($("[title]",e)).pipe(O(()=>X("content.tooltips")),se(s=>Ye(s,{viewport$:t})));return n.subscribe(o),r.pipe(Q(i),d(s=>k({ref:e},s)),Ut(a.pipe(Q(i))))})}function Wp(e,{viewport$:t,header$:r}){return Hn(e,{viewport$:t,header$:r}).pipe(d(({offset:{y:n}})=>{let{height:o}=Ae(e);return{active:o>0&&n>=o}}),ve("active"))}function ac(e,t){return j(()=>{let r=new I;r.subscribe({next({active:o}){e.classList.toggle("md-header__title--active",o)},complete(){e.classList.remove("md-header__title--active")}});let n=we(".md-content h1");return typeof n=="undefined"?w:Wp(n,t).pipe(P(o=>r.next(o)),q(()=>r.complete()),d(o=>k({ref:e},o)))})}function sc(e,{viewport$:t,header$:r}){let n=r.pipe(d(({height:i})=>i),ce()),o=n.pipe(y(()=>Re(e).pipe(d(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),ve("bottom"))));return oe([n,o,t]).pipe(d(([i,{top:a,bottom:s},{offset:{y:c},size:{height:l}}])=>(l=Math.max(0,l-Math.max(0,a-c,i)-Math.max(0,l+c-s)),{offset:a-i,height:l,active:a-i<=c})),ce((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Vp(e){let t=__md_get("__palette")||{index:e.findIndex(n=>matchMedia(n.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return D(...e).pipe(se(n=>b(n,"change").pipe(d(()=>n))),J(e[r]),d(n=>({index:e.indexOf(n),color:{media:n.getAttribute("data-md-color-media"),scheme:n.getAttribute("data-md-color-scheme"),primary:n.getAttribute("data-md-color-primary"),accent:n.getAttribute("data-md-color-accent")}})),re(1))}function cc(e){let t=$("input",e),r=A("meta",{name:"theme-color"});document.head.appendChild(r);let n=A("meta",{name:"color-scheme"});document.head.appendChild(n);let o=jr("(prefers-color-scheme: light)");return j(()=>{let i=new I;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=c.getAttribute("data-md-color-scheme"),a.color.primary=c.getAttribute("data-md-color-primary"),a.color.accent=c.getAttribute("data-md-color-accent")}for(let[s,c]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,c);for(let s=0;sa.key==="Enter"),fe(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(d(()=>{let a=bt("header"),s=window.getComputedStyle(a);return n.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(Ie(ye)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Vp(t).pipe(Q(o.pipe(ke(1))),Nt(),P(a=>i.next(a)),q(()=>i.complete()),d(a=>k({ref:e},a)))})}function lc(e,{progress$:t}){return j(()=>{let r=new I;return r.subscribe(({value:n})=>{e.style.setProperty("--md-progress-value",`${n}`)}),t.pipe(P(n=>r.next({value:n})),q(()=>r.complete()),d(n=>({ref:e,value:n})))})}var uc='.m u{text-decoration:underline!important;text-decoration-style:wavy!important;text-decoration-thickness:1px!important}.p{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-backdrop)/var(--alpha-lighter));cursor:pointer;height:100%;pointer-events:auto;position:absolute;transition:opacity .25s;width:100%}.p.v{opacity:0;pointer-events:none;transition:opacity .35s}.r{align-items:center;background-color:initial;border:none;border-radius:var(--space-2);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-family);height:36px;justify-content:center;outline:none;padding:0;position:relative;transition:background-color .25s,color .25s;width:36px;z-index:1}.r svg{stroke:rgb(var(--color-foreground));height:18px;opacity:.5;width:18px}.r:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.r:hover:before{opacity:1;transform:scale(1)}.r.c{cursor:auto}.r.c:before{display:none}.n{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background)/var(--alpha-light));border:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));border-radius:var(--space-3);box-shadow:0 0 60px #0000000d;display:flex;height:480px;overflow:hidden;pointer-events:auto;position:absolute;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;width:640px}.n.l{opacity:0;pointer-events:none;transform:scale(1.1);transition:transform .25s .15s,opacity .15s}@media (max-width:680px){.n{border-radius:0;height:100%;width:100%}}.y{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0}@keyframes d{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.w{animation:d .25s ease-in-out;background:var(--color-highlight);border-radius:100%;color:#fff;font-size:8px;font-weight:700;height:12px;padding-top:1px;position:absolute;right:4px;top:4px;width:12px}.e{background-color:rgb(var(--color-background-subtle)/var(--alpha-lighter));border-left:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));flex-shrink:0;overflow-y:scroll;position:relative;transition:width .35s cubic-bezier(.16,1,.3,1),opacity .25s;width:200px}.e>*{transform:translate(0);transition:transform .25s cubic-bezier(.16,1,.3,1)}.e.l{opacity:0;width:0}.e.l>*{transform:translate(-48px)}@media (max-width:680px){.e{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background-subtle)/var(--alpha-light));box-shadow:0 0 60px #00000026;height:100%;position:absolute;right:0;top:0}}.k{border-bottom:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));display:flex;gap:var(--space-1);padding:var(--space-2)}.z{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.j{padding:8px 10px}.X{color:rgb(var(--color-foreground)/var(--alpha-light));padding:var(--space-2);position:absolute;width:100%}.F,.X{display:flex;flex-direction:column}.F{gap:2px;list-style:none;padding:0}.F,.I{margin:0}.I{font-size:16px;font-weight:400}.I,.R{padding:8px}.R{font-size:14px;margin:4px 0 0;opacity:.5}.R,.o{font-size:12px}.o{cursor:pointer;display:flex;padding:4px 8px;position:relative}.o:before{background-color:var(--color-highlight-transparent);border-radius:var(--space-1);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.o.g:before,.o:hover:before{opacity:1;transform:scale(1)}.o.g,.o:hover{color:var(--color-highlight)}.q{flex-grow:1}.A,.q{position:relative}.A{font-weight:700}.f{flex-grow:1}.f input{background:#0000;border:none;color:rgb(var(--color-foreground));font-family:var(--font-family);font-size:16px;height:100%;letter-spacing:-.25px;outline:none;width:100%}.b{color:rgb(var(--color-foreground)/var(--alpha-light));display:flex;flex-direction:column;gap:2px;line-height:1.3;list-style:none;margin:var(--space-2);margin-top:0;padding:0}.B,.b li{margin:0}.B{color:rgb(var(--color-foreground)/var(--alpha-lighter));font-size:12px;margin-top:var(--space-2);padding:0 18px}.i{border-radius:var(--space-2);color:inherit;cursor:pointer;display:flex;flex-direction:row;flex-grow:1;padding:8px 10px;position:relative;text-decoration:none}.i:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";display:block;inset:0;opacity:0;position:absolute;transform:scale(.9);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.i.h:before,.i:hover:before{opacity:1;transform:scale(1)}}.i mark{background:#0000;color:var(--color-highlight)}.i u{text-decoration:underline}.C{flex-direction:column;flex-grow:1;gap:5.5px}.C,.D{display:flex;min-width:0}.D{align-items:flex-start;gap:var(--space-2);justify-content:space-between}.s{align-items:flex-end;align-self:flex-end;display:flex;flex-direction:column;gap:6px;justify-content:flex-end;margin-right:-8px;margin-top:auto;opacity:0;position:relative;transform:translate(-2px);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.h>.s,:hover>.s{opacity:1;transform:none}}.x{font-size:14px;margin:0;position:relative}.x code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);font-size:13px;padding:2px 4px}.t{color:rgb(var(--color-foreground)/.45);display:inline-flex;flex:1 1 auto;flex-wrap:wrap;font-size:12px;gap:var(--space-1);list-style:none;margin:0;min-width:0;padding:0;position:relative}.t li{white-space:nowrap}.t li:after{content:"/";display:inline;margin-left:var(--space-1)}.t li:last-child:after{content:"";display:none}.u{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:rgb(var(--color-foreground));display:-webkit-box;font-size:12px;line-height:1.5;overflow:hidden;position:relative}.u code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);padding:2px 4px}.E,.u code{font-size:11px}.E{color:rgb(var(--color-foreground)/.45);line-height:1;white-space:nowrap;z-index:1}.a{--space-1:4px;--space-2:calc(var(--space-1)*2);--space-3:calc(var(--space-2)*2);--space-4:calc(var(--space-3)*2);--space-5:calc(var(--space-4)*2);--alpha-light:.7;--alpha-lighter:.54;--alpha-lightest:.07;--color-highlight:var(--md-accent-fg-color,#526cfe);--color-highlight-transparent:var( --md-accent-fg-color--transparent,#526cfe1a );--border-radius-1:var(--space-1);--border-radius-2:var(--space-2);--border-radius-3:calc(var(--space-1) + var(--space-2));--font-family:var( --md-text-font-family,Inter,Roboto Flex,system-ui,sans-serif );--font-size:16px;--line-height:1.5;--letter-spacing:-.5px;-webkit-font-smoothing:antialiased;align-items:center;display:flex;font-family:var(--font-family);font-size:var(--font-size);height:100vh;justify-content:center;letter-spacing:var(--letter-spacing);line-height:var(--line-height);pointer-events:none;position:absolute;width:100vw}@media (pointer:coarse){.a{height:-webkit-fill-available}}.a *,.a :after,.a :before{box-sizing:border-box}';function pc(e,{index$:t}){let r=Ne(),n=document.createElement("div");document.body.appendChild(n),n.style.position="fixed",n.style.height="100%",n.style.top="0",n.style.zIndex="4";let o=n.attachShadow({mode:"open"});o.appendChild(A("style",{},uc.toString()));try{is(r.search,{highlight:r.features.includes("search.highlight")}),he(t).subscribe(i=>{for(let a of i.items)a.location=new URL(`./${a.location}`,r.base).toString();cs(i,o)}),b(e,"click").subscribe(()=>{wo()}),Cn("search").pipe(ke(1)).subscribe(()=>wo())}catch(i){e.hidden=!0;let a=Y("label[for=__search]");a.hidden=!0}return Be}var fc=xr(ko());function mc(e,{index$:t,location$:r}){return oe([t,r.pipe(J(Ue()),O(n=>!!n.searchParams.get("h")))]).pipe(d(([n,o])=>qp(n.config)(o.searchParams.get("h"))),d(n=>{var a;let o=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let c=s.textContent,l=n(c);l.length>c.length&&o.set(s,l)}for(let[s,c]of o){let{childNodes:l}=A("span",null,c);s.replaceWith(...Array.from(l))}return{ref:e,nodes:o}}))}function qp(e){let t=e.separator.split("|").map(o=>o.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":o).join("|"),r=new RegExp(t,"img"),n=(o,i,a)=>`${i}${a}`;return o=>{o=o.replace(/\s+/g," ").replace(/&/g,"&").trim();let i=new RegExp(`(^|${e.separator}|)(${o.split(r).map(a=>a.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")).filter(a=>a.length>=2).join("|")})`,"img");return a=>(0,fc.default)(a).replace(i,n).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Kp(e,{viewport$:t,main$:r}){let n=e.closest(".md-grid"),o=n.offsetTop-n.parentElement.offsetTop;return oe([r,t]).pipe(d(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(o,Math.max(0,s-i))-o,{height:a,locked:s>=i+o})),ce((i,a)=>i.height===a.height&&i.locked===a.locked))}function Ro(e,n){var o=n,{header$:t}=o,r=_r(o,["header$"]);let i=Y(".md-sidebar__scrollwrap",e),{y:a}=Tt(i);return j(()=>{let s=new I,c=s.pipe(be(),_e(!0)),l=s.pipe(Xe(0,je));return l.pipe(fe(t)).subscribe({next([{height:u},{height:f}]){i.style.height=`${u-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),l.pipe(Lr()).subscribe(()=>{for(let u of $(".md-nav__link--active[href]",e)){if(!u.clientHeight)continue;let f=u.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let p=u.offsetTop-f.offsetTop,{height:m}=Ae(f);f.scrollTo({top:p-m/2})}}}),he($("label[tabindex]",e)).pipe(se(u=>b(u,"click").pipe(Ie(ye),d(()=>u),Q(c)))).subscribe(u=>{let f=Y(`[id="${u.htmlFor}"]`);Y(`[aria-labelledby="${u.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),X("content.tooltips")&&he($("abbr[title]",e)).pipe(se(u=>Ye(u,{viewport$})),Q(c)).subscribe(),Kp(e,r).pipe(P(u=>s.next(u)),q(()=>s.complete()),d(u=>k({ref:e},u)))})}function dc(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Rt(et(`${r}/releases/latest`).pipe(me(()=>w),d(n=>({version:n.tag_name})),ot({})),et(r).pipe(me(()=>w),d(n=>({stars:n.stargazers_count,forks:n.forks_count})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}else{let r=`https://api.github.com/users/${e}`;return et(r).pipe(d(n=>({repositories:n.public_repos})),ot({}))}}function hc(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Rt(et(`${r}/releases/permalink/latest`).pipe(me(()=>w),d(({tag_name:n})=>({version:n})),ot({})),et(r).pipe(me(()=>w),d(({star_count:n,forks_count:o})=>({stars:n,forks:o})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}function vc(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,n]=t;return dc(r,n)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,n]=t;return hc(r,n)}return w}var Bp;function Gp(e){return Bp||(Bp=j(()=>{let t=__md_get("__source",sessionStorage);if(t)return D(t);if(Te("consent").length){let n=__md_get("__consent");if(!(n&&n.github))return w}return vc(e.href).pipe(P(n=>__md_set("__source",n,sessionStorage)))}).pipe(me(()=>w),O(t=>Object.keys(t).length>0),d(t=>({facts:t})),re(1)))}function bc(e){let t=Y(":scope > :last-child",e);return j(()=>{let r=new I;return r.subscribe(({facts:n})=>{t.appendChild(ks(n)),t.classList.add("md-source__repository--active")}),Gp(e).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Yp(e,{viewport$:t,header$:r}){return Re(document.body).pipe(y(()=>Hn(e,{header$:r,viewport$:t})),d(({offset:{y:n}})=>({hidden:n>=10})),ve("hidden"))}function gc(e,t){return j(()=>{let r=new I;return r.subscribe({next({hidden:n}){e.hidden=n},complete(){e.hidden=!1}}),(X("navigation.tabs.sticky")?D({hidden:!1}):Yp(e,t)).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Jp(e,{viewport$:t,header$:r}){let n=new Map,o=$(".md-nav__link",e);for(let s of o){let c=decodeURIComponent(s.hash.substring(1)),l=we(`[id="${c}"]`);typeof l!="undefined"&&n.set(s,l)}let i=r.pipe(ve("height"),d(({height:s})=>{let c=bt("main"),l=Y(":scope > :first-child",c);return s+.9*(l.offsetTop-c.offsetTop)}),xe());return Re(document.body).pipe(ve("height"),y(s=>j(()=>{let c=[];return D([...n].reduce((l,[u,f])=>{for(;c.length&&n.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let p=f.offsetTop;for(;!p&&f.parentElement;)f=f.parentElement,p=f.offsetTop;let m=f.offsetParent;for(;m;m=m.offsetParent)p+=m.offsetTop;return l.set([...c=[...c,u]].reverse(),p)},new Map))}).pipe(d(c=>new Map([...c].sort(([,l],[,u])=>l-u))),Ze(i),y(([c,l])=>t.pipe(Mr(([u,f],{offset:{y:p},size:m})=>{let h=p+m.height>=Math.floor(s.height);for(;f.length;){let[,v]=f[0];if(v-l=p&&!h)f=[u.pop(),...f];else break}return[u,f]},[[],[...c]]),ce((u,f)=>u[0]===f[0]&&u[1]===f[1])))))).pipe(d(([s,c])=>({prev:s.map(([l])=>l),next:c.map(([l])=>l)})),J({prev:[],next:[]}),jt(2,1),d(([s,c])=>s.prev.length{let i=new I,a=i.pipe(be(),_e(!0));i.subscribe(({prev:c,next:l})=>{for(let[u]of l)u.classList.remove("md-nav__link--passed"),u.classList.remove("md-nav__link--active");for(let[u,[f]]of c.entries())f.classList.add("md-nav__link--passed"),f.classList.toggle("md-nav__link--active",u===c.length-1)});let s=we(".md-sidebar--secondary");if(typeof s!="undefined"&&b(document.body,"click").subscribe(c=>{let l=c.target;if(!s.contains(l)){let u=we(".md-nav__toggle",s);typeof u!="undefined"&&(u.checked=!1)}}),X("toc.follow")){let c=R(t.pipe(Ge(1),d(()=>{})),t.pipe(Ge(250),d(()=>"smooth")));i.pipe(O(({prev:l})=>l.length>0),Ze(n.pipe(Ie(ye))),fe(c)).subscribe(([[{prev:l}],u])=>{let[f]=l[l.length-1];if(f.offsetHeight){let p=Ii(f);if(typeof p!="undefined"){let m=f.offsetTop-p.offsetTop,{height:h}=Ae(p);p.scrollTo({top:m-h/2,behavior:u})}}})}return X("navigation.tracking")&&t.pipe(Q(a),ve("offset"),Ge(250),ke(1),Q(o.pipe(ke(1))),Nt({delay:250}),fe(i)).subscribe(([,{prev:c}])=>{let l=Ue(),u=c[c.length-1];if(u&&u.length){let[f]=u,{hash:p}=new URL(f.href);l.hash!==p&&(l.hash=p,history.replaceState({},"",`${l}`))}else l.hash="",history.replaceState({},"",`${l}`)}),Jp(e,{viewport$:t,header$:r}).pipe(P(c=>i.next(c)),q(()=>i.complete()),d(c=>k({ref:e},c)))})}function Xp(e,{viewport$:t,main$:r,target$:n}){let o=t.pipe(d(({offset:{y:a}})=>a),jt(2,1),d(([a,s])=>a>s&&s>0),ce()),i=r.pipe(d(({active:a})=>a));return oe([i,o]).pipe(d(([a,s])=>!(a&&s)),ce(),Q(n.pipe(ke(1))),_e(!0),Nt({delay:250}),d(a=>({hidden:a})))}function _c(e,{viewport$:t,header$:r,main$:n,target$:o}){let i=new I,a=i.pipe(be(),_e(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(Q(a),ve("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),b(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),Xp(e,{viewport$:t,main$:n,target$:o}).pipe(P(s=>i.next(s)),q(()=>i.complete()),d(s=>k({ref:e},s)))}function xc(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,t.port&&(e.port=t.port),e}function Zp(e,t){let r=new Map;for(let n of $("url",e)){let o=Y("loc",n),i=[xc(new URL(o.textContent),t)];r.set(`${i[0]}`,i);for(let a of $("[rel=alternate]",n)){let s=a.getAttribute("href");s!=null&&i.push(xc(new URL(s),t))}}return r}function vr(e){return hs(new URL("sitemap.xml",e)).pipe(d(t=>Zp(t,new URL(e))),me(()=>D(new Map)),xe())}function wc({document$:e}){let t=new Map;e.pipe(y(()=>$("link[rel=alternate]")),d(r=>__ha_langroot(r.href)),O(r=>!t.has(r.toString())),se(r=>vr(r).pipe(d(n=>[r,n]),me(()=>w)))).subscribe(([r,n])=>{t.set(r.toString().replace(/\/$/,""),n)}),b(document.body,"click").pipe(O(r=>!r.metaKey&&!r.ctrlKey),y(r=>{if(r.target instanceof Element){let n=r.target.closest("a");if(n&&!n.target){let o=[...t].find(([f])=>n.href.startsWith(`${f}/`));if(typeof o=="undefined")return w;let[i,a]=o,s=Ue();if(s.href.startsWith(i))return w;let c=Ne(),l=s.href.replace(c.base,"");l=`${i}/${l}`;let u=a.has(l.split("#")[0])?new URL(l,c.base):new URL(i);return r.preventDefault(),D(u)}}return w})).subscribe(r=>vt(r,!0))}var jo=xr(Ho());function Qp(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Ec({alert$:e}){jo.default.isSupported()&&new F(t=>{new jo.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Qp(Y(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(P(t=>{t.trigger.focus()}),d(()=>Gt("clipboard.copied"))).subscribe(e)}function Tc(e,t){if(!(e.target instanceof Element))return w;let r=e.target.closest("a");if(r===null)return w;if(r.target||e.metaKey||e.ctrlKey)return w;let n=new URL(r.href);return n.search=n.hash="",t.has(`${n}`)?(e.preventDefault(),D(r)):w}function Sc(e){let t=new Map;for(let r of $(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Oc(e){for(let t of $("[href], [src]",e))for(let r of["href","src"]){let n=t.getAttribute(r);if(n&&!/^(?:[a-z]+:)?\/\//i.test(n)){t[r]=t[r];break}}return D(e)}function ef(e){var r;if(e.tagName!=="STYLE")return!1;let t=(r=e.textContent)!=null?r:"";return t.includes(".ace_editor")||t.includes(".ace-zensical")||t.includes(".ace_scroller")||t.includes(".ace_gutter")}function tf(e){for(let n of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...X("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let o=we(n),i=we(n,e);typeof o!="undefined"&&typeof i!="undefined"&&o.replaceWith(i)}let t=Sc(document);for(let[n,o]of Sc(e))t.has(n)?t.delete(n):document.head.appendChild(o);for(let n of t.values()){let o=n.getAttribute("name");o!=="theme-color"&&o!=="color-scheme"&&!ef(n)&&n.remove()}let r=bt("container");return nt($("script",r)).pipe(y(n=>{let o=e.createElement("script");if(n.src){for(let i of n.getAttributeNames())o.setAttribute(i,n.getAttribute(i));return n.replaceWith(o),new F(i=>{o.onload=()=>i.complete()})}else return o.textContent=n.textContent,n.replaceWith(o),w}),be(),_e(document))}function Lc({sitemap$:e,location$:t,viewport$:r,progress$:n}){if(location.protocol==="file:")return Be;D(document).subscribe(Oc);let o=b(document.body,"click").pipe(Ze(e),y(([s,c])=>Tc(s,c)),d(({href:s})=>new URL(s)),xe()),i=b(window,"popstate").pipe(d(Ue),xe());o.pipe(fe(r)).subscribe(([s,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",s)}),R(o,i).subscribe(t);let a=t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname!==c.pathname),d(([,s])=>s),y(s=>An(s,{progress$:n}).pipe(me(()=>(vt(s,!0),w)))),y(Oc),y(tf),xe());return R(a.pipe(fe(t,(s,c)=>c)),a.pipe(y(()=>t),ve("hash")),t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname===c.pathname&&s.hash!==c.hash),d(([,s])=>s)),t.pipe(ce((s,c)=>s.pathname===c.pathname&&s.hash===c.hash),y(()=>o),P(()=>history.back()))).subscribe(s=>{var c,l;history.state!==null||!s.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",fs(s.hash),history.scrollRestoration="manual")}),t.subscribe(()=>{history.scrollRestoration="manual"}),b(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),r.pipe(ve("offset"),Ge(100)).subscribe(({offset:s})=>{history.replaceState(s,"")}),X("navigation.instant.prefetch")&&R(b(document.body,"mousemove"),b(document.body,"focusin")).pipe(Ze(e),y(([s,c])=>Tc(s,c)),Ge(25),eo(({href:s})=>s),fn(s=>{let c=document.createElement("link");return c.rel="prefetch",c.href=s.toString(),document.head.appendChild(c),b(c,"load").pipe(d(()=>c),Me(1))})).subscribe(s=>s.remove()),a}function Mc(e){var u;let{selectedVersionSitemap:t,selectedVersionBaseURL:r,currentLocation:n,currentBaseURL:o}=e,i=(u=Fo(o))==null?void 0:u.pathname;if(i===void 0)return;let a=rf(n.pathname,i);if(a===void 0)return;let s=of(t.keys());if(!t.has(s))return;let c=Fo(a,s);if(!c||!t.has(c.href))return;let l=Fo(a,r);if(l)return l.hash=n.hash,l.search=n.search,l}function Fo(e,t){try{return new URL(e,t)}catch(r){return}}function rf(e,t){if(e.startsWith(t))return e.slice(t.length)}function nf(e,t){let r=Math.min(e.length,t.length),n;for(n=0;nw)),n=r.pipe(d(o=>{let[,i]=t.base.match(/([^/]+)\/?$/);return o.find(({version:a,aliases:s})=>a===i||s.includes(i))||o[0]}));r.pipe(d(o=>new Map(o.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),y(o=>b(document.body,"click").pipe(O(i=>!i.metaKey&&!i.ctrlKey),fe(n),y(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&o.has(s.href)){let c=s.href;return!i.target.closest(".md-version")&&o.get(c)===a?w:(i.preventDefault(),D(new URL(c)))}}return w}),y(i=>vr(i).pipe(d(a=>{var s;return(s=Mc({selectedVersionSitemap:a,selectedVersionBaseURL:i,currentLocation:Ue(),currentBaseURL:t.base}))!=null?s:i})))))).subscribe(o=>vt(o,!0)),oe([r,n]).subscribe(([o,i])=>{Y(".md-header__topic").appendChild(Cs(o,i))}),e.pipe(y(()=>n)).subscribe(o=>{var s;let i=new URL(t.base),a=__md_get("__outdated",sessionStorage,i);if(a===null){a=!0;let c=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(c)||(c=[c]);e:for(let l of c)for(let u of o.aliases.concat(o.version))if(new RegExp(l,"i").test(u)){a=!1;break e}__md_set("__outdated",a,sessionStorage,i)}if(a)for(let c of Te("outdated"))c.hidden=!1})}function Ac({document$:e,viewport$:t}){e.pipe(y(()=>$(".md-ellipsis")),se(r=>St(r).pipe(Q(e.pipe(ke(1))),O(n=>n),d(()=>r),Me(1))),O(r=>r.offsetWidth{let n=r.innerText,o=r.closest("a")||r;return o.title=n,X("content.tooltips")?Ye(o,{viewport$:t}).pipe(Q(e.pipe(ke(1))),q(()=>o.removeAttribute("title"))):w})).subscribe(),X("content.tooltips")&&e.pipe(y(()=>$(".md-status")),se(r=>Ye(r,{viewport$:t}))).subscribe()}function Cc({document$:e,tablet$:t}){e.pipe(y(()=>$(".md-toggle--indeterminate")),P(r=>{r.indeterminate=!0,r.checked=!1}),se(r=>b(r,"change").pipe(no(()=>r.classList.contains("md-toggle--indeterminate")),d(()=>r))),fe(t)).subscribe(([r,n])=>{r.classList.remove("md-toggle--indeterminate"),n&&(r.checked=!1)})}function af(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Hc({document$:e}){e.pipe(y(()=>$("[data-md-scrollfix]")),P(t=>t.removeAttribute("data-md-scrollfix")),O(af),se(t=>b(t,"touchstart").pipe(d(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let n=e[r];typeof n=="string"?n=document.createTextNode(n):n.parentNode&&n.parentNode.removeChild(n),r?t.insertBefore(this.previousSibling,n):t.replaceChild(n,this)}}}));function sf(){return location.protocol==="file:"?it(`${new URL("search.js",In.base)}`).pipe(d(()=>__index),me(()=>Be),re(1)):et(new URL("search.json",In.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var gt=Ai(),Wr=us(),br=ms(Wr),Pc=ls(),qe=_s(),Uo=jr("(min-width: 60em)"),Ic=jr("(min-width: 76.25em)"),Rc=ds(),In=Ne(),jc=we(".md-search")?sf():Be,No=new I;Ec({alert$:No});wc({document$:gt});var Do=new I,Fc=vr(In.base);X("navigation.instant")&&Lc({sitemap$:Fc,location$:Wr,viewport$:qe,progress$:Do}).subscribe(gt);var $c;(($c=In.version)==null?void 0:$c.provider)==="mike"&&kc({document$:gt});R(Wr,br).pipe(Ft(125)).subscribe(()=>{Lo("drawer",!1),Lo("search",!1)});Pc.pipe(O(({mode:e,meta:t})=>e==="global"&&!t)).subscribe(e=>{switch(e.type){case",":case"p":let t=document.querySelector("link[rel=prev]");t instanceof HTMLLinkElement&&vt(t);break;case".":case"n":let r=document.querySelector("link[rel=next]");r instanceof HTMLLinkElement&&vt(r);break;case"/":let n=document.querySelector("[data-md-component=search] button");n instanceof HTMLButtonElement&&n.click();break;case"Enter":let o=Et();o instanceof HTMLLabelElement&&o.click()}});Ac({viewport$:qe,document$:gt});Cc({document$:gt,tablet$:Uo});Hc({document$:gt});var Ct=oc(bt("header"),{viewport$:qe}),Dr=gt.pipe(d(()=>bt("main")),y(e=>sc(e,{viewport$:qe,header$:Ct})),re(1)),cf=R(...Te("consent").map(e=>ws(e,{target$:br})),...Te("dialog").map(e=>nc(e,{alert$:No})),...Te("palette").map(e=>cc(e)),...Te("progress").map(e=>lc(e,{progress$:Do})),...Te("search").map(e=>pc(e,{index$:jc})),...Te("source").map(e=>bc(e))),lf=j(()=>R(...Te("announce").map(e=>xs(e)),...Te("content").map(e=>rc(e,{sitemap$:Fc,viewport$:qe,target$:br,print$:Rc})),...Te("content").map(e=>X("search.highlight")?mc(e,{index$:jc,location$:Wr}):w),...Te("header").map(e=>ic(e,{viewport$:qe,header$:Ct,main$:Dr})),...Te("header-title").map(e=>ac(e,{viewport$:qe,header$:Ct})),...Te("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?To(Ic,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr})):To(Uo,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr}))),...Te("tabs").map(e=>gc(e,{viewport$:qe,header$:Ct})),...Te("toc").map(e=>yc(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})),...Te("top").map(e=>_c(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})))),Uc=gt.pipe(y(()=>lf),Ut(cf),re(1));Uc.subscribe();window.document$=gt;window.location$=Wr;window.target$=br;window.keyboard$=Pc;window.viewport$=qe;window.tablet$=Uo;window.screen$=Ic;window.print$=Rc;window.alert$=No;window.progress$=Do;window.component$=Uc;})(); -/*! update cache: 20260721203938 */ +/*! update cache: 20260722174038 */ diff --git a/ru/javascripts/animation_player.js b/ru/javascripts/animation_player.js index b593eb5c0..128379ec6 100644 --- a/ru/javascripts/animation_player.js +++ b/ru/javascripts/animation_player.js @@ -251,4 +251,4 @@ initAutoSlide(); } })(); -/*! update cache: 20260721203938 */ +/*! update cache: 20260722174038 */ diff --git a/ru/javascripts/katex.js b/ru/javascripts/katex.js index bc90e0368..dde3ebc9f 100644 --- a/ru/javascripts/katex.js +++ b/ru/javascripts/katex.js @@ -8,4 +8,4 @@ document$.subscribe(({ body }) => { ], }); }); -/*! update cache: 20260721203938 */ +/*! update cache: 20260722174038 */ diff --git a/ru/javascripts/mathjax.js b/ru/javascripts/mathjax.js index f00454ebe..b216c1056 100644 --- a/ru/javascripts/mathjax.js +++ b/ru/javascripts/mathjax.js @@ -15,4 +15,4 @@ window.MathJax = { document$.subscribe(() => { MathJax.typesetPromise(); }); -/*! update cache: 20260721203938 */ +/*! update cache: 20260722174038 */ diff --git a/ru/javascripts/starfield.js b/ru/javascripts/starfield.js index 191b3c297..c547abb48 100644 --- a/ru/javascripts/starfield.js +++ b/ru/javascripts/starfield.js @@ -469,4 +469,4 @@ return Starfield; }); -/*! update cache: 20260721203938 */ +/*! update cache: 20260722174038 */ diff --git a/ru/stylesheets/animation_player.css b/ru/stylesheets/animation_player.css index 17bdf36c7..8be7c1c49 100644 --- a/ru/stylesheets/animation_player.css +++ b/ru/stylesheets/animation_player.css @@ -176,4 +176,4 @@ font-size: 0.7rem; } } -/*! update cache: 20260721203938 */ +/*! update cache: 20260722174038 */ diff --git a/ru/stylesheets/extra.css b/ru/stylesheets/extra.css index ffed5043c..f869a61e5 100644 --- a/ru/stylesheets/extra.css +++ b/ru/stylesheets/extra.css @@ -264,69 +264,115 @@ html:has(body[data-md-color-scheme="default"]) { .md-typeset .admonition, .md-typeset details { + --hello-algo-callout-color: #448aff; border: 0.08rem solid transparent; } .md-typeset .admonition.note, .md-typeset details.note { + --hello-algo-callout-color: #448aff; border-color: #448aff3d; } .md-typeset .admonition.abstract, .md-typeset details.abstract { + --hello-algo-callout-color: #00b0ff; border-color: #00b0ff3d; } .md-typeset .admonition.info, .md-typeset details.info { + --hello-algo-callout-color: #00b8d4; border-color: #00b8d43d; } .md-typeset .admonition.tip, .md-typeset details.tip { + --hello-algo-callout-color: #00bfa5; border-color: #00bfa53d; } .md-typeset .admonition.success, .md-typeset details.success { + --hello-algo-callout-color: #00c853; border-color: #00c8533d; } .md-typeset .admonition.question, .md-typeset details.question { + --hello-algo-callout-color: #64dd17; border-color: #64dd173d; } .md-typeset .admonition.warning, .md-typeset details.warning { + --hello-algo-callout-color: #ff9100; border-color: #ff91003d; } .md-typeset .admonition.failure, .md-typeset details.failure { + --hello-algo-callout-color: #ff5252; border-color: #ff52523d; } .md-typeset .admonition.danger, .md-typeset details.danger { + --hello-algo-callout-color: #ff1744; border-color: #ff17443d; } .md-typeset .admonition.bug, .md-typeset details.bug { + --hello-algo-callout-color: #f50057; border-color: #f500573d; } .md-typeset .admonition.example, .md-typeset details.example { + --hello-algo-callout-color: #7c4dff; border-color: #7c4dff3d; } .md-typeset .admonition.quote, .md-typeset details.quote { + --hello-algo-callout-color: #9e9e9e; border-color: #9e9e9e3d; } +.md-typeset :is(.admonition, details):not(.pythontutor) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 3%, var(--md-default-bg-color)); +} + +.md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 10%, var(--md-default-bg-color)); + border-radius: 0.32rem 0.32rem 0 0; + margin: 0 -0.8rem; + padding-bottom: 0.4rem; + padding-top: 0.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-left: 2.4rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-right: 2.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + left: 0.8rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + right: 0.8rem; +} + +.md-typeset details:not([open], .pythontutor) > summary { + border-radius: 0.32rem; + margin-bottom: 0; +} + .md-typeset .admonition.pythontutor, .md-typeset details.pythontutor { border-color: color-mix(in srgb, var(--md-code-bg-color) 88%, var(--md-default-fg-color) 12%); @@ -857,4 +903,4 @@ a:hover .device-on-hover { max-width: 100%; } } -/*! update cache: 20260721203938 */ +/*! update cache: 20260722174038 */ diff --git a/ru/stylesheets/giscus-dark.css b/ru/stylesheets/giscus-dark.css index 57ab36927..9048d0ca5 100644 --- a/ru/stylesheets/giscus-dark.css +++ b/ru/stylesheets/giscus-dark.css @@ -122,4 +122,4 @@ main .gsc-loading-image { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721203938 */ +/*! update cache: 20260722174038 */ diff --git a/ru/stylesheets/giscus-light.css b/ru/stylesheets/giscus-light.css index d6a4ab7e2..55cdea4e3 100644 --- a/ru/stylesheets/giscus-light.css +++ b/ru/stylesheets/giscus-light.css @@ -153,4 +153,4 @@ main { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721203938 */ +/*! update cache: 20260722174038 */ diff --git a/stylesheets/animation_player.css b/stylesheets/animation_player.css index bcd358757..fd65d3846 100644 --- a/stylesheets/animation_player.css +++ b/stylesheets/animation_player.css @@ -176,4 +176,4 @@ font-size: 0.7rem; } } -/*! update cache: 20260721202919 */ +/*! update cache: 20260722173953 */ diff --git a/stylesheets/extra.css b/stylesheets/extra.css index 23282e0fb..7b7913db4 100644 --- a/stylesheets/extra.css +++ b/stylesheets/extra.css @@ -264,69 +264,115 @@ html:has(body[data-md-color-scheme="default"]) { .md-typeset .admonition, .md-typeset details { + --hello-algo-callout-color: #448aff; border: 0.08rem solid transparent; } .md-typeset .admonition.note, .md-typeset details.note { + --hello-algo-callout-color: #448aff; border-color: #448aff3d; } .md-typeset .admonition.abstract, .md-typeset details.abstract { + --hello-algo-callout-color: #00b0ff; border-color: #00b0ff3d; } .md-typeset .admonition.info, .md-typeset details.info { + --hello-algo-callout-color: #00b8d4; border-color: #00b8d43d; } .md-typeset .admonition.tip, .md-typeset details.tip { + --hello-algo-callout-color: #00bfa5; border-color: #00bfa53d; } .md-typeset .admonition.success, .md-typeset details.success { + --hello-algo-callout-color: #00c853; border-color: #00c8533d; } .md-typeset .admonition.question, .md-typeset details.question { + --hello-algo-callout-color: #64dd17; border-color: #64dd173d; } .md-typeset .admonition.warning, .md-typeset details.warning { + --hello-algo-callout-color: #ff9100; border-color: #ff91003d; } .md-typeset .admonition.failure, .md-typeset details.failure { + --hello-algo-callout-color: #ff5252; border-color: #ff52523d; } .md-typeset .admonition.danger, .md-typeset details.danger { + --hello-algo-callout-color: #ff1744; border-color: #ff17443d; } .md-typeset .admonition.bug, .md-typeset details.bug { + --hello-algo-callout-color: #f50057; border-color: #f500573d; } .md-typeset .admonition.example, .md-typeset details.example { + --hello-algo-callout-color: #7c4dff; border-color: #7c4dff3d; } .md-typeset .admonition.quote, .md-typeset details.quote { + --hello-algo-callout-color: #9e9e9e; border-color: #9e9e9e3d; } +.md-typeset :is(.admonition, details):not(.pythontutor) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 3%, var(--md-default-bg-color)); +} + +.md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 10%, var(--md-default-bg-color)); + border-radius: 0.32rem 0.32rem 0 0; + margin: 0 -0.8rem; + padding-bottom: 0.4rem; + padding-top: 0.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-left: 2.4rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-right: 2.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + left: 0.8rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + right: 0.8rem; +} + +.md-typeset details:not([open], .pythontutor) > summary { + border-radius: 0.32rem; + margin-bottom: 0; +} + .md-typeset .admonition.pythontutor, .md-typeset details.pythontutor { border-color: color-mix(in srgb, var(--md-code-bg-color) 88%, var(--md-default-fg-color) 12%); @@ -857,4 +903,4 @@ a:hover .device-on-hover { max-width: 100%; } } -/*! update cache: 20260721202919 */ +/*! update cache: 20260722173953 */ diff --git a/stylesheets/giscus-dark.css b/stylesheets/giscus-dark.css index 412550db8..306907623 100644 --- a/stylesheets/giscus-dark.css +++ b/stylesheets/giscus-dark.css @@ -122,4 +122,4 @@ main .gsc-loading-image { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721202919 */ +/*! update cache: 20260722173953 */ diff --git a/stylesheets/giscus-light.css b/stylesheets/giscus-light.css index 20e343c8f..0996578f5 100644 --- a/stylesheets/giscus-light.css +++ b/stylesheets/giscus-light.css @@ -153,4 +153,4 @@ main { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721202919 */ +/*! update cache: 20260722173953 */ diff --git a/zh-hant/assets/javascripts/bundle.d7f30b55.min.js b/zh-hant/assets/javascripts/bundle.d7f30b55.min.js index 0d26b6246..ed975af97 100644 --- a/zh-hant/assets/javascripts/bundle.d7f30b55.min.js +++ b/zh-hant/assets/javascripts/bundle.d7f30b55.min.js @@ -8,4 +8,4 @@ `)} `)}})}function kp(){return Ws||(Ws=zs("https://unpkg.com/pyodide@314.0.2/pyodide.js",()=>typeof loadPyodide=="undefined"||loadPyodide instanceof Element).pipe(d(()=>ut(null,null,function*(){try{let e=yield loadPyodide({indexURL:"https://cdn.jsdelivr.net/pyodide/v314.0.2/full/"});return yield e.loadPackage("micropip"),e}catch(e){return null}})),re(1))),Ws}function Ap(){Vs||(ace.define("ace/theme/zensical",["require","exports","module","ace/lib/dom"],(e,t)=>{t.isDark=!1,t.cssClass="ace-zensical",t.cssText=""}),Vs=!0)}function qs(e){return Ds||(Ds=zs("https://unpkg.com/ace-builds@1.44.0/src-noconflict/ace.js",()=>typeof ace=="undefined"||ace instanceof Element).pipe(re(1))),new F(t=>{let r=!0,n,o,i=Sp(e);i.root.setAttribute("data-md-exec-state","ready");let a=()=>Po(i.output),s=()=>ut(null,null,function*(){return o||(o=ut(null,null,function*(){if(i.root.setAttribute("data-md-exec-state","loading"),Nr(i.output,"Initializing..."),yield Lp(),!r)return null;let u=yield ln(kp()).then(f=>f);if(!r||!u)return null;if(i.install.length>0)try{let f=u.pyimport("micropip");for(let p of i.install)yield f.install(p)}catch(f){return Po(i.output),Nr(i.output,`Could not install one or more packages: ${i.install.join(", ")} ${String(f)}`),i.root.setAttribute("data-md-exec-state","error"),null}return r?(Po(i.output),i.root.setAttribute("data-md-exec-state","ready"),u):null})),o}),c=()=>{ut(null,null,function*(){let u=yield s();!r||!u||!n||Mp(u,n,i.output,i.session)})},l=u=>{u.ctrlKey&&u.key.toLowerCase()==="enter"&&(u.preventDefault(),i.run.click())};return i.run.addEventListener("click",c),i.clear.addEventListener("click",a),i.root.addEventListener("keydown",l),ut(null,null,function*(){yield ln(Ds),r&&(Ap(),i.editor.textContent="",n=ace.edit(i.editor),n.setTheme("ace/theme/zensical"),n.session.setMode("ace/mode/python"),n.setOption("fontFamily","var(--md-code-font)"),n.setOption("minLines",i.minLines),n.setOption("maxLines",i.maxLines),n.session.setValue(i.source),n.gotoLine(1,0,!1),n.clearSelection(),n.resize(),n.renderer.updateFull())}),t.next({ref:i.root}),()=>{r=!1,i.run.removeEventListener("click",c),i.clear.removeEventListener("click",a),i.root.removeEventListener("keydown",l),n==null||n.destroy(),i.root.removeAttribute("data-md-exec-state")}})}var Ks;function Cp(){return typeof GLightbox=="undefined"||GLightbox instanceof Element?it("https://unpkg.com/glightbox@3/dist/js/glightbox.min.js").pipe(me(()=>w),d(()=>{})):D(void 0)}function Hp(){return $i("https://unpkg.com/glightbox@3/dist/css/glightbox.min.css").pipe(me(()=>w),d(()=>{}))}function Bs(e){return Ks||(Ks=Cp().pipe(d(()=>new GLightbox(k({touchNavigation:!0,loop:!1,zoomable:!0,draggable:!0,openEffect:"zoom",closeEffect:"zoom",slideEffect:"slide",onOpen:()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()}},typeof GLightboxOptions!="undefined"?GLightboxOptions:{}))),re(1))),Hp().pipe(y(()=>Ks),y(t=>(t.reload(),e.map(r=>({ref:r})))))}var Gs=0,Ys=new Map;function $p(e){let t=document.createElement("h3");t.innerHTML=e.innerHTML;let r=[t],n=e.nextElementSibling;for(;n&&!(n instanceof HTMLHeadingElement);)r.push(n.cloneNode(!0)),n=n.nextElementSibling;return r}function Pp(e,t){for(let r of $("[href], [src]",e))for(let n of["href","src"]){let o=r.getAttribute(n);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){r[n]=new URL(r.getAttribute(n),t).toString();break}}for(let r of $("[name^=__], [for]",e))for(let n of["id","for","name"]){let o=r.getAttribute(n);o&&r.setAttribute(n,`${o}$preview_${Gs}`)}return Gs++,D(e)}function Ip(e){let t=Ys.get(e.toString());return t?D(t):An(e).pipe(y(r=>Pp(r,e)),d(r=>(Ys.set(e.toString(),r),r)))}function Js(e,t){let{sitemap$:r}=t;if(!(e instanceof HTMLAnchorElement))return w;if(!(X("navigation.instant.preview")||e.hasAttribute("data-preview")))return w;e.removeAttribute("title");let n=oe([cr(e),Dt(e).pipe(ke(1))]).pipe(d(([i,a])=>i||a),ce(),O(i=>i));return Rt([r,n]).pipe(y(([i])=>{let a=new URL(e.href);return a.search=a.hash="",i.has(`${a}`)?D(a):w}),y(i=>Ip(i)),y(i=>{let a=e.hash?`article [id="${decodeURIComponent(e.hash.slice(1))}"]`:"article h1",s=we(a,i);return typeof s=="undefined"?w:D($p(s))})).pipe(y(i=>{let a=new F(s=>{let c=$n(...i);return s.next(c),document.body.append(c),()=>c.remove()});return Fr(e,k({content$:a},t))}))}var Xs=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.marker{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}.edgeLabel .label rect{fill:#0000}.flowchartTitleText{fill:var(--md-mermaid-label-fg-color)}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color)}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}.classDiagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs marker.marker.composition.class path,defs marker.marker.dependency.class path,defs marker.marker.extension.class path{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs marker.marker.aggregation.class path{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}.statediagramTitleText{fill:var(--md-mermaid-label-fg-color)}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs [id$=-barbEnd]{fill:var(--md-mermaid-edge-color);stroke:var(--md-mermaid-edge-color)}[id^=entity] path,[id^=entity] rect{fill:var(--md-default-bg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs .marker.oneOrMore.er *,defs .marker.onlyOne.er *,defs .marker.zeroOrMore.er *,defs .marker.zeroOrOne.er *{stroke:var(--md-mermaid-edge-color)!important}text:not([class]):last-child{fill:var(--md-mermaid-label-fg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}.actor-line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan,.sectionTitle{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}[id$=-arrowhead] path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}[id$=-sequencenumber],defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}[class^=activation]{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-label-fg-color);stroke-width:1.5px}";var Io,jp=0;function Fp(){return typeof mermaid=="undefined"||mermaid instanceof Element?it("https://unpkg.com/mermaid@11/dist/mermaid.min.js"):D(void 0)}function Zs(e){return e.classList.remove("mermaid"),Io||(Io=Fp().pipe(P(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Xs,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),d(()=>{}),re(1))),Io.subscribe(()=>ut(null,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${jp++}`,r=A("div",{class:"mermaid"}),n=e.textContent,{svg:o,fn:i}=yield mermaid.render(t,n),a=r.attachShadow({mode:"closed"});a.innerHTML=o,e.replaceWith(r),i==null||i(a)})),Io.pipe(d(()=>({ref:e})))}var Qs=A("table");function ec(e){return e.replaceWith(Qs),Qs.replaceWith(As(e)),D({ref:e})}function Up(e){let t=e.find(r=>r.checked)||e[0];return R(...e.map(r=>b(r,"change").pipe(d(()=>Y(`label[for="${r.id}"]`))))).pipe(J(Y(`label[for="${t.id}"]`)),d(r=>({active:r})))}function tc(e,{viewport$:t,target$:r}){let n=Y(".tabbed-labels",e),o=$(":scope > input",e),i=Ao("prev");e.append(i);let a=Ao("next");return e.append(a),j(()=>{let s=new I,c=s.pipe(be(),_e(!0));oe([s,Re(e),St(e)]).pipe(Q(c),Xe(1,je)).subscribe({next([{active:l},u]){let f=Tt(l),{width:p}=Ae(l);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${p}px`);let m=dn(n);(f.xm.x+u.width)&&n.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),oe([Wt(n),Re(n)]).pipe(Q(c)).subscribe(([l,u])=>{let f=Ar(n);i.hidden=l.x<16,a.hidden=l.x>f.width-u.width-16}),R(b(i,"click").pipe(d(()=>-1)),b(a,"click").pipe(d(()=>1))).pipe(Q(c)).subscribe(l=>{let{width:u}=Ae(n);n.scrollBy({left:u*l,behavior:"smooth"})}),r.pipe(Q(c),O(l=>o.includes(l))).subscribe(l=>l.click()),n.classList.add("tabbed-labels--linked");for(let l of o){let u=Y(`label[for="${l.id}"]`);u.replaceChildren(A("a",{href:`#${u.htmlFor}`,tabIndex:-1},...Array.from(u.childNodes))),b(u.firstElementChild,"click").pipe(Q(c),O(f=>!(f.metaKey||f.ctrlKey)),P(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${u.htmlFor}`),u.click()})}return X("content.tabs.link")&&s.pipe(ke(1),fe(t)).subscribe(([{active:l},{offset:u}])=>{let f=l.innerText.trim();if(l.hasAttribute("data-md-switching"))l.removeAttribute("data-md-switching");else{let p=e.offsetTop-u.y;for(let h of $("[data-tabs]"))for(let v of $(":scope > input",h)){let _=Y(`label[for="${v.id}"]`);if(_!==l&&_.innerText.trim()===f){_.setAttribute("data-md-switching",""),v.click();break}}window.scrollTo({top:e.offsetTop-p});let m=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...m])])}}),s.pipe(Q(c)).subscribe(()=>{for(let l of $("audio, video",e))l.offsetWidth&&l.autoplay?l.play().catch(()=>{}):l.pause()}),Up(o).pipe(P(l=>s.next(l)),q(()=>s.complete()),d(l=>k({ref:e},l)))}).pipe(It(ye))}function rc(e,t){let{viewport$:r,target$:n,print$:o}=t;return R(...$(".annotate:not(.highlight)",e).map(i=>Is(i,{target$:n,print$:o})),...$(".pyodide",e).map(i=>qs(i)),...$("pre:not(.mermaid) > code",e).filter(i=>!i.closest(".pyodide")).map(i=>Us(i,{target$:n,print$:o})),...$("a",e).map(i=>Js(i,t)),...$("pre.mermaid",e).map(i=>Zs(i)),...[$(".glightbox",e)].filter(i=>i.length>0).map(i=>Bs(i)),...$("table:not([class])",e).map(i=>ec(i)),...$("details",e).map(i=>Ns(i,{target$:n,print$:o})),...$("[data-tabs]",e).map(i=>tc(i,{viewport$:r,target$:n})),...$("[title]:not([data-preview])",e).filter(()=>X("content.tooltips")).map(i=>Ye(i,{viewport$:r})),...$(".footnote-ref",e).filter(()=>X("content.footnote.tooltips")).map(i=>Fr(i,{content$:new F(a=>{let s=new URL(i.href).hash.slice(1),c=Array.from(document.getElementById(s).cloneNode(!0).children),l=$n(...c);return a.next(l),document.body.append(l),()=>l.remove()}),viewport$:r})))}function Np(e,{alert$:t}){return t.pipe(y(r=>R(D(!0),D(!1).pipe(Ft(2e3))).pipe(d(n=>({message:r,active:n})))))}function nc(e,t){let r=Y(".md-typeset",e);return j(()=>{let n=new I;return n.subscribe(({message:o,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=o}),Np(e,t).pipe(P(o=>n.next(o)),q(()=>n.complete()),d(o=>k({ref:e},o)))})}function Dp({viewport$:e}){if(!X("header.autohide"))return D(!1);let t=e.pipe(d(({offset:{y:o}})=>o),jt(2,1),d(([o,i])=>[oMath.abs(i-o.y)>100),d(([,[o]])=>o),ce()),n=Cn("search");return oe([e,n]).pipe(d(([{offset:o},i])=>o.y>400&&!i),ce(),y(o=>o?r:D(!1)),J(!1))}function oc(e,t){return j(()=>oe([Re(e),Dp(t)])).pipe(d(([{height:r},n])=>({height:r,hidden:n})),ce((r,n)=>r.height===n.height&&r.hidden===n.hidden),re(1))}function ic(e,{viewport$:t,header$:r,main$:n}){return j(()=>{let o=new I,i=o.pipe(be(),_e(!0));o.pipe(ve("active"),Ze(r)).subscribe(([{active:s},{hidden:c}])=>{e.classList.toggle("md-header--shadow",s&&!c),e.hidden=c});let a=he($("[title]",e)).pipe(O(()=>X("content.tooltips")),se(s=>Ye(s,{viewport$:t})));return n.subscribe(o),r.pipe(Q(i),d(s=>k({ref:e},s)),Ut(a.pipe(Q(i))))})}function Wp(e,{viewport$:t,header$:r}){return Hn(e,{viewport$:t,header$:r}).pipe(d(({offset:{y:n}})=>{let{height:o}=Ae(e);return{active:o>0&&n>=o}}),ve("active"))}function ac(e,t){return j(()=>{let r=new I;r.subscribe({next({active:o}){e.classList.toggle("md-header__title--active",o)},complete(){e.classList.remove("md-header__title--active")}});let n=we(".md-content h1");return typeof n=="undefined"?w:Wp(n,t).pipe(P(o=>r.next(o)),q(()=>r.complete()),d(o=>k({ref:e},o)))})}function sc(e,{viewport$:t,header$:r}){let n=r.pipe(d(({height:i})=>i),ce()),o=n.pipe(y(()=>Re(e).pipe(d(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),ve("bottom"))));return oe([n,o,t]).pipe(d(([i,{top:a,bottom:s},{offset:{y:c},size:{height:l}}])=>(l=Math.max(0,l-Math.max(0,a-c,i)-Math.max(0,l+c-s)),{offset:a-i,height:l,active:a-i<=c})),ce((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Vp(e){let t=__md_get("__palette")||{index:e.findIndex(n=>matchMedia(n.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return D(...e).pipe(se(n=>b(n,"change").pipe(d(()=>n))),J(e[r]),d(n=>({index:e.indexOf(n),color:{media:n.getAttribute("data-md-color-media"),scheme:n.getAttribute("data-md-color-scheme"),primary:n.getAttribute("data-md-color-primary"),accent:n.getAttribute("data-md-color-accent")}})),re(1))}function cc(e){let t=$("input",e),r=A("meta",{name:"theme-color"});document.head.appendChild(r);let n=A("meta",{name:"color-scheme"});document.head.appendChild(n);let o=jr("(prefers-color-scheme: light)");return j(()=>{let i=new I;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=c.getAttribute("data-md-color-scheme"),a.color.primary=c.getAttribute("data-md-color-primary"),a.color.accent=c.getAttribute("data-md-color-accent")}for(let[s,c]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,c);for(let s=0;sa.key==="Enter"),fe(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(d(()=>{let a=bt("header"),s=window.getComputedStyle(a);return n.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(Ie(ye)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Vp(t).pipe(Q(o.pipe(ke(1))),Nt(),P(a=>i.next(a)),q(()=>i.complete()),d(a=>k({ref:e},a)))})}function lc(e,{progress$:t}){return j(()=>{let r=new I;return r.subscribe(({value:n})=>{e.style.setProperty("--md-progress-value",`${n}`)}),t.pipe(P(n=>r.next({value:n})),q(()=>r.complete()),d(n=>({ref:e,value:n})))})}var uc='.m u{text-decoration:underline!important;text-decoration-style:wavy!important;text-decoration-thickness:1px!important}.p{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-backdrop)/var(--alpha-lighter));cursor:pointer;height:100%;pointer-events:auto;position:absolute;transition:opacity .25s;width:100%}.p.v{opacity:0;pointer-events:none;transition:opacity .35s}.r{align-items:center;background-color:initial;border:none;border-radius:var(--space-2);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-family);height:36px;justify-content:center;outline:none;padding:0;position:relative;transition:background-color .25s,color .25s;width:36px;z-index:1}.r svg{stroke:rgb(var(--color-foreground));height:18px;opacity:.5;width:18px}.r:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.r:hover:before{opacity:1;transform:scale(1)}.r.c{cursor:auto}.r.c:before{display:none}.n{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background)/var(--alpha-light));border:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));border-radius:var(--space-3);box-shadow:0 0 60px #0000000d;display:flex;height:480px;overflow:hidden;pointer-events:auto;position:absolute;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;width:640px}.n.l{opacity:0;pointer-events:none;transform:scale(1.1);transition:transform .25s .15s,opacity .15s}@media (max-width:680px){.n{border-radius:0;height:100%;width:100%}}.y{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0}@keyframes d{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.w{animation:d .25s ease-in-out;background:var(--color-highlight);border-radius:100%;color:#fff;font-size:8px;font-weight:700;height:12px;padding-top:1px;position:absolute;right:4px;top:4px;width:12px}.e{background-color:rgb(var(--color-background-subtle)/var(--alpha-lighter));border-left:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));flex-shrink:0;overflow-y:scroll;position:relative;transition:width .35s cubic-bezier(.16,1,.3,1),opacity .25s;width:200px}.e>*{transform:translate(0);transition:transform .25s cubic-bezier(.16,1,.3,1)}.e.l{opacity:0;width:0}.e.l>*{transform:translate(-48px)}@media (max-width:680px){.e{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--color-background-subtle)/var(--alpha-light));box-shadow:0 0 60px #00000026;height:100%;position:absolute;right:0;top:0}}.k{border-bottom:1px solid rgb(var(--color-foreground)/var(--alpha-lightest));display:flex;gap:var(--space-1);padding:var(--space-2)}.z{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.j{padding:8px 10px}.X{color:rgb(var(--color-foreground)/var(--alpha-light));padding:var(--space-2);position:absolute;width:100%}.F,.X{display:flex;flex-direction:column}.F{gap:2px;list-style:none;padding:0}.F,.I{margin:0}.I{font-size:16px;font-weight:400}.I,.R{padding:8px}.R{font-size:14px;margin:4px 0 0;opacity:.5}.R,.o{font-size:12px}.o{cursor:pointer;display:flex;padding:4px 8px;position:relative}.o:before{background-color:var(--color-highlight-transparent);border-radius:var(--space-1);content:"";inset:0;opacity:0;position:absolute;transform:scale(.75);transition:transform 125ms,opacity 125ms;z-index:0}.o.g:before,.o:hover:before{opacity:1;transform:scale(1)}.o.g,.o:hover{color:var(--color-highlight)}.q{flex-grow:1}.A,.q{position:relative}.A{font-weight:700}.f{flex-grow:1}.f input{background:#0000;border:none;color:rgb(var(--color-foreground));font-family:var(--font-family);font-size:16px;height:100%;letter-spacing:-.25px;outline:none;width:100%}.b{color:rgb(var(--color-foreground)/var(--alpha-light));display:flex;flex-direction:column;gap:2px;line-height:1.3;list-style:none;margin:var(--space-2);margin-top:0;padding:0}.B,.b li{margin:0}.B{color:rgb(var(--color-foreground)/var(--alpha-lighter));font-size:12px;margin-top:var(--space-2);padding:0 18px}.i{border-radius:var(--space-2);color:inherit;cursor:pointer;display:flex;flex-direction:row;flex-grow:1;padding:8px 10px;position:relative;text-decoration:none}.i:before{background-color:rgb(var(--color-background-subtle));border-radius:var(--border-radius-2);content:"";display:block;inset:0;opacity:0;position:absolute;transform:scale(.9);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.i.h:before,.i:hover:before{opacity:1;transform:scale(1)}}.i mark{background:#0000;color:var(--color-highlight)}.i u{text-decoration:underline}.C{flex-direction:column;flex-grow:1;gap:5.5px}.C,.D{display:flex;min-width:0}.D{align-items:flex-start;gap:var(--space-2);justify-content:space-between}.s{align-items:flex-end;align-self:flex-end;display:flex;flex-direction:column;gap:6px;justify-content:flex-end;margin-right:-8px;margin-top:auto;opacity:0;position:relative;transform:translate(-2px);transition:transform 125ms,opacity 125ms;z-index:0}@media (pointer:fine){.h>.s,:hover>.s{opacity:1;transform:none}}.x{font-size:14px;margin:0;position:relative}.x code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);font-size:13px;padding:2px 4px}.t{color:rgb(var(--color-foreground)/.45);display:inline-flex;flex:1 1 auto;flex-wrap:wrap;font-size:12px;gap:var(--space-1);list-style:none;margin:0;min-width:0;padding:0;position:relative}.t li{white-space:nowrap}.t li:after{content:"/";display:inline;margin-left:var(--space-1)}.t li:last-child:after{content:"";display:none}.u{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:rgb(var(--color-foreground));display:-webkit-box;font-size:12px;line-height:1.5;overflow:hidden;position:relative}.u code{background:rgb(var(--color-background-subtle));border-radius:var(--space-1);padding:2px 4px}.E,.u code{font-size:11px}.E{color:rgb(var(--color-foreground)/.45);line-height:1;white-space:nowrap;z-index:1}.a{--space-1:4px;--space-2:calc(var(--space-1)*2);--space-3:calc(var(--space-2)*2);--space-4:calc(var(--space-3)*2);--space-5:calc(var(--space-4)*2);--alpha-light:.7;--alpha-lighter:.54;--alpha-lightest:.07;--color-highlight:var(--md-accent-fg-color,#526cfe);--color-highlight-transparent:var( --md-accent-fg-color--transparent,#526cfe1a );--border-radius-1:var(--space-1);--border-radius-2:var(--space-2);--border-radius-3:calc(var(--space-1) + var(--space-2));--font-family:var( --md-text-font-family,Inter,Roboto Flex,system-ui,sans-serif );--font-size:16px;--line-height:1.5;--letter-spacing:-.5px;-webkit-font-smoothing:antialiased;align-items:center;display:flex;font-family:var(--font-family);font-size:var(--font-size);height:100vh;justify-content:center;letter-spacing:var(--letter-spacing);line-height:var(--line-height);pointer-events:none;position:absolute;width:100vw}@media (pointer:coarse){.a{height:-webkit-fill-available}}.a *,.a :after,.a :before{box-sizing:border-box}';function pc(e,{index$:t}){let r=Ne(),n=document.createElement("div");document.body.appendChild(n),n.style.position="fixed",n.style.height="100%",n.style.top="0",n.style.zIndex="4";let o=n.attachShadow({mode:"open"});o.appendChild(A("style",{},uc.toString()));try{is(r.search,{highlight:r.features.includes("search.highlight")}),he(t).subscribe(i=>{for(let a of i.items)a.location=new URL(`./${a.location}`,r.base).toString();cs(i,o)}),b(e,"click").subscribe(()=>{wo()}),Cn("search").pipe(ke(1)).subscribe(()=>wo())}catch(i){e.hidden=!0;let a=Y("label[for=__search]");a.hidden=!0}return Be}var fc=xr(ko());function mc(e,{index$:t,location$:r}){return oe([t,r.pipe(J(Ue()),O(n=>!!n.searchParams.get("h")))]).pipe(d(([n,o])=>qp(n.config)(o.searchParams.get("h"))),d(n=>{var a;let o=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let c=s.textContent,l=n(c);l.length>c.length&&o.set(s,l)}for(let[s,c]of o){let{childNodes:l}=A("span",null,c);s.replaceWith(...Array.from(l))}return{ref:e,nodes:o}}))}function qp(e){let t=e.separator.split("|").map(o=>o.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":o).join("|"),r=new RegExp(t,"img"),n=(o,i,a)=>`${i}${a}`;return o=>{o=o.replace(/\s+/g," ").replace(/&/g,"&").trim();let i=new RegExp(`(^|${e.separator}|)(${o.split(r).map(a=>a.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")).filter(a=>a.length>=2).join("|")})`,"img");return a=>(0,fc.default)(a).replace(i,n).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Kp(e,{viewport$:t,main$:r}){let n=e.closest(".md-grid"),o=n.offsetTop-n.parentElement.offsetTop;return oe([r,t]).pipe(d(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(o,Math.max(0,s-i))-o,{height:a,locked:s>=i+o})),ce((i,a)=>i.height===a.height&&i.locked===a.locked))}function Ro(e,n){var o=n,{header$:t}=o,r=_r(o,["header$"]);let i=Y(".md-sidebar__scrollwrap",e),{y:a}=Tt(i);return j(()=>{let s=new I,c=s.pipe(be(),_e(!0)),l=s.pipe(Xe(0,je));return l.pipe(fe(t)).subscribe({next([{height:u},{height:f}]){i.style.height=`${u-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),l.pipe(Lr()).subscribe(()=>{for(let u of $(".md-nav__link--active[href]",e)){if(!u.clientHeight)continue;let f=u.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let p=u.offsetTop-f.offsetTop,{height:m}=Ae(f);f.scrollTo({top:p-m/2})}}}),he($("label[tabindex]",e)).pipe(se(u=>b(u,"click").pipe(Ie(ye),d(()=>u),Q(c)))).subscribe(u=>{let f=Y(`[id="${u.htmlFor}"]`);Y(`[aria-labelledby="${u.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),X("content.tooltips")&&he($("abbr[title]",e)).pipe(se(u=>Ye(u,{viewport$})),Q(c)).subscribe(),Kp(e,r).pipe(P(u=>s.next(u)),q(()=>s.complete()),d(u=>k({ref:e},u)))})}function dc(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Rt(et(`${r}/releases/latest`).pipe(me(()=>w),d(n=>({version:n.tag_name})),ot({})),et(r).pipe(me(()=>w),d(n=>({stars:n.stargazers_count,forks:n.forks_count})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}else{let r=`https://api.github.com/users/${e}`;return et(r).pipe(d(n=>({repositories:n.public_repos})),ot({}))}}function hc(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Rt(et(`${r}/releases/permalink/latest`).pipe(me(()=>w),d(({tag_name:n})=>({version:n})),ot({})),et(r).pipe(me(()=>w),d(({star_count:n,forks_count:o})=>({stars:n,forks:o})),ot({}))).pipe(d(([n,o])=>k(k({},n),o)))}function vc(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,n]=t;return dc(r,n)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,n]=t;return hc(r,n)}return w}var Bp;function Gp(e){return Bp||(Bp=j(()=>{let t=__md_get("__source",sessionStorage);if(t)return D(t);if(Te("consent").length){let n=__md_get("__consent");if(!(n&&n.github))return w}return vc(e.href).pipe(P(n=>__md_set("__source",n,sessionStorage)))}).pipe(me(()=>w),O(t=>Object.keys(t).length>0),d(t=>({facts:t})),re(1)))}function bc(e){let t=Y(":scope > :last-child",e);return j(()=>{let r=new I;return r.subscribe(({facts:n})=>{t.appendChild(ks(n)),t.classList.add("md-source__repository--active")}),Gp(e).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Yp(e,{viewport$:t,header$:r}){return Re(document.body).pipe(y(()=>Hn(e,{header$:r,viewport$:t})),d(({offset:{y:n}})=>({hidden:n>=10})),ve("hidden"))}function gc(e,t){return j(()=>{let r=new I;return r.subscribe({next({hidden:n}){e.hidden=n},complete(){e.hidden=!1}}),(X("navigation.tabs.sticky")?D({hidden:!1}):Yp(e,t)).pipe(P(n=>r.next(n)),q(()=>r.complete()),d(n=>k({ref:e},n)))})}function Jp(e,{viewport$:t,header$:r}){let n=new Map,o=$(".md-nav__link",e);for(let s of o){let c=decodeURIComponent(s.hash.substring(1)),l=we(`[id="${c}"]`);typeof l!="undefined"&&n.set(s,l)}let i=r.pipe(ve("height"),d(({height:s})=>{let c=bt("main"),l=Y(":scope > :first-child",c);return s+.9*(l.offsetTop-c.offsetTop)}),xe());return Re(document.body).pipe(ve("height"),y(s=>j(()=>{let c=[];return D([...n].reduce((l,[u,f])=>{for(;c.length&&n.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let p=f.offsetTop;for(;!p&&f.parentElement;)f=f.parentElement,p=f.offsetTop;let m=f.offsetParent;for(;m;m=m.offsetParent)p+=m.offsetTop;return l.set([...c=[...c,u]].reverse(),p)},new Map))}).pipe(d(c=>new Map([...c].sort(([,l],[,u])=>l-u))),Ze(i),y(([c,l])=>t.pipe(Mr(([u,f],{offset:{y:p},size:m})=>{let h=p+m.height>=Math.floor(s.height);for(;f.length;){let[,v]=f[0];if(v-l=p&&!h)f=[u.pop(),...f];else break}return[u,f]},[[],[...c]]),ce((u,f)=>u[0]===f[0]&&u[1]===f[1])))))).pipe(d(([s,c])=>({prev:s.map(([l])=>l),next:c.map(([l])=>l)})),J({prev:[],next:[]}),jt(2,1),d(([s,c])=>s.prev.length{let i=new I,a=i.pipe(be(),_e(!0));i.subscribe(({prev:c,next:l})=>{for(let[u]of l)u.classList.remove("md-nav__link--passed"),u.classList.remove("md-nav__link--active");for(let[u,[f]]of c.entries())f.classList.add("md-nav__link--passed"),f.classList.toggle("md-nav__link--active",u===c.length-1)});let s=we(".md-sidebar--secondary");if(typeof s!="undefined"&&b(document.body,"click").subscribe(c=>{let l=c.target;if(!s.contains(l)){let u=we(".md-nav__toggle",s);typeof u!="undefined"&&(u.checked=!1)}}),X("toc.follow")){let c=R(t.pipe(Ge(1),d(()=>{})),t.pipe(Ge(250),d(()=>"smooth")));i.pipe(O(({prev:l})=>l.length>0),Ze(n.pipe(Ie(ye))),fe(c)).subscribe(([[{prev:l}],u])=>{let[f]=l[l.length-1];if(f.offsetHeight){let p=Ii(f);if(typeof p!="undefined"){let m=f.offsetTop-p.offsetTop,{height:h}=Ae(p);p.scrollTo({top:m-h/2,behavior:u})}}})}return X("navigation.tracking")&&t.pipe(Q(a),ve("offset"),Ge(250),ke(1),Q(o.pipe(ke(1))),Nt({delay:250}),fe(i)).subscribe(([,{prev:c}])=>{let l=Ue(),u=c[c.length-1];if(u&&u.length){let[f]=u,{hash:p}=new URL(f.href);l.hash!==p&&(l.hash=p,history.replaceState({},"",`${l}`))}else l.hash="",history.replaceState({},"",`${l}`)}),Jp(e,{viewport$:t,header$:r}).pipe(P(c=>i.next(c)),q(()=>i.complete()),d(c=>k({ref:e},c)))})}function Xp(e,{viewport$:t,main$:r,target$:n}){let o=t.pipe(d(({offset:{y:a}})=>a),jt(2,1),d(([a,s])=>a>s&&s>0),ce()),i=r.pipe(d(({active:a})=>a));return oe([i,o]).pipe(d(([a,s])=>!(a&&s)),ce(),Q(n.pipe(ke(1))),_e(!0),Nt({delay:250}),d(a=>({hidden:a})))}function _c(e,{viewport$:t,header$:r,main$:n,target$:o}){let i=new I,a=i.pipe(be(),_e(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(Q(a),ve("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),b(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),Xp(e,{viewport$:t,main$:n,target$:o}).pipe(P(s=>i.next(s)),q(()=>i.complete()),d(s=>k({ref:e},s)))}function xc(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,t.port&&(e.port=t.port),e}function Zp(e,t){let r=new Map;for(let n of $("url",e)){let o=Y("loc",n),i=[xc(new URL(o.textContent),t)];r.set(`${i[0]}`,i);for(let a of $("[rel=alternate]",n)){let s=a.getAttribute("href");s!=null&&i.push(xc(new URL(s),t))}}return r}function vr(e){return hs(new URL("sitemap.xml",e)).pipe(d(t=>Zp(t,new URL(e))),me(()=>D(new Map)),xe())}function wc({document$:e}){let t=new Map;e.pipe(y(()=>$("link[rel=alternate]")),d(r=>__ha_langroot(r.href)),O(r=>!t.has(r.toString())),se(r=>vr(r).pipe(d(n=>[r,n]),me(()=>w)))).subscribe(([r,n])=>{t.set(r.toString().replace(/\/$/,""),n)}),b(document.body,"click").pipe(O(r=>!r.metaKey&&!r.ctrlKey),y(r=>{if(r.target instanceof Element){let n=r.target.closest("a");if(n&&!n.target){let o=[...t].find(([f])=>n.href.startsWith(`${f}/`));if(typeof o=="undefined")return w;let[i,a]=o,s=Ue();if(s.href.startsWith(i))return w;let c=Ne(),l=s.href.replace(c.base,"");l=`${i}/${l}`;let u=a.has(l.split("#")[0])?new URL(l,c.base):new URL(i);return r.preventDefault(),D(u)}}return w})).subscribe(r=>vt(r,!0))}var jo=xr(Ho());function Qp(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Ec({alert$:e}){jo.default.isSupported()&&new F(t=>{new jo.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Qp(Y(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(P(t=>{t.trigger.focus()}),d(()=>Gt("clipboard.copied"))).subscribe(e)}function Tc(e,t){if(!(e.target instanceof Element))return w;let r=e.target.closest("a");if(r===null)return w;if(r.target||e.metaKey||e.ctrlKey)return w;let n=new URL(r.href);return n.search=n.hash="",t.has(`${n}`)?(e.preventDefault(),D(r)):w}function Sc(e){let t=new Map;for(let r of $(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Oc(e){for(let t of $("[href], [src]",e))for(let r of["href","src"]){let n=t.getAttribute(r);if(n&&!/^(?:[a-z]+:)?\/\//i.test(n)){t[r]=t[r];break}}return D(e)}function ef(e){var r;if(e.tagName!=="STYLE")return!1;let t=(r=e.textContent)!=null?r:"";return t.includes(".ace_editor")||t.includes(".ace-zensical")||t.includes(".ace_scroller")||t.includes(".ace_gutter")}function tf(e){for(let n of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...X("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let o=we(n),i=we(n,e);typeof o!="undefined"&&typeof i!="undefined"&&o.replaceWith(i)}let t=Sc(document);for(let[n,o]of Sc(e))t.has(n)?t.delete(n):document.head.appendChild(o);for(let n of t.values()){let o=n.getAttribute("name");o!=="theme-color"&&o!=="color-scheme"&&!ef(n)&&n.remove()}let r=bt("container");return nt($("script",r)).pipe(y(n=>{let o=e.createElement("script");if(n.src){for(let i of n.getAttributeNames())o.setAttribute(i,n.getAttribute(i));return n.replaceWith(o),new F(i=>{o.onload=()=>i.complete()})}else return o.textContent=n.textContent,n.replaceWith(o),w}),be(),_e(document))}function Lc({sitemap$:e,location$:t,viewport$:r,progress$:n}){if(location.protocol==="file:")return Be;D(document).subscribe(Oc);let o=b(document.body,"click").pipe(Ze(e),y(([s,c])=>Tc(s,c)),d(({href:s})=>new URL(s)),xe()),i=b(window,"popstate").pipe(d(Ue),xe());o.pipe(fe(r)).subscribe(([s,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",s)}),R(o,i).subscribe(t);let a=t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname!==c.pathname),d(([,s])=>s),y(s=>An(s,{progress$:n}).pipe(me(()=>(vt(s,!0),w)))),y(Oc),y(tf),xe());return R(a.pipe(fe(t,(s,c)=>c)),a.pipe(y(()=>t),ve("hash")),t.pipe(J(Ue()),mn(),O(([s,c])=>s.pathname===c.pathname&&s.hash!==c.hash),d(([,s])=>s)),t.pipe(ce((s,c)=>s.pathname===c.pathname&&s.hash===c.hash),y(()=>o),P(()=>history.back()))).subscribe(s=>{var c,l;history.state!==null||!s.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",fs(s.hash),history.scrollRestoration="manual")}),t.subscribe(()=>{history.scrollRestoration="manual"}),b(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),r.pipe(ve("offset"),Ge(100)).subscribe(({offset:s})=>{history.replaceState(s,"")}),X("navigation.instant.prefetch")&&R(b(document.body,"mousemove"),b(document.body,"focusin")).pipe(Ze(e),y(([s,c])=>Tc(s,c)),Ge(25),eo(({href:s})=>s),fn(s=>{let c=document.createElement("link");return c.rel="prefetch",c.href=s.toString(),document.head.appendChild(c),b(c,"load").pipe(d(()=>c),Me(1))})).subscribe(s=>s.remove()),a}function Mc(e){var u;let{selectedVersionSitemap:t,selectedVersionBaseURL:r,currentLocation:n,currentBaseURL:o}=e,i=(u=Fo(o))==null?void 0:u.pathname;if(i===void 0)return;let a=rf(n.pathname,i);if(a===void 0)return;let s=of(t.keys());if(!t.has(s))return;let c=Fo(a,s);if(!c||!t.has(c.href))return;let l=Fo(a,r);if(l)return l.hash=n.hash,l.search=n.search,l}function Fo(e,t){try{return new URL(e,t)}catch(r){return}}function rf(e,t){if(e.startsWith(t))return e.slice(t.length)}function nf(e,t){let r=Math.min(e.length,t.length),n;for(n=0;nw)),n=r.pipe(d(o=>{let[,i]=t.base.match(/([^/]+)\/?$/);return o.find(({version:a,aliases:s})=>a===i||s.includes(i))||o[0]}));r.pipe(d(o=>new Map(o.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),y(o=>b(document.body,"click").pipe(O(i=>!i.metaKey&&!i.ctrlKey),fe(n),y(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&o.has(s.href)){let c=s.href;return!i.target.closest(".md-version")&&o.get(c)===a?w:(i.preventDefault(),D(new URL(c)))}}return w}),y(i=>vr(i).pipe(d(a=>{var s;return(s=Mc({selectedVersionSitemap:a,selectedVersionBaseURL:i,currentLocation:Ue(),currentBaseURL:t.base}))!=null?s:i})))))).subscribe(o=>vt(o,!0)),oe([r,n]).subscribe(([o,i])=>{Y(".md-header__topic").appendChild(Cs(o,i))}),e.pipe(y(()=>n)).subscribe(o=>{var s;let i=new URL(t.base),a=__md_get("__outdated",sessionStorage,i);if(a===null){a=!0;let c=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(c)||(c=[c]);e:for(let l of c)for(let u of o.aliases.concat(o.version))if(new RegExp(l,"i").test(u)){a=!1;break e}__md_set("__outdated",a,sessionStorage,i)}if(a)for(let c of Te("outdated"))c.hidden=!1})}function Ac({document$:e,viewport$:t}){e.pipe(y(()=>$(".md-ellipsis")),se(r=>St(r).pipe(Q(e.pipe(ke(1))),O(n=>n),d(()=>r),Me(1))),O(r=>r.offsetWidth{let n=r.innerText,o=r.closest("a")||r;return o.title=n,X("content.tooltips")?Ye(o,{viewport$:t}).pipe(Q(e.pipe(ke(1))),q(()=>o.removeAttribute("title"))):w})).subscribe(),X("content.tooltips")&&e.pipe(y(()=>$(".md-status")),se(r=>Ye(r,{viewport$:t}))).subscribe()}function Cc({document$:e,tablet$:t}){e.pipe(y(()=>$(".md-toggle--indeterminate")),P(r=>{r.indeterminate=!0,r.checked=!1}),se(r=>b(r,"change").pipe(no(()=>r.classList.contains("md-toggle--indeterminate")),d(()=>r))),fe(t)).subscribe(([r,n])=>{r.classList.remove("md-toggle--indeterminate"),n&&(r.checked=!1)})}function af(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Hc({document$:e}){e.pipe(y(()=>$("[data-md-scrollfix]")),P(t=>t.removeAttribute("data-md-scrollfix")),O(af),se(t=>b(t,"touchstart").pipe(d(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let n=e[r];typeof n=="string"?n=document.createTextNode(n):n.parentNode&&n.parentNode.removeChild(n),r?t.insertBefore(this.previousSibling,n):t.replaceChild(n,this)}}}));function sf(){return location.protocol==="file:"?it(`${new URL("search.js",In.base)}`).pipe(d(()=>__index),me(()=>Be),re(1)):et(new URL("search.json",In.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var gt=Ai(),Wr=us(),br=ms(Wr),Pc=ls(),qe=_s(),Uo=jr("(min-width: 60em)"),Ic=jr("(min-width: 76.25em)"),Rc=ds(),In=Ne(),jc=we(".md-search")?sf():Be,No=new I;Ec({alert$:No});wc({document$:gt});var Do=new I,Fc=vr(In.base);X("navigation.instant")&&Lc({sitemap$:Fc,location$:Wr,viewport$:qe,progress$:Do}).subscribe(gt);var $c;(($c=In.version)==null?void 0:$c.provider)==="mike"&&kc({document$:gt});R(Wr,br).pipe(Ft(125)).subscribe(()=>{Lo("drawer",!1),Lo("search",!1)});Pc.pipe(O(({mode:e,meta:t})=>e==="global"&&!t)).subscribe(e=>{switch(e.type){case",":case"p":let t=document.querySelector("link[rel=prev]");t instanceof HTMLLinkElement&&vt(t);break;case".":case"n":let r=document.querySelector("link[rel=next]");r instanceof HTMLLinkElement&&vt(r);break;case"/":let n=document.querySelector("[data-md-component=search] button");n instanceof HTMLButtonElement&&n.click();break;case"Enter":let o=Et();o instanceof HTMLLabelElement&&o.click()}});Ac({viewport$:qe,document$:gt});Cc({document$:gt,tablet$:Uo});Hc({document$:gt});var Ct=oc(bt("header"),{viewport$:qe}),Dr=gt.pipe(d(()=>bt("main")),y(e=>sc(e,{viewport$:qe,header$:Ct})),re(1)),cf=R(...Te("consent").map(e=>ws(e,{target$:br})),...Te("dialog").map(e=>nc(e,{alert$:No})),...Te("palette").map(e=>cc(e)),...Te("progress").map(e=>lc(e,{progress$:Do})),...Te("search").map(e=>pc(e,{index$:jc})),...Te("source").map(e=>bc(e))),lf=j(()=>R(...Te("announce").map(e=>xs(e)),...Te("content").map(e=>rc(e,{sitemap$:Fc,viewport$:qe,target$:br,print$:Rc})),...Te("content").map(e=>X("search.highlight")?mc(e,{index$:jc,location$:Wr}):w),...Te("header").map(e=>ic(e,{viewport$:qe,header$:Ct,main$:Dr})),...Te("header-title").map(e=>ac(e,{viewport$:qe,header$:Ct})),...Te("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?To(Ic,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr})):To(Uo,()=>Ro(e,{viewport$:qe,header$:Ct,main$:Dr}))),...Te("tabs").map(e=>gc(e,{viewport$:qe,header$:Ct})),...Te("toc").map(e=>yc(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})),...Te("top").map(e=>_c(e,{viewport$:qe,header$:Ct,main$:Dr,target$:br})))),Uc=gt.pipe(y(()=>lf),Ut(cf),re(1));Uc.subscribe();window.document$=gt;window.location$=Wr;window.target$=br;window.keyboard$=Pc;window.viewport$=qe;window.tablet$=Uo;window.screen$=Ic;window.print$=Rc;window.alert$=No;window.progress$=Do;window.component$=Uc;})(); -/*! update cache: 20260721202929 */ +/*! update cache: 20260722174004 */ diff --git a/zh-hant/javascripts/animation_player.js b/zh-hant/javascripts/animation_player.js index 026544574..a700c4868 100644 --- a/zh-hant/javascripts/animation_player.js +++ b/zh-hant/javascripts/animation_player.js @@ -251,4 +251,4 @@ initAutoSlide(); } })(); -/*! update cache: 20260721202929 */ +/*! update cache: 20260722174004 */ diff --git a/zh-hant/javascripts/katex.js b/zh-hant/javascripts/katex.js index a619cc5ea..5faf236d1 100644 --- a/zh-hant/javascripts/katex.js +++ b/zh-hant/javascripts/katex.js @@ -8,4 +8,4 @@ document$.subscribe(({ body }) => { ], }); }); -/*! update cache: 20260721202929 */ +/*! update cache: 20260722174004 */ diff --git a/zh-hant/javascripts/mathjax.js b/zh-hant/javascripts/mathjax.js index 5a821c63a..754f5fb4a 100644 --- a/zh-hant/javascripts/mathjax.js +++ b/zh-hant/javascripts/mathjax.js @@ -15,4 +15,4 @@ window.MathJax = { document$.subscribe(() => { MathJax.typesetPromise(); }); -/*! update cache: 20260721202929 */ +/*! update cache: 20260722174004 */ diff --git a/zh-hant/javascripts/starfield.js b/zh-hant/javascripts/starfield.js index 8fea577e3..44c3bca6b 100644 --- a/zh-hant/javascripts/starfield.js +++ b/zh-hant/javascripts/starfield.js @@ -469,4 +469,4 @@ return Starfield; }); -/*! update cache: 20260721202929 */ +/*! update cache: 20260722174004 */ diff --git a/zh-hant/stylesheets/animation_player.css b/zh-hant/stylesheets/animation_player.css index 746fbaeeb..e54690047 100644 --- a/zh-hant/stylesheets/animation_player.css +++ b/zh-hant/stylesheets/animation_player.css @@ -176,4 +176,4 @@ font-size: 0.7rem; } } -/*! update cache: 20260721202929 */ +/*! update cache: 20260722174004 */ diff --git a/zh-hant/stylesheets/extra.css b/zh-hant/stylesheets/extra.css index 7acb66077..b45f73f34 100644 --- a/zh-hant/stylesheets/extra.css +++ b/zh-hant/stylesheets/extra.css @@ -264,69 +264,115 @@ html:has(body[data-md-color-scheme="default"]) { .md-typeset .admonition, .md-typeset details { + --hello-algo-callout-color: #448aff; border: 0.08rem solid transparent; } .md-typeset .admonition.note, .md-typeset details.note { + --hello-algo-callout-color: #448aff; border-color: #448aff3d; } .md-typeset .admonition.abstract, .md-typeset details.abstract { + --hello-algo-callout-color: #00b0ff; border-color: #00b0ff3d; } .md-typeset .admonition.info, .md-typeset details.info { + --hello-algo-callout-color: #00b8d4; border-color: #00b8d43d; } .md-typeset .admonition.tip, .md-typeset details.tip { + --hello-algo-callout-color: #00bfa5; border-color: #00bfa53d; } .md-typeset .admonition.success, .md-typeset details.success { + --hello-algo-callout-color: #00c853; border-color: #00c8533d; } .md-typeset .admonition.question, .md-typeset details.question { + --hello-algo-callout-color: #64dd17; border-color: #64dd173d; } .md-typeset .admonition.warning, .md-typeset details.warning { + --hello-algo-callout-color: #ff9100; border-color: #ff91003d; } .md-typeset .admonition.failure, .md-typeset details.failure { + --hello-algo-callout-color: #ff5252; border-color: #ff52523d; } .md-typeset .admonition.danger, .md-typeset details.danger { + --hello-algo-callout-color: #ff1744; border-color: #ff17443d; } .md-typeset .admonition.bug, .md-typeset details.bug { + --hello-algo-callout-color: #f50057; border-color: #f500573d; } .md-typeset .admonition.example, .md-typeset details.example { + --hello-algo-callout-color: #7c4dff; border-color: #7c4dff3d; } .md-typeset .admonition.quote, .md-typeset details.quote { + --hello-algo-callout-color: #9e9e9e; border-color: #9e9e9e3d; } +.md-typeset :is(.admonition, details):not(.pythontutor) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 3%, var(--md-default-bg-color)); +} + +.md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + background-color: color-mix(in srgb, var(--hello-algo-callout-color) 10%, var(--md-default-bg-color)); + border-radius: 0.32rem 0.32rem 0 0; + margin: 0 -0.8rem; + padding-bottom: 0.4rem; + padding-top: 0.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-left: 2.4rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary) { + padding-right: 2.4rem; +} + +[dir="ltr"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + left: 0.8rem; +} + +[dir="rtl"] .md-typeset :is(.admonition, details):not(.pythontutor) > :is(.admonition-title, summary)::before { + right: 0.8rem; +} + +.md-typeset details:not([open], .pythontutor) > summary { + border-radius: 0.32rem; + margin-bottom: 0; +} + .md-typeset .admonition.pythontutor, .md-typeset details.pythontutor { border-color: color-mix(in srgb, var(--md-code-bg-color) 88%, var(--md-default-fg-color) 12%); @@ -857,4 +903,4 @@ a:hover .device-on-hover { max-width: 100%; } } -/*! update cache: 20260721202929 */ +/*! update cache: 20260722174004 */ diff --git a/zh-hant/stylesheets/giscus-dark.css b/zh-hant/stylesheets/giscus-dark.css index 006530810..c8f397a80 100644 --- a/zh-hant/stylesheets/giscus-dark.css +++ b/zh-hant/stylesheets/giscus-dark.css @@ -122,4 +122,4 @@ main .gsc-loading-image { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721202929 */ +/*! update cache: 20260722174004 */ diff --git a/zh-hant/stylesheets/giscus-light.css b/zh-hant/stylesheets/giscus-light.css index 36adcf480..c26e352a6 100644 --- a/zh-hant/stylesheets/giscus-light.css +++ b/zh-hant/stylesheets/giscus-light.css @@ -153,4 +153,4 @@ main { .gsc-reply-content::-webkit-scrollbar-track { background: transparent; } -/*! update cache: 20260721202929 */ +/*! update cache: 20260722174004 */