




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


lowerCamelCase    :		str			   =       {
    "configuration_bridgetower": [
        "BRIDGETOWER_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "BridgeTowerConfig",
        "BridgeTowerTextConfig",
        "BridgeTowerVisionConfig",
    ],
    "processing_bridgetower": ["BridgeTowerProcessor"],
}

try:
 if not is_vision_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase    :		Tuple			   =       ["BridgeTowerImageProcessor"]

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase    :		int			   =       [
     "BRIDGETOWER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "BridgeTowerForContrastiveLearning",
     "BridgeTowerForImageAndTextRetrieval",
     "BridgeTowerForMaskedLM",
     "BridgeTowerModel",
     "BridgeTowerPreTrainedModel",
 ]


if TYPE_CHECKING:
 from .configuration_bridgetower import (
     BRIDGETOWER_PRETRAINED_CONFIG_ARCHIVE_MAP,
     BridgeTowerConfig,
     BridgeTowerTextConfig,
     BridgeTowerVisionConfig,
 )
 from .processing_bridgetower import BridgeTowerProcessor

 try:
  if not is_vision_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .image_processing_bridgetower import BridgeTowerImageProcessor

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_bridgetower import (
      BRIDGETOWER_PRETRAINED_MODEL_ARCHIVE_LIST,
      BridgeTowerForContrastiveLearning,
      BridgeTowerForImageAndTextRetrieval,
      BridgeTowerForMaskedLM,
      BridgeTowerModel,
      BridgeTowerPreTrainedModel,
  )


else:
 import sys

 lowerCamelCase    :		Dict			   =       _LazyModule(__name__, globals()["__file__"], _import_structure)









from ..utils import is_flax_available, is_torch_available


if is_torch_available():
 from .autoencoder_kl import AutoencoderKL
 from .controlnet import ControlNetModel
 from .dual_transformer_ad import DualTransformeraDModel
 from .modeling_utils import ModelMixin
 from .prior_transformer import PriorTransformer
 from .ta_film_transformer import TaFilmDecoder
 from .transformer_ad import TransformeraDModel
 from .unet_ad import UNetaDModel
 from .unet_ad import UNetaDModel
 from .unet_ad_condition import UNetaDConditionModel
 from .unet_ad_condition import UNetaDConditionModel
 from .vq_model import VQModel

if is_flax_available():
 from .controlnet_flax import FlaxControlNetModel
 from .unet_ad_condition_flax import FlaxUNetaDConditionModel
 from .vae_flax import FlaxAutoencoderKL



