code: 
  
  
  from typing import TYPE_CHECKING
  
  from ...utils import (
      OptionalDependencyNotAvailable,
      _LazyModule,
      is_tf_available,
      is_torch_available,
      is_vision_available,
  )
  
  
  SCREAMING_SNAKE_CASE : str          =    {
      "configuration_segformer": ["SEGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP", "SegformerConfig", "SegformerOnnxConfig"]
  }
  
  try:
   if not is_vision_available():
    raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
   pass
  else:
   SCREAMING_SNAKE_CASE : int          =    ["SegformerFeatureExtractor"]
   SCREAMING_SNAKE_CASE : Optional[Any]          =    ["SegformerImageProcessor"]
  
  try:
   if not is_torch_available():
    raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
   pass
  else:
   SCREAMING_SNAKE_CASE : Any          =    [
       "SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
       "SegformerDecodeHead",
       "SegformerForImageClassification",
       "SegformerForSemanticSegmentation",
       "SegformerLayer",
       "SegformerModel",
       "SegformerPreTrainedModel",
   ]
  
  try:
   if not is_tf_available():
    raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
   pass
  else:
   SCREAMING_SNAKE_CASE : List[str]          =    [
       "TF_SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
       "TFSegformerDecodeHead",
       "TFSegformerForImageClassification",
       "TFSegformerForSemanticSegmentation",
       "TFSegformerModel",
       "TFSegformerPreTrainedModel",
   ]
  
  
  if TYPE_CHECKING:
   from .configuration_segformer import SEGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, SegformerConfig, SegformerOnnxConfig
  
   try:
    if not is_vision_available():
     raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
    pass
   else:
    from .feature_extraction_segformer import SegformerFeatureExtractor
    from .image_processing_segformer import SegformerImageProcessor
  
   try:
    if not is_torch_available():
     raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
    pass
   else:
    from .modeling_segformer import (
        SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
        SegformerDecodeHead,
        SegformerForImageClassification,
        SegformerForSemanticSegmentation,
        SegformerLayer,
        SegformerModel,
        SegformerPreTrainedModel,
    )
   try:
    if not is_tf_available():
     raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
    pass
   else:
    from .modeling_tf_segformer import (
        TF_SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFSegformerDecodeHead,
        TFSegformerForImageClassification,
        TFSegformerForSemanticSegmentation,
        TFSegformerModel,
        TFSegformerPreTrainedModel,
    )
  
  else:
   import sys
  
   SCREAMING_SNAKE_CASE : Optional[int]          =    _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
  
  
  
style_context: 
  
  
  from __future__ import annotations
  
  
  
  
  
  def 						_lowerCamelCase		(							SCREAMING_SNAKE_CASE_				: list      ):
  
  
  
  
  
  
  							"""simple docstring"""
  
  
  
  							a_       :   Tuple			=	sorted(SCREAMING_SNAKE_CASE_      )
  							a_       :   Tuple			=	len(SCREAMING_SNAKE_CASE_      )
  							a_       :   Tuple			=	length >> 1
  							return (
  							    (sorted_list[mid_index] + sorted_list[mid_index - 1]) / 2
  							    if length % 2 == 0
  							    else sorted_list[mid_index]
  							)
  
  
  
  
  
  def 						_lowerCamelCase		(							):
  
  
  
  
  
  
  							"""simple docstring"""
  
  
  
  							import doctest
  
  							doctest.testmod()
  
  
  if __name__ == "__main__":
  	main()
  
  
  