import{S as Bl,i as Rl,s as Vl,F as Gl,e as l,c as i,a as r,d as t,b as p,g as f,H as Jl,I as Wl,J as zl,q as E,o as k,k as u,w as D,t as a,M as Kl,m as h,x as I,h as n,N as Ql,G as s,y as A,B as S,v as Xl}from"../chunks/vendor-hf-doc-builder.js";import{I as Qe}from"../chunks/IconCopyLink-hf-doc-builder.js";import{C as xe}from"../chunks/CodeBlock-hf-doc-builder.js";function Zl(_){let d,y;const v=_[3].default,m=Gl(v,_,_[2],null);return{c(){d=l("div"),m&&m.c(),this.h()},l(c){d=i(c,"DIV",{class:!0});var w=r(d);m&&m.l(w),w.forEach(t),this.h()},h(){p(d,"class","course-tip "+(_[0]==="orange"?"course-tip-orange":"")+" bg-gradient-to-br dark:bg-gradient-to-r before:border-"+_[0]+"-500 dark:before:border-"+_[0]+"-800 from-"+_[0]+"-50 dark:from-gray-900 to-white dark:to-gray-950 border border-"+_[0]+"-50 text-"+_[0]+"-700 dark:text-gray-400")},m(c,w){f(c,d,w),m&&m.m(d,null),y=!0},p(c,[w]){m&&m.p&&(!y||w&4)&&Jl(m,v,c,c[2],y?zl(v,c[2],w,null):Wl(c[2]),null)},i(c){y||(E(m,c),y=!0)},o(c){k(m,c),y=!1},d(c){c&&t(d),m&&m.d(c)}}}function ei(_,d,y){let{$$slots:v={},$$scope:m}=d,{warning:c=!1}=d;const w=c?"orange":"green";return _.$$set=$=>{"warning"in $&&y(1,c=$.warning),"$$scope"in $&&y(2,m=$.$$scope)},[w,c,m,v]}class ti extends Bl{constructor(d){super();Rl(this,d,ei,Zl,Vl,{warning:1})}}function si(_){let d,y,v,m,c;return{c(){d=l("p"),y=a("You must keep the "),v=l("code"),m=a("diffusers"),c=a(" folder if you want to keep using the library.")},l(w){d=i(w,"P",{});var $=r(d);y=n($,"You must keep the "),v=i($,"CODE",{});var ve=r(v);m=n(ve,"diffusers"),ve.forEach(t),c=n($," folder if you want to keep using the library."),$.forEach(t)},m(w,$){f(w,d,$),s(d,y),s(d,v),s(v,m),s(d,c)},d(w){w&&t(d)}}}function li(_){let d,y,v,m,c,w,$,ve,Ut,Xe,N,M,Ce,J,qt,Ne,Ft,Ze,we,Bt,et,ye,Rt,tt,P,W,Vt,z,Gt,Jt,Wt,K,zt,Q,Kt,Qt,Xt,X,Zt,Z,es,ts,ss,ee,ls,te,is,os,st,T,Y,Te,se,rs,je,as,lt,be,ns,it,_e,fs,ot,j,U,Oe,le,us,Le,hs,rt,x,ps,ie,ds,cs,oe,ms,vs,at,$e,ws,nt,re,ft,ge,ys,ut,ae,ht,Ee,bs,pt,ne,dt,O,q,He,fe,_s,Me,$s,ct,ke,gs,mt,ue,vt,b,Es,Ye,ks,Ps,Ue,Ds,Is,qe,As,Ss,Fe,xs,Cs,Be,Ns,Ts,he,js,Os,wt,L,F,Re,pe,Ls,Ve,Hs,yt,Pe,Ms,bt,B,de,Ys,Ge,Us,qs,Fs,Je,Bs,_t,De,Rs,$t,ce,gt,C,Vs,We,Gs,Js,ze,Ws,zs,Et,R,kt,Ie,Ks,Pt,me,Dt,V,Qs,Ke,Xs,Zs,It;return J=new Qe({}),se=new Qe({}),le=new Qe({}),re=new xe({props:{code:"python -m venv .env",highlighted:'python -m venv .<span class="hljs-built_in">env</span>'}}),ae=new xe({props:{code:"source .env/bin/activate",highlighted:'<span class="hljs-built_in">source</span> .<span class="hljs-built_in">env</span>/bin/activate'}}),ne=new xe({props:{code:"pip install diffusers",highlighted:"pip install diffusers"}}),fe=new Qe({}),ue=new xe({props:{code:"pip install git+https://github.com/huggingface/diffusers",highlighted:"pip install git+https://github.com/huggingface/diffusers"}}),pe=new Qe({}),ce=new xe({props:{code:`git clone https://github.com/huggingface/diffusers.git
cd transformers
pip install -e .`,highlighted:`git <span class="hljs-built_in">clone</span> https://github.com/huggingface/diffusers.git
<span class="hljs-built_in">cd</span> transformers
pip install -e .`}}),R=new ti({props:{warning:!0,$$slots:{default:[si]},$$scope:{ctx:_}}}),me=new xe({props:{code:`cd ~/diffusers/
git pull`,highlighted:`<span class="hljs-built_in">cd</span> ~/diffusers/
git pull`}}),{c(){d=l("meta"),y=u(),v=l("p"),m=l("br"),c=u(),w=l("img"),ve=u(),Ut=l("br"),Xe=u(),N=l("h1"),M=l("a"),Ce=l("span"),D(J.$$.fragment),qt=u(),Ne=l("span"),Ft=a("\u{1F9E8} Diffusers"),Ze=u(),we=l("p"),Bt=a(`\u{1F917} Diffusers provides pretrained diffusion models across multiple modalities, such as vision and audio, and serves
as a modular toolbox for inference and training of diffusion models.`),et=u(),ye=l("p"),Rt=a("More precisely, \u{1F917} Diffusers offers:"),tt=u(),P=l("ul"),W=l("li"),Vt=a("State-of-the-art diffusion pipelines that can be run in inference with just a couple of lines of code (see "),z=l("a"),Gt=a("src/diffusers/pipelines"),Jt=a(")."),Wt=u(),K=l("li"),zt=a("Various noise schedulers that can be used interchangeably for the prefered speed vs. quality trade-off in inference (see "),Q=l("a"),Kt=a("src/diffusers/schedulers"),Qt=a(")."),Xt=u(),X=l("li"),Zt=a("Multiple types of models, such as UNet, that can be used as building blocks in an end-to-end diffusion system (see "),Z=l("a"),es=a("src/diffusers/models"),ts=a(")."),ss=u(),ee=l("li"),ls=a("Training examples to show how to train the most popular diffusion models (see "),te=l("a"),is=a("examples"),os=a(")."),st=u(),T=l("h1"),Y=l("a"),Te=l("span"),D(se.$$.fragment),rs=u(),je=l("span"),as=a("Installation"),lt=u(),be=l("p"),ns=a("Install Diffusers for with PyTorch. Support for other libraries will come in the future"),it=u(),_e=l("p"),fs=a("\u{1F917} Diffusers is tested on Python 3.6+, and PyTorch 1.4.0+."),ot=u(),j=l("h2"),U=l("a"),Oe=l("span"),D(le.$$.fragment),us=u(),Le=l("span"),hs=a("Install with pip"),rt=u(),x=l("p"),ps=a("You should install \u{1F917} Diffusers in a "),ie=l("a"),ds=a("virtual environment"),cs=a(`.
If you\u2019re unfamiliar with Python virtual environments, take a look at this `),oe=l("a"),ms=a("guide"),vs=a(`.
A virtual environment makes it easier to manage different projects, and avoid compatibility issues between dependencies.`),at=u(),$e=l("p"),ws=a("Start by creating a virtual environment in your project directory:"),nt=u(),D(re.$$.fragment),ft=u(),ge=l("p"),ys=a("Activate the virtual environment:"),ut=u(),D(ae.$$.fragment),ht=u(),Ee=l("p"),bs=a("Now you\u2019re ready to install \u{1F917} Diffusers with the following command:"),pt=u(),D(ne.$$.fragment),dt=u(),O=l("h2"),q=l("a"),He=l("span"),D(fe.$$.fragment),_s=u(),Me=l("span"),$s=a("Install from source"),ct=u(),ke=l("p"),gs=a("Install \u{1F917} Diffusers from source with the following command:"),mt=u(),D(ue.$$.fragment),vt=u(),b=l("p"),Es=a("This command installs the bleeding edge "),Ye=l("code"),ks=a("main"),Ps=a(" version rather than the latest "),Ue=l("code"),Ds=a("stable"),Is=a(` version.
The `),qe=l("code"),As=a("main"),Ss=a(` version is useful for staying up-to-date with the latest developments.
For instance, if a bug has been fixed since the last official release but a new release hasn\u2019t been rolled out yet.
However, this means the `),Fe=l("code"),xs=a("main"),Cs=a(` version may not always be stable.
We strive to keep the `),Be=l("code"),Ns=a("main"),Ts=a(` version operational, and most issues are usually resolved within a few hours or a day.
If you run into a problem, please open an `),he=l("a"),js=a("Issue"),Os=a(" so we can fix it even sooner!"),wt=u(),L=l("h2"),F=l("a"),Re=l("span"),D(pe.$$.fragment),Ls=u(),Ve=l("span"),Hs=a("Editable install"),yt=u(),Pe=l("p"),Ms=a("You will need an editable install if you\u2019d like to:"),bt=u(),B=l("ul"),de=l("li"),Ys=a("Use the "),Ge=l("code"),Us=a("main"),qs=a(" version of the source code."),Fs=u(),Je=l("li"),Bs=a("Contribute to \u{1F917} Diffusers and need to test changes in the code."),_t=u(),De=l("p"),Rs=a("Clone the repository and install \u{1F917} Diffusers with the following commands:"),$t=u(),D(ce.$$.fragment),gt=u(),C=l("p"),Vs=a(`These commands will link the folder you cloned the repository to and your Python library paths.
Python will now look inside the folder you cloned to in addition to the normal library paths.
For example, if your Python packages are typically installed in `),We=l("code"),Gs=a("~/anaconda3/envs/main/lib/python3.7/site-packages/"),Js=a(", Python will also search the folder you cloned to: "),ze=l("code"),Ws=a("~/diffusers/"),zs=a("."),Et=u(),D(R.$$.fragment),kt=u(),Ie=l("p"),Ks=a("Now you can easily update your clone to the latest version of \u{1F917} Diffusers with the following command:"),Pt=u(),D(me.$$.fragment),Dt=u(),V=l("p"),Qs=a("Your Python environment will find the "),Ke=l("code"),Xs=a("main"),Zs=a(" version of \u{1F917} Diffuers on the next run."),this.h()},l(e){const o=Kl('[data-svelte="svelte-1phssyn"]',document.head);d=i(o,"META",{name:!0,content:!0}),o.forEach(t),y=h(e),v=i(e,"P",{align:!0});var H=r(v);m=i(H,"BR",{}),c=h(H),w=i(H,"IMG",{src:!0,width:!0}),ve=h(H),Ut=i(H,"BR",{}),H.forEach(t),Xe=h(e),N=i(e,"H1",{class:!0});var At=r(N);M=i(At,"A",{id:!0,class:!0,href:!0});var el=r(M);Ce=i(el,"SPAN",{});var tl=r(Ce);I(J.$$.fragment,tl),tl.forEach(t),el.forEach(t),qt=h(At),Ne=i(At,"SPAN",{});var sl=r(Ne);Ft=n(sl,"\u{1F9E8} Diffusers"),sl.forEach(t),At.forEach(t),Ze=h(e),we=i(e,"P",{});var ll=r(we);Bt=n(ll,`\u{1F917} Diffusers provides pretrained diffusion models across multiple modalities, such as vision and audio, and serves
as a modular toolbox for inference and training of diffusion models.`),ll.forEach(t),et=h(e),ye=i(e,"P",{});var il=r(ye);Rt=n(il,"More precisely, \u{1F917} Diffusers offers:"),il.forEach(t),tt=h(e),P=i(e,"UL",{});var G=r(P);W=i(G,"LI",{});var St=r(W);Vt=n(St,"State-of-the-art diffusion pipelines that can be run in inference with just a couple of lines of code (see "),z=i(St,"A",{href:!0,rel:!0});var ol=r(z);Gt=n(ol,"src/diffusers/pipelines"),ol.forEach(t),Jt=n(St,")."),St.forEach(t),Wt=h(G),K=i(G,"LI",{});var xt=r(K);zt=n(xt,"Various noise schedulers that can be used interchangeably for the prefered speed vs. quality trade-off in inference (see "),Q=i(xt,"A",{href:!0,rel:!0});var rl=r(Q);Kt=n(rl,"src/diffusers/schedulers"),rl.forEach(t),Qt=n(xt,")."),xt.forEach(t),Xt=h(G),X=i(G,"LI",{});var Ct=r(X);Zt=n(Ct,"Multiple types of models, such as UNet, that can be used as building blocks in an end-to-end diffusion system (see "),Z=i(Ct,"A",{href:!0,rel:!0});var al=r(Z);es=n(al,"src/diffusers/models"),al.forEach(t),ts=n(Ct,")."),Ct.forEach(t),ss=h(G),ee=i(G,"LI",{});var Nt=r(ee);ls=n(Nt,"Training examples to show how to train the most popular diffusion models (see "),te=i(Nt,"A",{href:!0,rel:!0});var nl=r(te);is=n(nl,"examples"),nl.forEach(t),os=n(Nt,")."),Nt.forEach(t),G.forEach(t),st=h(e),T=i(e,"H1",{class:!0});var Tt=r(T);Y=i(Tt,"A",{id:!0,class:!0,href:!0});var fl=r(Y);Te=i(fl,"SPAN",{});var ul=r(Te);I(se.$$.fragment,ul),ul.forEach(t),fl.forEach(t),rs=h(Tt),je=i(Tt,"SPAN",{});var hl=r(je);as=n(hl,"Installation"),hl.forEach(t),Tt.forEach(t),lt=h(e),be=i(e,"P",{});var pl=r(be);ns=n(pl,"Install Diffusers for with PyTorch. Support for other libraries will come in the future"),pl.forEach(t),it=h(e),_e=i(e,"P",{});var dl=r(_e);fs=n(dl,"\u{1F917} Diffusers is tested on Python 3.6+, and PyTorch 1.4.0+."),dl.forEach(t),ot=h(e),j=i(e,"H2",{class:!0});var jt=r(j);U=i(jt,"A",{id:!0,class:!0,href:!0});var cl=r(U);Oe=i(cl,"SPAN",{});var ml=r(Oe);I(le.$$.fragment,ml),ml.forEach(t),cl.forEach(t),us=h(jt),Le=i(jt,"SPAN",{});var vl=r(Le);hs=n(vl,"Install with pip"),vl.forEach(t),jt.forEach(t),rt=h(e),x=i(e,"P",{});var Ae=r(x);ps=n(Ae,"You should install \u{1F917} Diffusers in a "),ie=i(Ae,"A",{href:!0,rel:!0});var wl=r(ie);ds=n(wl,"virtual environment"),wl.forEach(t),cs=n(Ae,`.
If you\u2019re unfamiliar with Python virtual environments, take a look at this `),oe=i(Ae,"A",{href:!0,rel:!0});var yl=r(oe);ms=n(yl,"guide"),yl.forEach(t),vs=n(Ae,`.
A virtual environment makes it easier to manage different projects, and avoid compatibility issues between dependencies.`),Ae.forEach(t),at=h(e),$e=i(e,"P",{});var bl=r($e);ws=n(bl,"Start by creating a virtual environment in your project directory:"),bl.forEach(t),nt=h(e),I(re.$$.fragment,e),ft=h(e),ge=i(e,"P",{});var _l=r(ge);ys=n(_l,"Activate the virtual environment:"),_l.forEach(t),ut=h(e),I(ae.$$.fragment,e),ht=h(e),Ee=i(e,"P",{});var $l=r(Ee);bs=n($l,"Now you\u2019re ready to install \u{1F917} Diffusers with the following command:"),$l.forEach(t),pt=h(e),I(ne.$$.fragment,e),dt=h(e),O=i(e,"H2",{class:!0});var Ot=r(O);q=i(Ot,"A",{id:!0,class:!0,href:!0});var gl=r(q);He=i(gl,"SPAN",{});var El=r(He);I(fe.$$.fragment,El),El.forEach(t),gl.forEach(t),_s=h(Ot),Me=i(Ot,"SPAN",{});var kl=r(Me);$s=n(kl,"Install from source"),kl.forEach(t),Ot.forEach(t),ct=h(e),ke=i(e,"P",{});var Pl=r(ke);gs=n(Pl,"Install \u{1F917} Diffusers from source with the following command:"),Pl.forEach(t),mt=h(e),I(ue.$$.fragment,e),vt=h(e),b=i(e,"P",{});var g=r(b);Es=n(g,"This command installs the bleeding edge "),Ye=i(g,"CODE",{});var Dl=r(Ye);ks=n(Dl,"main"),Dl.forEach(t),Ps=n(g," version rather than the latest "),Ue=i(g,"CODE",{});var Il=r(Ue);Ds=n(Il,"stable"),Il.forEach(t),Is=n(g,` version.
The `),qe=i(g,"CODE",{});var Al=r(qe);As=n(Al,"main"),Al.forEach(t),Ss=n(g,` version is useful for staying up-to-date with the latest developments.
For instance, if a bug has been fixed since the last official release but a new release hasn\u2019t been rolled out yet.
However, this means the `),Fe=i(g,"CODE",{});var Sl=r(Fe);xs=n(Sl,"main"),Sl.forEach(t),Cs=n(g,` version may not always be stable.
We strive to keep the `),Be=i(g,"CODE",{});var xl=r(Be);Ns=n(xl,"main"),xl.forEach(t),Ts=n(g,` version operational, and most issues are usually resolved within a few hours or a day.
If you run into a problem, please open an `),he=i(g,"A",{href:!0,rel:!0});var Cl=r(he);js=n(Cl,"Issue"),Cl.forEach(t),Os=n(g," so we can fix it even sooner!"),g.forEach(t),wt=h(e),L=i(e,"H2",{class:!0});var Lt=r(L);F=i(Lt,"A",{id:!0,class:!0,href:!0});var Nl=r(F);Re=i(Nl,"SPAN",{});var Tl=r(Re);I(pe.$$.fragment,Tl),Tl.forEach(t),Nl.forEach(t),Ls=h(Lt),Ve=i(Lt,"SPAN",{});var jl=r(Ve);Hs=n(jl,"Editable install"),jl.forEach(t),Lt.forEach(t),yt=h(e),Pe=i(e,"P",{});var Ol=r(Pe);Ms=n(Ol,"You will need an editable install if you\u2019d like to:"),Ol.forEach(t),bt=h(e),B=i(e,"UL",{});var Ht=r(B);de=i(Ht,"LI",{});var Mt=r(de);Ys=n(Mt,"Use the "),Ge=i(Mt,"CODE",{});var Ll=r(Ge);Us=n(Ll,"main"),Ll.forEach(t),qs=n(Mt," version of the source code."),Mt.forEach(t),Fs=h(Ht),Je=i(Ht,"LI",{});var Hl=r(Je);Bs=n(Hl,"Contribute to \u{1F917} Diffusers and need to test changes in the code."),Hl.forEach(t),Ht.forEach(t),_t=h(e),De=i(e,"P",{});var Ml=r(De);Rs=n(Ml,"Clone the repository and install \u{1F917} Diffusers with the following commands:"),Ml.forEach(t),$t=h(e),I(ce.$$.fragment,e),gt=h(e),C=i(e,"P",{});var Se=r(C);Vs=n(Se,`These commands will link the folder you cloned the repository to and your Python library paths.
Python will now look inside the folder you cloned to in addition to the normal library paths.
For example, if your Python packages are typically installed in `),We=i(Se,"CODE",{});var Yl=r(We);Gs=n(Yl,"~/anaconda3/envs/main/lib/python3.7/site-packages/"),Yl.forEach(t),Js=n(Se,", Python will also search the folder you cloned to: "),ze=i(Se,"CODE",{});var Ul=r(ze);Ws=n(Ul,"~/diffusers/"),Ul.forEach(t),zs=n(Se,"."),Se.forEach(t),Et=h(e),I(R.$$.fragment,e),kt=h(e),Ie=i(e,"P",{});var ql=r(Ie);Ks=n(ql,"Now you can easily update your clone to the latest version of \u{1F917} Diffusers with the following command:"),ql.forEach(t),Pt=h(e),I(me.$$.fragment,e),Dt=h(e),V=i(e,"P",{});var Yt=r(V);Qs=n(Yt,"Your Python environment will find the "),Ke=i(Yt,"CODE",{});var Fl=r(Ke);Xs=n(Fl,"main"),Fl.forEach(t),Zs=n(Yt," version of \u{1F917} Diffuers on the next run."),Yt.forEach(t),this.h()},h(){p(d,"name","hf:doc:metadata"),p(d,"content",JSON.stringify(ii)),Ql(w.src,$="https://raw.githubusercontent.com/huggingface/diffusers/77aadfee6a891ab9fcfb780f87c693f7a5beeb8e/docs/source/imgs/diffusers_library.jpg")||p(w,"src",$),p(w,"width","400"),p(v,"align","center"),p(M,"id","diffusers"),p(M,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),p(M,"href","#diffusers"),p(N,"class","relative group"),p(z,"href","https://github.com/huggingface/diffusers/tree/main/src/diffusers/pipelines"),p(z,"rel","nofollow"),p(Q,"href","https://github.com/huggingface/diffusers/tree/main/src/diffusers/schedulers"),p(Q,"rel","nofollow"),p(Z,"href","https://github.com/huggingface/diffusers/tree/main/src/diffusers/models"),p(Z,"rel","nofollow"),p(te,"href","https://github.com/huggingface/diffusers/tree/main/examples"),p(te,"rel","nofollow"),p(Y,"id","installation"),p(Y,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),p(Y,"href","#installation"),p(T,"class","relative group"),p(U,"id","install-with-pip"),p(U,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),p(U,"href","#install-with-pip"),p(j,"class","relative group"),p(ie,"href","https://docs.python.org/3/library/venv.html"),p(ie,"rel","nofollow"),p(oe,"href","https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/"),p(oe,"rel","nofollow"),p(q,"id","install-from-source"),p(q,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),p(q,"href","#install-from-source"),p(O,"class","relative group"),p(he,"href","https://github.com/huggingface/transformers/issues"),p(he,"rel","nofollow"),p(F,"id","editable-install"),p(F,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),p(F,"href","#editable-install"),p(L,"class","relative group")},m(e,o){s(document.head,d),f(e,y,o),f(e,v,o),s(v,m),s(v,c),s(v,w),s(v,ve),s(v,Ut),f(e,Xe,o),f(e,N,o),s(N,M),s(M,Ce),A(J,Ce,null),s(N,qt),s(N,Ne),s(Ne,Ft),f(e,Ze,o),f(e,we,o),s(we,Bt),f(e,et,o),f(e,ye,o),s(ye,Rt),f(e,tt,o),f(e,P,o),s(P,W),s(W,Vt),s(W,z),s(z,Gt),s(W,Jt),s(P,Wt),s(P,K),s(K,zt),s(K,Q),s(Q,Kt),s(K,Qt),s(P,Xt),s(P,X),s(X,Zt),s(X,Z),s(Z,es),s(X,ts),s(P,ss),s(P,ee),s(ee,ls),s(ee,te),s(te,is),s(ee,os),f(e,st,o),f(e,T,o),s(T,Y),s(Y,Te),A(se,Te,null),s(T,rs),s(T,je),s(je,as),f(e,lt,o),f(e,be,o),s(be,ns),f(e,it,o),f(e,_e,o),s(_e,fs),f(e,ot,o),f(e,j,o),s(j,U),s(U,Oe),A(le,Oe,null),s(j,us),s(j,Le),s(Le,hs),f(e,rt,o),f(e,x,o),s(x,ps),s(x,ie),s(ie,ds),s(x,cs),s(x,oe),s(oe,ms),s(x,vs),f(e,at,o),f(e,$e,o),s($e,ws),f(e,nt,o),A(re,e,o),f(e,ft,o),f(e,ge,o),s(ge,ys),f(e,ut,o),A(ae,e,o),f(e,ht,o),f(e,Ee,o),s(Ee,bs),f(e,pt,o),A(ne,e,o),f(e,dt,o),f(e,O,o),s(O,q),s(q,He),A(fe,He,null),s(O,_s),s(O,Me),s(Me,$s),f(e,ct,o),f(e,ke,o),s(ke,gs),f(e,mt,o),A(ue,e,o),f(e,vt,o),f(e,b,o),s(b,Es),s(b,Ye),s(Ye,ks),s(b,Ps),s(b,Ue),s(Ue,Ds),s(b,Is),s(b,qe),s(qe,As),s(b,Ss),s(b,Fe),s(Fe,xs),s(b,Cs),s(b,Be),s(Be,Ns),s(b,Ts),s(b,he),s(he,js),s(b,Os),f(e,wt,o),f(e,L,o),s(L,F),s(F,Re),A(pe,Re,null),s(L,Ls),s(L,Ve),s(Ve,Hs),f(e,yt,o),f(e,Pe,o),s(Pe,Ms),f(e,bt,o),f(e,B,o),s(B,de),s(de,Ys),s(de,Ge),s(Ge,Us),s(de,qs),s(B,Fs),s(B,Je),s(Je,Bs),f(e,_t,o),f(e,De,o),s(De,Rs),f(e,$t,o),A(ce,e,o),f(e,gt,o),f(e,C,o),s(C,Vs),s(C,We),s(We,Gs),s(C,Js),s(C,ze),s(ze,Ws),s(C,zs),f(e,Et,o),A(R,e,o),f(e,kt,o),f(e,Ie,o),s(Ie,Ks),f(e,Pt,o),A(me,e,o),f(e,Dt,o),f(e,V,o),s(V,Qs),s(V,Ke),s(Ke,Xs),s(V,Zs),It=!0},p(e,[o]){const H={};o&2&&(H.$$scope={dirty:o,ctx:e}),R.$set(H)},i(e){It||(E(J.$$.fragment,e),E(se.$$.fragment,e),E(le.$$.fragment,e),E(re.$$.fragment,e),E(ae.$$.fragment,e),E(ne.$$.fragment,e),E(fe.$$.fragment,e),E(ue.$$.fragment,e),E(pe.$$.fragment,e),E(ce.$$.fragment,e),E(R.$$.fragment,e),E(me.$$.fragment,e),It=!0)},o(e){k(J.$$.fragment,e),k(se.$$.fragment,e),k(le.$$.fragment,e),k(re.$$.fragment,e),k(ae.$$.fragment,e),k(ne.$$.fragment,e),k(fe.$$.fragment,e),k(ue.$$.fragment,e),k(pe.$$.fragment,e),k(ce.$$.fragment,e),k(R.$$.fragment,e),k(me.$$.fragment,e),It=!1},d(e){t(d),e&&t(y),e&&t(v),e&&t(Xe),e&&t(N),S(J),e&&t(Ze),e&&t(we),e&&t(et),e&&t(ye),e&&t(tt),e&&t(P),e&&t(st),e&&t(T),S(se),e&&t(lt),e&&t(be),e&&t(it),e&&t(_e),e&&t(ot),e&&t(j),S(le),e&&t(rt),e&&t(x),e&&t(at),e&&t($e),e&&t(nt),S(re,e),e&&t(ft),e&&t(ge),e&&t(ut),S(ae,e),e&&t(ht),e&&t(Ee),e&&t(pt),S(ne,e),e&&t(dt),e&&t(O),S(fe),e&&t(ct),e&&t(ke),e&&t(mt),S(ue,e),e&&t(vt),e&&t(b),e&&t(wt),e&&t(L),S(pe),e&&t(yt),e&&t(Pe),e&&t(bt),e&&t(B),e&&t(_t),e&&t(De),e&&t($t),S(ce,e),e&&t(gt),e&&t(C),e&&t(Et),S(R,e),e&&t(kt),e&&t(Ie),e&&t(Pt),S(me,e),e&&t(Dt),e&&t(V)}}}const ii={local:"installation",sections:[{local:"install-with-pip",title:"Install with pip"},{local:"install-from-source",title:"Install from source"},{local:"editable-install",title:"Editable install"}],title:"Installation"};function oi(_){return Xl(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class fi extends Bl{constructor(d){super();Rl(this,d,oi,li,Vl,{})}}export{fi as default,ii as metadata};
