'''simple docstring'''

from typing import TYPE_CHECKING

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


lowerCAmelCase_			:			List[Any]    	=   {"""configuration_vilt""": ["""VILT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """ViltConfig"""]}

try:
       if not is_vision_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCAmelCase_			:			List[str]    	=   ["""ViltFeatureExtractor"""]
       lowerCAmelCase_			:			Optional[int]    	=   ["""ViltImageProcessor"""]
       lowerCAmelCase_			:			List[Any]    	=   ["""ViltProcessor"""]

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCAmelCase_			:			Optional[Any]    	=   [
           """VILT_PRETRAINED_MODEL_ARCHIVE_LIST""",
           """ViltForImageAndTextRetrieval""",
           """ViltForImagesAndTextClassification""",
           """ViltForTokenClassification""",
           """ViltForMaskedLM""",
           """ViltForQuestionAnswering""",
           """ViltLayer""",
           """ViltModel""",
           """ViltPreTrainedModel""",
       ]


if TYPE_CHECKING:
       from .configuration_vilt import VILT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViltConfig

       try:
              if not is_vision_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .feature_extraction_vilt import ViltFeatureExtractor
              from .image_processing_vilt import ViltImageProcessor
              from .processing_vilt import ViltProcessor

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_vilt import (
                  VILT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  ViltForImageAndTextRetrieval,
                  ViltForImagesAndTextClassification,
                  ViltForMaskedLM,
                  ViltForQuestionAnswering,
                  ViltForTokenClassification,
                  ViltLayer,
                  ViltModel,
                  ViltPreTrainedModel,
              )


else:
       import sys

       lowerCAmelCase_			:			List[str]    	=   _LazyModule(__name__, globals()["__file__"], _import_structure)













def 				_lowerCAmelCase			(	_a :       str      )						->      int:
     lowerCAmelCase_       :							Dict			 =		0
     for plain_chr in plain_text:
          lowerCAmelCase_       :							List[Any]			 =		(
              ord(_a      ) + (hash_value << 6) + (hash_value << 16) - hash_value
          )
     return hash_value
