




"""simple docstring"""




from typing import TYPE_CHECKING

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


lowerCAmelCase				:     str					=				{
    """configuration_mobilevit""": ["""MOBILEVIT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """MobileViTConfig""", """MobileViTOnnxConfig"""],
}

try:
					if not is_vision_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCAmelCase				:     Optional[int]					=				["""MobileViTFeatureExtractor"""]
					lowerCAmelCase				:     Tuple					=				["""MobileViTImageProcessor"""]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCAmelCase				:     List[Any]					=				[
					    """MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """MobileViTForImageClassification""",
					    """MobileViTForSemanticSegmentation""",
					    """MobileViTModel""",
					    """MobileViTPreTrainedModel""",
					]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCAmelCase				:     Union[str, Any]					=				[
					    """TF_MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """TFMobileViTForImageClassification""",
					    """TFMobileViTForSemanticSegmentation""",
					    """TFMobileViTModel""",
					    """TFMobileViTPreTrainedModel""",
					]

if TYPE_CHECKING:
					from .configuration_mobilevit import MOBILEVIT_PRETRAINED_CONFIG_ARCHIVE_MAP, MobileViTConfig, MobileViTOnnxConfig

					try:
										if not is_vision_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .feature_extraction_mobilevit import MobileViTFeatureExtractor
										from .image_processing_mobilevit import MobileViTImageProcessor

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_mobilevit import (
										    MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    MobileViTForImageClassification,
										    MobileViTForSemanticSegmentation,
										    MobileViTModel,
										    MobileViTPreTrainedModel,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_mobilevit import (
										    TF_MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFMobileViTForImageClassification,
										    TFMobileViTForSemanticSegmentation,
										    TFMobileViTModel,
										    TFMobileViTPreTrainedModel,
										)


else:
					import sys

					lowerCAmelCase				:     Union[str, Any]					=				_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)









"""simple docstring"""




from collections.abc import Sequence



def        a__					(							snake_case__			,					snake_case__ = False							)		->   float:
			if not arr:
						return 0

			lowerCamelCase      =   0 if allow_empty_subarrays else float("""-inf"""							)
			lowerCamelCase      =   0.0
			for num in arr:
						lowerCamelCase      =   max(0 if allow_empty_subarrays else num			,					curr_sum + num							)
						lowerCamelCase      =   max(snake_case__			,					snake_case__							)

			return max_sum


if __name__ == "__main__":
					from doctest import testmod

					testmod()

					lowerCAmelCase				:     Union[str, Any]					=				[-2, 1, -3, 4, -1, 2, 1, -5, 4]
					print(F"""{max_subarray_sum(nums) = }""")



