

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


_UpperCAmelCase	:     Dict		       = {"""configuration_deit""": ["""DEIT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """DeiTConfig""", """DeiTOnnxConfig"""]}

try:
					if not is_vision_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase	:     int		       = ["""DeiTFeatureExtractor"""]
					_UpperCAmelCase	:     Any		       = ["""DeiTImageProcessor"""]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase	:     List[str]		       = [
					    """DEIT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """DeiTForImageClassification""",
					    """DeiTForImageClassificationWithTeacher""",
					    """DeiTForMaskedImageModeling""",
					    """DeiTModel""",
					    """DeiTPreTrainedModel""",
					]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase	:     Any		       = [
					    """TF_DEIT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """TFDeiTForImageClassification""",
					    """TFDeiTForImageClassificationWithTeacher""",
					    """TFDeiTForMaskedImageModeling""",
					    """TFDeiTModel""",
					    """TFDeiTPreTrainedModel""",
					]


if TYPE_CHECKING:
					from .configuration_deit import DEIT_PRETRAINED_CONFIG_ARCHIVE_MAP, DeiTConfig, DeiTOnnxConfig

					try:
										if not is_vision_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .feature_extraction_deit import DeiTFeatureExtractor
										from .image_processing_deit import DeiTImageProcessor

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_deit import (
										    DEIT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    DeiTForImageClassification,
										    DeiTForImageClassificationWithTeacher,
										    DeiTForMaskedImageModeling,
										    DeiTModel,
										    DeiTPreTrainedModel,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_deit import (
										    TF_DEIT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFDeiTForImageClassification,
										    TFDeiTForImageClassificationWithTeacher,
										    TFDeiTForMaskedImageModeling,
										    TFDeiTModel,
										    TFDeiTPreTrainedModel,
										)


else:
					import sys

					_UpperCAmelCase	:     List[Any]		       = _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)







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

import numpy as np
import PIL

from ...utils import BaseOutput, OptionalDependencyNotAvailable, is_torch_available, is_transformers_available
from .timesteps import (
    fastaa_timesteps,
    smartaa_timesteps,
    smartaa_timesteps,
    smartaaa_timesteps,
    smartaaa_timesteps,
    superaa_timesteps,
    superaa_timesteps,
    superaaa_timesteps,
)







@dataclass
class 				lowercase       ( lowercase_    ):
				__SCREAMING_SNAKE_CASE      :				Union[List[PIL.Image.Image], np.ndarray]
				__SCREAMING_SNAKE_CASE      :				Optional[List[bool]]
				__SCREAMING_SNAKE_CASE      :				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_if import IFPipeline
					from .pipeline_if_imgaimg import IFImgaImgPipeline
					from .pipeline_if_imgaimg_superresolution import IFImgaImgSuperResolutionPipeline
					from .pipeline_if_inpainting import IFInpaintingPipeline
					from .pipeline_if_inpainting_superresolution import IFInpaintingSuperResolutionPipeline
					from .pipeline_if_superresolution import IFSuperResolutionPipeline
					from .safety_checker import IFSafetyChecker
					from .watermark import IFWatermarker




