import{s as pt,o as mt,n as ht}from"../chunks/scheduler.8c3d61f6.js";import{S as gt,i as _t,g as d,s as r,r as m,A as bt,h as a,f as s,c as i,j as U,u as g,x as c,k as E,y as n,a as o,v as _,d as b,t as v,w as M}from"../chunks/index.589a98e8.js";import{T as vt}from"../chunks/Tip.42aa8582.js";import{D as fe}from"../chunks/Docstring.27406313.js";import{C as Mt}from"../chunks/CodeBlock.36627b28.js";import{E as xt}from"../chunks/ExampleCodeBlock.3dc467a7.js";import{H as pe,E as $t}from"../chunks/EditOnGithub.e5a8d9cb.js";function yt(Y){let l,w=`To use private or <a href="https://huggingface.co/docs/hub/models-gated#gated-models" rel="nofollow">gated models</a>, log-in with
<code>huggingface-cli login</code>. You can also activate the special
<a href="https://huggingface.co/diffusers/installation.html#offline-mode" rel="nofollow">“offline-mode”</a> to use this method in a
firewalled environment.`;return{c(){l=d("p"),l.innerHTML=w},l(p){l=a(p,"P",{"data-svelte-h":!0}),c(l)!=="svelte-19a77yg"&&(l.innerHTML=w)},m(p,x){o(p,l,x)},p:ht,d(p){p&&s(l)}}}function St(Y){let l,w="Examples:",p,x,$;return x=new Mt({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMFVOZXQyRENvbmRpdGlvbk1vZGVsJTBBJTBBdW5ldCUyMCUzRCUyMFVOZXQyRENvbmRpdGlvbk1vZGVsLmZyb21fcHJldHJhaW5lZCglMjJzdGFiaWxpdHlhaSUyRnN0YWJsZS1kaWZmdXNpb24tMiUyMiUyQyUyMHN1YmZvbGRlciUzRCUyMnVuZXQlMjIpJTBBJTBBJTIzJTIwUHVzaCUyMHRoZSUyMCU2MHVuZXQlNjAlMjB0byUyMHlvdXIlMjBuYW1lc3BhY2UlMjB3aXRoJTIwdGhlJTIwbmFtZSUyMCUyMm15LWZpbmV0dW5lZC11bmV0JTIyLiUwQXVuZXQucHVzaF90b19odWIoJTIybXktZmluZXR1bmVkLXVuZXQlMjIpJTBBJTBBJTIzJTIwUHVzaCUyMHRoZSUyMCU2MHVuZXQlNjAlMjB0byUyMGFuJTIwb3JnYW5pemF0aW9uJTIwd2l0aCUyMHRoZSUyMG5hbWUlMjAlMjJteS1maW5ldHVuZWQtdW5ldCUyMi4lMEF1bmV0LnB1c2hfdG9faHViKCUyMnlvdXItb3JnJTJGbXktZmluZXR1bmVkLXVuZXQlMjIp",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained(<span class="hljs-string">&quot;stabilityai/stable-diffusion-2&quot;</span>, subfolder=<span class="hljs-string">&quot;unet&quot;</span>)

<span class="hljs-comment"># Push the \`unet\` to your namespace with the name &quot;my-finetuned-unet&quot;.</span>
unet.push_to_hub(<span class="hljs-string">&quot;my-finetuned-unet&quot;</span>)

<span class="hljs-comment"># Push the \`unet\` to an organization with the name &quot;my-finetuned-unet&quot;.</span>
unet.push_to_hub(<span class="hljs-string">&quot;your-org/my-finetuned-unet&quot;</span>)`,wrap:!1}}),{c(){l=d("p"),l.textContent=w,p=r(),m(x.$$.fragment)},l(f){l=a(f,"P",{"data-svelte-h":!0}),c(l)!=="svelte-kvfsh7"&&(l.textContent=w),p=i(f),g(x.$$.fragment,f)},m(f,y){o(f,l,y),o(f,p,y),_(x,f,y),$=!0},p:ht,i(f){$||(b(x.$$.fragment,f),$=!0)},o(f){v(x.$$.fragment,f),$=!1},d(f){f&&(s(l),s(p)),M(x,f)}}}function wt(Y){let l,w,p,x,$,f,y,Oe="🤗 Diffusers provides many scheduler functions for the diffusion process. A scheduler takes a model’s output (the sample which the diffusion process is iterating on) and a timestep to return a denoised sample. The timestep is important because it dictates where in the diffusion process the step is; data is generated by iterating forward <em>n</em> timesteps and inference occurs by propagating backward through the timesteps. Based on the timestep, a scheduler may be <em>discrete</em> in which case the timestep is an <code>int</code> or <em>continuous</em> in which case the timestep is a <code>float</code>.",me,A,Re="Depending on the context, a scheduler defines how to iteratively add noise to an image or how to update a sample based on a model’s output:",ge,I,Ge="<li>during <em>training</em>, a scheduler adds noise (there are different algorithms for how to add noise) to a sample to train a diffusion model</li> <li>during <em>inference</em>, a scheduler defines how to update a sample based on a pretrained model’s output</li>",_e,q,Qe='Many schedulers are implemented from the <a href="https://github.com/crowsonkb/k-diffusion" rel="nofollow">k-diffusion</a> library by <a href="https://github.com/crowsonkb/" rel="nofollow">Katherine Crowson</a>, and they’re also widely used in A1111. To help you map the schedulers from k-diffusion and A1111 to the schedulers in 🤗 Diffusers, take a look at the table below:',be,Z,Ye='<thead><tr><th>A1111/k-diffusion</th> <th>🤗 Diffusers</th> <th>Usage</th></tr></thead> <tbody><tr><td>DPM++ 2M</td> <td><a href="/docs/diffusers/main/en/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler">DPMSolverMultistepScheduler</a></td> <td></td></tr> <tr><td>DPM++ 2M Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler">DPMSolverMultistepScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>DPM++ 2M SDE</td> <td><a href="/docs/diffusers/main/en/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler">DPMSolverMultistepScheduler</a></td> <td>init with <code>algorithm_type=&quot;sde-dpmsolver++&quot;</code></td></tr> <tr><td>DPM++ 2M SDE Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler">DPMSolverMultistepScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code> and <code>algorithm_type=&quot;sde-dpmsolver++&quot;</code></td></tr> <tr><td>DPM++ 2S a</td> <td>N/A</td> <td>very similar to  <code>DPMSolverSinglestepScheduler</code></td></tr> <tr><td>DPM++ 2S a Karras</td> <td>N/A</td> <td>very similar to  <code>DPMSolverSinglestepScheduler(use_karras_sigmas=True, ...)</code></td></tr> <tr><td>DPM++ SDE</td> <td><a href="/docs/diffusers/main/en/api/schedulers/singlestep_dpm_solver#diffusers.DPMSolverSinglestepScheduler">DPMSolverSinglestepScheduler</a></td> <td></td></tr> <tr><td>DPM++ SDE Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/singlestep_dpm_solver#diffusers.DPMSolverSinglestepScheduler">DPMSolverSinglestepScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>DPM2</td> <td><a href="/docs/diffusers/main/en/api/schedulers/dpm_discrete#diffusers.KDPM2DiscreteScheduler">KDPM2DiscreteScheduler</a></td> <td></td></tr> <tr><td>DPM2 Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/dpm_discrete#diffusers.KDPM2DiscreteScheduler">KDPM2DiscreteScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>DPM2 a</td> <td><a href="/docs/diffusers/main/en/api/schedulers/dpm_discrete_ancestral#diffusers.KDPM2AncestralDiscreteScheduler">KDPM2AncestralDiscreteScheduler</a></td> <td></td></tr> <tr><td>DPM2 a Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/dpm_discrete_ancestral#diffusers.KDPM2AncestralDiscreteScheduler">KDPM2AncestralDiscreteScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>DPM adaptive</td> <td>N/A</td> <td></td></tr> <tr><td>DPM fast</td> <td>N/A</td> <td></td></tr> <tr><td>Euler</td> <td><a href="/docs/diffusers/main/en/api/schedulers/euler#diffusers.EulerDiscreteScheduler">EulerDiscreteScheduler</a></td> <td></td></tr> <tr><td>Euler a</td> <td><a href="/docs/diffusers/main/en/api/schedulers/euler_ancestral#diffusers.EulerAncestralDiscreteScheduler">EulerAncestralDiscreteScheduler</a></td> <td></td></tr> <tr><td>Heun</td> <td><a href="/docs/diffusers/main/en/api/schedulers/heun#diffusers.HeunDiscreteScheduler">HeunDiscreteScheduler</a></td> <td></td></tr> <tr><td>LMS</td> <td><a href="/docs/diffusers/main/en/api/schedulers/lms_discrete#diffusers.LMSDiscreteScheduler">LMSDiscreteScheduler</a></td> <td></td></tr> <tr><td>LMS Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/lms_discrete#diffusers.LMSDiscreteScheduler">LMSDiscreteScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>N/A</td> <td><a href="/docs/diffusers/main/en/api/schedulers/deis#diffusers.DEISMultistepScheduler">DEISMultistepScheduler</a></td> <td></td></tr> <tr><td>N/A</td> <td><a href="/docs/diffusers/main/en/api/schedulers/unipc#diffusers.UniPCMultistepScheduler">UniPCMultistepScheduler</a></td> <td></td></tr></tbody>',ve,J,et='All schedulers are built from the base <a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.SchedulerMixin">SchedulerMixin</a> class which implements low level utilities shared by all schedulers.',Me,j,xe,u,V,Ee,ee,tt="Base class for all schedulers.",Ae,te,st=`<a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.SchedulerMixin">SchedulerMixin</a> contains common functions shared by all schedulers such as general loading and saving
functionalities.`,Ie,se,rt=`<a href="/docs/diffusers/main/en/api/configuration#diffusers.ConfigMixin">ConfigMixin</a> takes care of storing the configuration attributes (like <code>num_train_timesteps</code>) that are passed to
the scheduler’s <code>__init__</code> function, and the attributes can be accessed by <code>scheduler.config.num_train_timesteps</code>.`,qe,re,it="Class attributes:",Ze,ie,ot=`<li><strong>_compatibles</strong> (<code>List[str]</code>) — A list of scheduler classes that are compatible with the parent scheduler
class. Use <a href="/docs/diffusers/main/en/api/configuration#diffusers.ConfigMixin.from_config">from_config()</a> to load a different compatible scheduler class (should be overridden
by parent class).</li>`,Je,T,z,je,oe,nt="Instantiate a scheduler from a pre-defined JSON configuration file in a local directory or Hub repository.",Ve,k,ze,C,B,Be,ne,dt=`Save a scheduler configuration object to a directory so that it can be reloaded using the
<a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.SchedulerMixin.from_pretrained">from_pretrained()</a> class method.`,$e,W,ye,P,N,We,de,at="Base class for the output of a scheduler’s <code>step</code> function.",Se,F,we,K,lt="<code>KarrasDiffusionSchedulers</code> are a broad generalization of schedulers in 🤗 Diffusers. The schedulers in this class are distinguished at a high level by their noise sampling strategy, the type of network and scaling, the training strategy, and how the loss is weighed.",Te,X,ut='The different schedulers in this class, depending on the ordinary differential equations (ODE) solver type, fall into the above taxonomy and provide a good abstraction for the design of the main schedulers implemented in 🤗 Diffusers. The schedulers in this class are given <a href="https://github.com/huggingface/diffusers/blob/a69754bb879ed55b9b6dc9dd0b3cf4fa4124c765/src/diffusers/schedulers/scheduling_utils.py#L32" rel="nofollow">here</a>.',De,O,Pe,S,R,Ne,ae,ct="A Mixin to push a model, scheduler, or pipeline to the Hugging Face Hub.",Fe,D,G,Ke,le,ft="Upload model, scheduler, or pipeline files to the 🤗 Hugging Face Hub.",Xe,L,He,Q,ke,he,Ce;return $=new pe({props:{title:"Schedulers",local:"schedulers",headingTag:"h1"}}),j=new pe({props:{title:"SchedulerMixin",local:"diffusers.SchedulerMixin",headingTag:"h2"}}),V=new fe({props:{name:"class diffusers.SchedulerMixin",anchor:"diffusers.SchedulerMixin",parameters:[],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_utils.py#L74"}}),z=new fe({props:{name:"from_pretrained",anchor:"diffusers.SchedulerMixin.from_pretrained",parameters:[{name:"pretrained_model_name_or_path",val:": Union = None"},{name:"subfolder",val:": Optional = None"},{name:"return_unused_kwargs",val:" = False"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.SchedulerMixin.from_pretrained.pretrained_model_name_or_path",description:`<strong>pretrained_model_name_or_path</strong> (<code>str</code> or <code>os.PathLike</code>, <em>optional</em>) &#x2014;
Can be either:</p>
<ul>
<li>A string, the <em>model id</em> (for example <code>google/ddpm-celebahq-256</code>) of a pretrained model hosted on
the Hub.</li>
<li>A path to a <em>directory</em> (for example <code>./my_model_directory</code>) containing the scheduler
configuration saved with <a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.SchedulerMixin.save_pretrained">save_pretrained()</a>.</li>
</ul>`,name:"pretrained_model_name_or_path"},{anchor:"diffusers.SchedulerMixin.from_pretrained.subfolder",description:`<strong>subfolder</strong> (<code>str</code>, <em>optional</em>) &#x2014;
The subfolder location of a model file within a larger model repository on the Hub or locally.`,name:"subfolder"},{anchor:"diffusers.SchedulerMixin.from_pretrained.return_unused_kwargs",description:`<strong>return_unused_kwargs</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether kwargs that are not consumed by the Python class should be returned or not.`,name:"return_unused_kwargs"},{anchor:"diffusers.SchedulerMixin.from_pretrained.cache_dir",description:`<strong>cache_dir</strong> (<code>Union[str, os.PathLike]</code>, <em>optional</em>) &#x2014;
Path to a directory where a downloaded pretrained model configuration is cached if the standard cache
is not used.`,name:"cache_dir"},{anchor:"diffusers.SchedulerMixin.from_pretrained.force_download",description:`<strong>force_download</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to force the (re-)download of the model weights and configuration files, overriding the
cached versions if they exist.
resume_download &#x2014;
Deprecated and ignored. All downloads are now resumed by default when possible. Will be removed in v1
of Diffusers.`,name:"force_download"},{anchor:"diffusers.SchedulerMixin.from_pretrained.proxies",description:`<strong>proxies</strong> (<code>Dict[str, str]</code>, <em>optional</em>) &#x2014;
A dictionary of proxy servers to use by protocol or endpoint, for example, <code>{&apos;http&apos;: &apos;foo.bar:3128&apos;, &apos;http://hostname&apos;: &apos;foo.bar:4012&apos;}</code>. The proxies are used on each request.`,name:"proxies"},{anchor:"diffusers.SchedulerMixin.from_pretrained.output_loading_info(bool,",description:`<strong>output_loading_info(<code>bool</code>,</strong> <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to also return a dictionary containing missing keys, unexpected keys and error messages.`,name:"output_loading_info(bool,"},{anchor:"diffusers.SchedulerMixin.from_pretrained.local_files_only(bool,",description:`<strong>local_files_only(<code>bool</code>,</strong> <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether to only load local model weights and configuration files or not. If set to <code>True</code>, the model
won&#x2019;t be downloaded from the Hub.`,name:"local_files_only(bool,"},{anchor:"diffusers.SchedulerMixin.from_pretrained.token",description:`<strong>token</strong> (<code>str</code> or <em>bool</em>, <em>optional</em>) &#x2014;
The token to use as HTTP bearer authorization for remote files. If <code>True</code>, the token generated from
<code>diffusers-cli login</code> (stored in <code>~/.huggingface</code>) is used.`,name:"token"},{anchor:"diffusers.SchedulerMixin.from_pretrained.revision",description:`<strong>revision</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;main&quot;</code>) &#x2014;
The specific model version to use. It can be a branch name, a tag name, a commit id, or any identifier
allowed by Git.`,name:"revision"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_utils.py#L94"}}),k=new vt({props:{$$slots:{default:[yt]},$$scope:{ctx:Y}}}),B=new fe({props:{name:"save_pretrained",anchor:"diffusers.SchedulerMixin.save_pretrained",parameters:[{name:"save_directory",val:": Union"},{name:"push_to_hub",val:": bool = False"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.SchedulerMixin.save_pretrained.save_directory",description:`<strong>save_directory</strong> (<code>str</code> or <code>os.PathLike</code>) &#x2014;
Directory where the configuration JSON file will be saved (will be created if it does not exist).`,name:"save_directory"},{anchor:"diffusers.SchedulerMixin.save_pretrained.push_to_hub",description:`<strong>push_to_hub</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to push your model to the Hugging Face Hub after saving it. You can specify the
repository you want to push to with <code>repo_id</code> (will default to the name of <code>save_directory</code> in your
namespace).`,name:"push_to_hub"},{anchor:"diffusers.SchedulerMixin.save_pretrained.kwargs",description:`<strong>kwargs</strong> (<code>Dict[str, Any]</code>, <em>optional</em>) &#x2014;
Additional keyword arguments passed along to the <a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> method.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_utils.py#L161"}}),W=new pe({props:{title:"SchedulerOutput",local:"diffusers.schedulers.scheduling_utils.SchedulerOutput",headingTag:"h2"}}),N=new fe({props:{name:"class diffusers.schedulers.scheduling_utils.SchedulerOutput",anchor:"diffusers.schedulers.scheduling_utils.SchedulerOutput",parameters:[{name:"prev_sample",val:": Tensor"}],parametersDescription:[{anchor:"diffusers.schedulers.scheduling_utils.SchedulerOutput.prev_sample",description:`<strong>prev_sample</strong> (<code>torch.Tensor</code> of shape <code>(batch_size, num_channels, height, width)</code> for images) &#x2014;
Computed sample <code>(x_{t-1})</code> of previous timestep. <code>prev_sample</code> should be used as next model input in the
denoising loop.`,name:"prev_sample"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_utils.py#L60"}}),F=new pe({props:{title:"KarrasDiffusionSchedulers",local:"karrasdiffusionschedulers",headingTag:"h2"}}),O=new pe({props:{title:"PushToHubMixin",local:"diffusers.utils.PushToHubMixin",headingTag:"h2"}}),R=new fe({props:{name:"class diffusers.utils.PushToHubMixin",anchor:"diffusers.utils.PushToHubMixin",parameters:[],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/hub_utils.py#L502"}}),G=new fe({props:{name:"push_to_hub",anchor:"diffusers.utils.PushToHubMixin.push_to_hub",parameters:[{name:"repo_id",val:": str"},{name:"commit_message",val:": Optional = None"},{name:"private",val:": Optional = None"},{name:"token",val:": Optional = None"},{name:"create_pr",val:": bool = False"},{name:"safe_serialization",val:": bool = True"},{name:"variant",val:": Optional = None"}],parametersDescription:[{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.repo_id",description:`<strong>repo_id</strong> (<code>str</code>) &#x2014;
The name of the repository you want to push your model, scheduler, or pipeline files to. It should
contain your organization name when pushing to an organization. <code>repo_id</code> can also be a path to a local
directory.`,name:"repo_id"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.commit_message",description:`<strong>commit_message</strong> (<code>str</code>, <em>optional</em>) &#x2014;
Message to commit while pushing. Default to <code>&quot;Upload {object}&quot;</code>.`,name:"commit_message"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.private",description:`<strong>private</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not the repository created should be private.`,name:"private"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.token",description:`<strong>token</strong> (<code>str</code>, <em>optional</em>) &#x2014;
The token to use as HTTP bearer authorization for remote files. The token generated when running
<code>huggingface-cli login</code> (stored in <code>~/.huggingface</code>).`,name:"token"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.create_pr",description:`<strong>create_pr</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to create a PR with the uploaded files or directly commit.`,name:"create_pr"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.safe_serialization",description:`<strong>safe_serialization</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to convert the model weights to the <code>safetensors</code> format.`,name:"safe_serialization"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.variant",description:`<strong>variant</strong> (<code>str</code>, <em>optional</em>) &#x2014;
If specified, weights are saved in the format <code>pytorch_model.&lt;variant&gt;.bin</code>.`,name:"variant"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/hub_utils.py#L531"}}),L=new xt({props:{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.example",$$slots:{default:[St]},$$scope:{ctx:Y}}}),Q=new $t({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/schedulers/overview.md"}}),{c(){l=d("meta"),w=r(),p=d("p"),x=r(),m($.$$.fragment),f=r(),y=d("p"),y.innerHTML=Oe,me=r(),A=d("p"),A.textContent=Re,ge=r(),I=d("ul"),I.innerHTML=Ge,_e=r(),q=d("p"),q.innerHTML=Qe,be=r(),Z=d("table"),Z.innerHTML=Ye,ve=r(),J=d("p"),J.innerHTML=et,Me=r(),m(j.$$.fragment),xe=r(),u=d("div"),m(V.$$.fragment),Ee=r(),ee=d("p"),ee.textContent=tt,Ae=r(),te=d("p"),te.innerHTML=st,Ie=r(),se=d("p"),se.innerHTML=rt,qe=r(),re=d("p"),re.textContent=it,Ze=r(),ie=d("ul"),ie.innerHTML=ot,Je=r(),T=d("div"),m(z.$$.fragment),je=r(),oe=d("p"),oe.textContent=nt,Ve=r(),m(k.$$.fragment),ze=r(),C=d("div"),m(B.$$.fragment),Be=r(),ne=d("p"),ne.innerHTML=dt,$e=r(),m(W.$$.fragment),ye=r(),P=d("div"),m(N.$$.fragment),We=r(),de=d("p"),de.innerHTML=at,Se=r(),m(F.$$.fragment),we=r(),K=d("p"),K.innerHTML=lt,Te=r(),X=d("p"),X.innerHTML=ut,De=r(),m(O.$$.fragment),Pe=r(),S=d("div"),m(R.$$.fragment),Ne=r(),ae=d("p"),ae.textContent=ct,Fe=r(),D=d("div"),m(G.$$.fragment),Ke=r(),le=d("p"),le.textContent=ft,Xe=r(),m(L.$$.fragment),He=r(),m(Q.$$.fragment),ke=r(),he=d("p"),this.h()},l(e){const t=bt("svelte-u9bgzb",document.head);l=a(t,"META",{name:!0,content:!0}),t.forEach(s),w=i(e),p=a(e,"P",{}),U(p).forEach(s),x=i(e),g($.$$.fragment,e),f=i(e),y=a(e,"P",{"data-svelte-h":!0}),c(y)!=="svelte-1lgybvx"&&(y.innerHTML=Oe),me=i(e),A=a(e,"P",{"data-svelte-h":!0}),c(A)!=="svelte-9ndbal"&&(A.textContent=Re),ge=i(e),I=a(e,"UL",{"data-svelte-h":!0}),c(I)!=="svelte-1n3qq9y"&&(I.innerHTML=Ge),_e=i(e),q=a(e,"P",{"data-svelte-h":!0}),c(q)!=="svelte-1ph3rhz"&&(q.innerHTML=Qe),be=i(e),Z=a(e,"TABLE",{"data-svelte-h":!0}),c(Z)!=="svelte-j0ll4v"&&(Z.innerHTML=Ye),ve=i(e),J=a(e,"P",{"data-svelte-h":!0}),c(J)!=="svelte-ta0lmu"&&(J.innerHTML=et),Me=i(e),g(j.$$.fragment,e),xe=i(e),u=a(e,"DIV",{class:!0});var h=U(u);g(V.$$.fragment,h),Ee=i(h),ee=a(h,"P",{"data-svelte-h":!0}),c(ee)!=="svelte-vehnxn"&&(ee.textContent=tt),Ae=i(h),te=a(h,"P",{"data-svelte-h":!0}),c(te)!=="svelte-1r3aj0s"&&(te.innerHTML=st),Ie=i(h),se=a(h,"P",{"data-svelte-h":!0}),c(se)!=="svelte-zbfzbj"&&(se.innerHTML=rt),qe=i(h),re=a(h,"P",{"data-svelte-h":!0}),c(re)!=="svelte-wz8va1"&&(re.textContent=it),Ze=i(h),ie=a(h,"UL",{"data-svelte-h":!0}),c(ie)!=="svelte-csf69p"&&(ie.innerHTML=ot),Je=i(h),T=a(h,"DIV",{class:!0});var H=U(T);g(z.$$.fragment,H),je=i(H),oe=a(H,"P",{"data-svelte-h":!0}),c(oe)!=="svelte-ekqb0i"&&(oe.textContent=nt),Ve=i(H),g(k.$$.fragment,H),H.forEach(s),ze=i(h),C=a(h,"DIV",{class:!0});var Le=U(C);g(B.$$.fragment,Le),Be=i(Le),ne=a(Le,"P",{"data-svelte-h":!0}),c(ne)!=="svelte-qowt52"&&(ne.innerHTML=dt),Le.forEach(s),h.forEach(s),$e=i(e),g(W.$$.fragment,e),ye=i(e),P=a(e,"DIV",{class:!0});var Ue=U(P);g(N.$$.fragment,Ue),We=i(Ue),de=a(Ue,"P",{"data-svelte-h":!0}),c(de)!=="svelte-6ojmkw"&&(de.innerHTML=at),Ue.forEach(s),Se=i(e),g(F.$$.fragment,e),we=i(e),K=a(e,"P",{"data-svelte-h":!0}),c(K)!=="svelte-1hq6rpu"&&(K.innerHTML=lt),Te=i(e),X=a(e,"P",{"data-svelte-h":!0}),c(X)!=="svelte-1lt2uhz"&&(X.innerHTML=ut),De=i(e),g(O.$$.fragment,e),Pe=i(e),S=a(e,"DIV",{class:!0});var ue=U(S);g(R.$$.fragment,ue),Ne=i(ue),ae=a(ue,"P",{"data-svelte-h":!0}),c(ae)!=="svelte-7y8zei"&&(ae.textContent=ct),Fe=i(ue),D=a(ue,"DIV",{class:!0});var ce=U(D);g(G.$$.fragment,ce),Ke=i(ce),le=a(ce,"P",{"data-svelte-h":!0}),c(le)!=="svelte-5nfhmh"&&(le.textContent=ft),Xe=i(ce),g(L.$$.fragment,ce),ce.forEach(s),ue.forEach(s),He=i(e),g(Q.$$.fragment,e),ke=i(e),he=a(e,"P",{}),U(he).forEach(s),this.h()},h(){E(l,"name","hf:doc:metadata"),E(l,"content",Tt),E(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),E(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),E(u,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),E(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),E(D,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),E(S,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,t){n(document.head,l),o(e,w,t),o(e,p,t),o(e,x,t),_($,e,t),o(e,f,t),o(e,y,t),o(e,me,t),o(e,A,t),o(e,ge,t),o(e,I,t),o(e,_e,t),o(e,q,t),o(e,be,t),o(e,Z,t),o(e,ve,t),o(e,J,t),o(e,Me,t),_(j,e,t),o(e,xe,t),o(e,u,t),_(V,u,null),n(u,Ee),n(u,ee),n(u,Ae),n(u,te),n(u,Ie),n(u,se),n(u,qe),n(u,re),n(u,Ze),n(u,ie),n(u,Je),n(u,T),_(z,T,null),n(T,je),n(T,oe),n(T,Ve),_(k,T,null),n(u,ze),n(u,C),_(B,C,null),n(C,Be),n(C,ne),o(e,$e,t),_(W,e,t),o(e,ye,t),o(e,P,t),_(N,P,null),n(P,We),n(P,de),o(e,Se,t),_(F,e,t),o(e,we,t),o(e,K,t),o(e,Te,t),o(e,X,t),o(e,De,t),_(O,e,t),o(e,Pe,t),o(e,S,t),_(R,S,null),n(S,Ne),n(S,ae),n(S,Fe),n(S,D),_(G,D,null),n(D,Ke),n(D,le),n(D,Xe),_(L,D,null),o(e,He,t),_(Q,e,t),o(e,ke,t),o(e,he,t),Ce=!0},p(e,[t]){const h={};t&2&&(h.$$scope={dirty:t,ctx:e}),k.$set(h);const H={};t&2&&(H.$$scope={dirty:t,ctx:e}),L.$set(H)},i(e){Ce||(b($.$$.fragment,e),b(j.$$.fragment,e),b(V.$$.fragment,e),b(z.$$.fragment,e),b(k.$$.fragment,e),b(B.$$.fragment,e),b(W.$$.fragment,e),b(N.$$.fragment,e),b(F.$$.fragment,e),b(O.$$.fragment,e),b(R.$$.fragment,e),b(G.$$.fragment,e),b(L.$$.fragment,e),b(Q.$$.fragment,e),Ce=!0)},o(e){v($.$$.fragment,e),v(j.$$.fragment,e),v(V.$$.fragment,e),v(z.$$.fragment,e),v(k.$$.fragment,e),v(B.$$.fragment,e),v(W.$$.fragment,e),v(N.$$.fragment,e),v(F.$$.fragment,e),v(O.$$.fragment,e),v(R.$$.fragment,e),v(G.$$.fragment,e),v(L.$$.fragment,e),v(Q.$$.fragment,e),Ce=!1},d(e){e&&(s(w),s(p),s(x),s(f),s(y),s(me),s(A),s(ge),s(I),s(_e),s(q),s(be),s(Z),s(ve),s(J),s(Me),s(xe),s(u),s($e),s(ye),s(P),s(Se),s(we),s(K),s(Te),s(X),s(De),s(Pe),s(S),s(He),s(ke),s(he)),s(l),M($,e),M(j,e),M(V),M(z),M(k),M(B),M(W,e),M(N),M(F,e),M(O,e),M(R),M(G),M(L),M(Q,e)}}}const Tt='{"title":"Schedulers","local":"schedulers","sections":[{"title":"SchedulerMixin","local":"diffusers.SchedulerMixin","sections":[],"depth":2},{"title":"SchedulerOutput","local":"diffusers.schedulers.scheduling_utils.SchedulerOutput","sections":[],"depth":2},{"title":"KarrasDiffusionSchedulers","local":"karrasdiffusionschedulers","sections":[],"depth":2},{"title":"PushToHubMixin","local":"diffusers.utils.PushToHubMixin","sections":[],"depth":2}],"depth":1}';function Dt(Y){return mt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class At extends gt{constructor(l){super(),_t(this,l,Dt,wt,pt,{})}}export{At as component};
