


from typing import TYPE_CHECKING

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


_lowercase				     = {'configuration_deit': ['DEIT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'DeiTConfig', 'DeiTOnnxConfig']}

try:
      if not is_vision_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      _lowercase				     = ['DeiTFeatureExtractor']
      _lowercase				     = ['DeiTImageProcessor']

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      _lowercase				     = [
          'DEIT_PRETRAINED_MODEL_ARCHIVE_LIST',
          'DeiTForImageClassification',
          'DeiTForImageClassificationWithTeacher',
          'DeiTForMaskedImageModeling',
          'DeiTModel',
          'DeiTPreTrainedModel',
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      _lowercase				     = [
          '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

      _lowercase				     = _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)










from __future__ import annotations





def 						_lowerCAmelCase							(     _lowerCAmelCase			)    ->						list[int]:


						'''simple docstring'''






						__snake_case				=		2
						__snake_case				=		[]
						while i * i <= n:
												if n % i:
																		i += 1
												else:
																		n //= i
																		factors.append(_lowerCAmelCase			)
						if n > 1:
												factors.append(_lowerCAmelCase			)
						return factors


if __name__ == "__main__":
	import doctest

	doctest.testmod()





