
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__SCREAMING_SNAKE_CASE			:   Union[str, Any]         =     {'configuration_nat': ['NAT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'NatConfig']}


try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __SCREAMING_SNAKE_CASE			:   Optional[int]         =     [
      'NAT_PRETRAINED_MODEL_ARCHIVE_LIST',
      'NatForImageClassification',
      'NatModel',
      'NatPreTrainedModel',
      'NatBackbone',
  ]

if TYPE_CHECKING:
  from .configuration_nat import NAT_PRETRAINED_CONFIG_ARCHIVE_MAP, NatConfig

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_nat import (
        NAT_PRETRAINED_MODEL_ARCHIVE_LIST,
        NatBackbone,
        NatForImageClassification,
        NatModel,
        NatPreTrainedModel,
    )

else:
  import sys

  __SCREAMING_SNAKE_CASE			:   Optional[int]         =     _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)


from ..utils import requires_backends


__SCREAMING_SNAKE_CASE			:   Union[str, Any]         =     None


class 		__magic_name__   :





		def __init__(							self    :	Optional[int]						,  *lowerCamelCase__    :	List[str]						,  **lowerCamelCase__    :	Optional[Any]				):
							requires_backends(self						,  ['''detectron2''']				)





		@classmethod
		def       _A							(							cls    :	Dict						,  *lowerCamelCase__    :	List[str]						,  **lowerCamelCase__    :	Optional[Any]				):
							requires_backends(cls						,  ['''detectron2''']				)
