




"""simple docstring"""

from dataclasses import dataclass
from enum import Enum
from typing import List, Optional, Union

import numpy as np
import PIL
from PIL import Image

from ...utils import BaseOutput, is_torch_available, is_transformers_available
@dataclass
class 			lowerCamelCase__    (  UpperCamelCase__			):
			a__ :      Any								=     {
			    """sld_warmup_steps""": 15,
			    """sld_guidance_scale""": 20,
			    """sld_threshold""": 0.0,
			    """sld_momentum_scale""": 0.0,
			    """sld_mom_beta""": 0.0,
			}
			a__ :      Dict								=     {
			    """sld_warmup_steps""": 10,
			    """sld_guidance_scale""": 10_00,
			    """sld_threshold""": 0.01,
			    """sld_momentum_scale""": 0.3,
			    """sld_mom_beta""": 0.4,
			}
			a__ :      Dict								=     {
			    """sld_warmup_steps""": 7,
			    """sld_guidance_scale""": 20_00,
			    """sld_threshold""": 0.025,
			    """sld_momentum_scale""": 0.5,
			    """sld_mom_beta""": 0.7,
			}
			a__ :      Union[str, Any]								=     {
			    """sld_warmup_steps""": 0,
			    """sld_guidance_scale""": 50_00,
			    """sld_threshold""": 1.0,
			    """sld_momentum_scale""": 0.5,
			    """sld_mom_beta""": 0.7,
			}







@dataclass
class 			lowerCamelCase__    (  UpperCamelCase__			):
			a__ :      Union[List[PIL.Image.Image], np.ndarray]
			a__ :      Optional[List[bool]]
			a__ :      Optional[Union[List[PIL.Image.Image], np.ndarray]]
			a__ :      Optional[str]


if is_transformers_available() and is_torch_available():
							from .pipeline_stable_diffusion_safe import StableDiffusionPipelineSafe
							from .safety_checker import SafeStableDiffusionSafetyChecker







"""simple docstring"""

def   UpperCamelCase__     (		lowercase__  :     int   ):
		if not isinstance(lowercase__       ,     lowercase__   ):
				snake_case		:						Optional[Any]								=				F'''Input value of [number={number}] must be an integer'''
				raise TypeError(lowercase__   )
		if number < 0 or number % 2 == 1:
				return False
		snake_case		:						str								=				int(number**0.5   )
		return number == number_sqrt * (number_sqrt + 1)


if __name__ == "__main__":
							import doctest

							doctest.testmod()

