
"""simple docstring"""


import unittest

from diffusers.pipelines.pipeline_utils import is_safetensors_compatible



class   __a  (      unittest.TestCase	):






       def 	_SCREAMING_SNAKE_CASE       (  self :							List[Any]			)->  Union[str, Any]:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "safety_checker/pytorch_model.bin",
                  "safety_checker/model.safetensors",
                  "vae/diffusion_pytorch_model.bin",
                  "vae/diffusion_pytorch_model.safetensors",
                  "text_encoder/pytorch_model.bin",
                  "text_encoder/model.safetensors",
                  "unet/diffusion_pytorch_model.bin",
                  "unet/diffusion_pytorch_model.safetensors",
              ]
              self.assertTrue(is_safetensors_compatible(UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							Any			)->  List[str]:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "unet/diffusion_pytorch_model.bin",
                  "unet/diffusion_pytorch_model.safetensors",
              ]
              self.assertTrue(is_safetensors_compatible(UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							Union[str, Any]			)->  Optional[int]:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "safety_checker/pytorch_model.bin",
                  "safety_checker/model.safetensors",
                  "vae/diffusion_pytorch_model.bin",
                  "vae/diffusion_pytorch_model.safetensors",
                  "text_encoder/pytorch_model.bin",
                  "text_encoder/model.safetensors",
                  "unet/diffusion_pytorch_model.bin",
                  # Removed: 'unet/diffusion_pytorch_model.safetensors',
              ]
              self.assertFalse(is_safetensors_compatible(UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							Any			)->  List[Any]:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "text_encoder/pytorch_model.bin",
                  "text_encoder/model.safetensors",
              ]
              self.assertTrue(is_safetensors_compatible(UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							Tuple			)->  int:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "safety_checker/pytorch_model.bin",
                  "safety_checker/model.safetensors",
                  "vae/diffusion_pytorch_model.bin",
                  "vae/diffusion_pytorch_model.safetensors",
                  "text_encoder/pytorch_model.bin",
                  # Removed: 'text_encoder/model.safetensors',
                  "unet/diffusion_pytorch_model.bin",
                  "unet/diffusion_pytorch_model.safetensors",
              ]
              self.assertFalse(is_safetensors_compatible(UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							str			)->  Optional[int]:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "safety_checker/pytorch_model.fp16.bin",
                  "safety_checker/model.fp16.safetensors",
                  "vae/diffusion_pytorch_model.fp16.bin",
                  "vae/diffusion_pytorch_model.fp16.safetensors",
                  "text_encoder/pytorch_model.fp16.bin",
                  "text_encoder/model.fp16.safetensors",
                  "unet/diffusion_pytorch_model.fp16.bin",
                  "unet/diffusion_pytorch_model.fp16.safetensors",
              ]
              UpperCamelCase					 =		"fp16"
              self.assertTrue(is_safetensors_compatible(UpperCAmelCase_       ,      variant=UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							Any			)->  Dict:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "unet/diffusion_pytorch_model.fp16.bin",
                  "unet/diffusion_pytorch_model.fp16.safetensors",
              ]
              UpperCamelCase					 =		"fp16"
              self.assertTrue(is_safetensors_compatible(UpperCAmelCase_       ,      variant=UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							Optional[int]			)->  List[Any]:







              """simple docstring"""
              # pass variant but use the non-variant filenames
              UpperCamelCase					 =		[
                  "unet/diffusion_pytorch_model.bin",
                  "unet/diffusion_pytorch_model.safetensors",
              ]
              UpperCamelCase					 =		"fp16"
              self.assertTrue(is_safetensors_compatible(UpperCAmelCase_       ,      variant=UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							Optional[Any]			)->  List[str]:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "safety_checker/pytorch_model.fp16.bin",
                  "safety_checker/model.fp16.safetensors",
                  "vae/diffusion_pytorch_model.fp16.bin",
                  "vae/diffusion_pytorch_model.fp16.safetensors",
                  "text_encoder/pytorch_model.fp16.bin",
                  "text_encoder/model.fp16.safetensors",
                  "unet/diffusion_pytorch_model.fp16.bin",
                  # Removed: 'unet/diffusion_pytorch_model.fp16.safetensors',
              ]
              UpperCamelCase					 =		"fp16"
              self.assertFalse(is_safetensors_compatible(UpperCAmelCase_       ,      variant=UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							List[Any]			)->  str:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "text_encoder/pytorch_model.fp16.bin",
                  "text_encoder/model.fp16.safetensors",
              ]
              UpperCamelCase					 =		"fp16"
              self.assertTrue(is_safetensors_compatible(UpperCAmelCase_       ,      variant=UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							str			)->  Optional[int]:







              """simple docstring"""
              # pass variant but use the non-variant filenames
              UpperCamelCase					 =		[
                  "text_encoder/pytorch_model.bin",
                  "text_encoder/model.safetensors",
              ]
              UpperCamelCase					 =		"fp16"
              self.assertTrue(is_safetensors_compatible(UpperCAmelCase_       ,      variant=UpperCAmelCase_			)			)






       def 	_SCREAMING_SNAKE_CASE       (  self :							Tuple			)->  int:







              """simple docstring"""
              UpperCamelCase					 =		[
                  "safety_checker/pytorch_model.fp16.bin",
                  "safety_checker/model.fp16.safetensors",
                  "vae/diffusion_pytorch_model.fp16.bin",
                  "vae/diffusion_pytorch_model.fp16.safetensors",
                  "text_encoder/pytorch_model.fp16.bin",
                  # 'text_encoder/model.fp16.safetensors',
                  "unet/diffusion_pytorch_model.fp16.bin",
                  "unet/diffusion_pytorch_model.fp16.safetensors",
              ]
              UpperCamelCase					 =		"fp16"
              self.assertFalse(is_safetensors_compatible(UpperCAmelCase_       ,      variant=UpperCAmelCase_			)			)







"""simple docstring"""


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

import numpy as np
import PIL
from PIL import Image

from ...utils import (
    BaseOutput,
    OptionalDependencyNotAvailable,
    is_flax_available,
    is_k_diffusion_available,
    is_k_diffusion_version,
    is_onnx_available,
    is_torch_available,
    is_transformers_available,
    is_transformers_version,
)



@dataclass
class   __a  (      _lowerCAmelCase	):
       UpperCamelCase_		:					Union[List[PIL.Image.Image], np.ndarray]
       UpperCamelCase_		:					Optional[List[bool]]


try:
      if not (is_transformers_available() and is_torch_available()):
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
      from .pipeline_cycle_diffusion import CycleDiffusionPipeline
      from .pipeline_stable_diffusion import StableDiffusionPipeline
      from .pipeline_stable_diffusion_attend_and_excite import StableDiffusionAttendAndExcitePipeline
      from .pipeline_stable_diffusion_imgaimg import StableDiffusionImgaImgPipeline
      from .pipeline_stable_diffusion_inpaint import StableDiffusionInpaintPipeline
      from .pipeline_stable_diffusion_inpaint_legacy import StableDiffusionInpaintPipelineLegacy
      from .pipeline_stable_diffusion_instruct_pixapix import StableDiffusionInstructPixaPixPipeline
      from .pipeline_stable_diffusion_latent_upscale import StableDiffusionLatentUpscalePipeline
      from .pipeline_stable_diffusion_ldmad import StableDiffusionLDMaDPipeline
      from .pipeline_stable_diffusion_model_editing import StableDiffusionModelEditingPipeline
      from .pipeline_stable_diffusion_panorama import StableDiffusionPanoramaPipeline
      from .pipeline_stable_diffusion_paradigms import StableDiffusionParadigmsPipeline
      from .pipeline_stable_diffusion_sag import StableDiffusionSAGPipeline
      from .pipeline_stable_diffusion_upscale import StableDiffusionUpscalePipeline
      from .pipeline_stable_unclip import StableUnCLIPPipeline
      from .pipeline_stable_unclip_imgaimg import StableUnCLIPImgaImgPipeline
      from .safety_checker import StableDiffusionSafetyChecker
      from .stable_unclip_image_normalizer import StableUnCLIPImageNormalizer

try:
      if not (is_transformers_available() and is_torch_available() and is_transformers_version(""">=""", """4.25.0""")):
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      from ...utils.dummy_torch_and_transformers_objects import StableDiffusionImageVariationPipeline
else:
      from .pipeline_stable_diffusion_image_variation import StableDiffusionImageVariationPipeline


try:
      if not (is_transformers_available() and is_torch_available() and is_transformers_version(""">=""", """4.26.0""")):
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      from ...utils.dummy_torch_and_transformers_objects import (
          StableDiffusionDepthaImgPipeline,
          StableDiffusionDiffEditPipeline,
          StableDiffusionPixaPixZeroPipeline,
      )
else:
      from .pipeline_stable_diffusion_depthaimg import StableDiffusionDepthaImgPipeline
      from .pipeline_stable_diffusion_diffedit import StableDiffusionDiffEditPipeline
      from .pipeline_stable_diffusion_pixapix_zero import StableDiffusionPixaPixZeroPipeline


try:
      if not (
          is_torch_available()
          and is_transformers_available()
          and is_k_diffusion_available()
          and is_k_diffusion_version(""">=""", """0.0.12""")
      ):
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      from ...utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
else:
      from .pipeline_stable_diffusion_k_diffusion import StableDiffusionKDiffusionPipeline

try:
      if not (is_transformers_available() and is_onnx_available()):
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      from ...utils.dummy_onnx_objects import *  # noqa F403
else:
      from .pipeline_onnx_stable_diffusion import OnnxStableDiffusionPipeline, StableDiffusionOnnxPipeline
      from .pipeline_onnx_stable_diffusion_imgaimg import OnnxStableDiffusionImgaImgPipeline
      from .pipeline_onnx_stable_diffusion_inpaint import OnnxStableDiffusionInpaintPipeline
      from .pipeline_onnx_stable_diffusion_inpaint_legacy import OnnxStableDiffusionInpaintPipelineLegacy
      from .pipeline_onnx_stable_diffusion_upscale import OnnxStableDiffusionUpscalePipeline

if is_transformers_available() and is_flax_available():
      import flax



      @flax.struct.dataclass
      class   __a  (      _lowerCAmelCase	):
             UpperCamelCase_		:					np.ndarray
             UpperCamelCase_		:					List[bool]





      from ...schedulers.scheduling_pndm_flax import PNDMSchedulerState
      from .pipeline_flax_stable_diffusion import FlaxStableDiffusionPipeline
      from .pipeline_flax_stable_diffusion_imgaimg import FlaxStableDiffusionImgaImgPipeline
      from .pipeline_flax_stable_diffusion_inpaint import FlaxStableDiffusionInpaintPipeline
      from .safety_checker_flax import FlaxStableDiffusionSafetyChecker





