


'''simple docstring'''







from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE_      =			{
    'configuration_mobilebert': [
        'MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'MobileBertConfig',
        'MobileBertOnnxConfig',
    ],
    'tokenization_mobilebert': ['MobileBertTokenizer'],
}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE_      =			['MobileBertTokenizerFast']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE_      =			[
     'MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
     'MobileBertForMaskedLM',
     'MobileBertForMultipleChoice',
     'MobileBertForNextSentencePrediction',
     'MobileBertForPreTraining',
     'MobileBertForQuestionAnswering',
     'MobileBertForSequenceClassification',
     'MobileBertForTokenClassification',
     'MobileBertLayer',
     'MobileBertModel',
     'MobileBertPreTrainedModel',
     'load_tf_weights_in_mobilebert',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE_      =			[
     'TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
     'TFMobileBertForMaskedLM',
     'TFMobileBertForMultipleChoice',
     'TFMobileBertForNextSentencePrediction',
     'TFMobileBertForPreTraining',
     'TFMobileBertForQuestionAnswering',
     'TFMobileBertForSequenceClassification',
     'TFMobileBertForTokenClassification',
     'TFMobileBertMainLayer',
     'TFMobileBertModel',
     'TFMobileBertPreTrainedModel',
 ]


if TYPE_CHECKING:
 from .configuration_mobilebert import (
     MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP,
     MobileBertConfig,
     MobileBertOnnxConfig,
 )
 from .tokenization_mobilebert import MobileBertTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_mobilebert_fast import MobileBertTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_mobilebert import (
      MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
      MobileBertForMaskedLM,
      MobileBertForMultipleChoice,
      MobileBertForNextSentencePrediction,
      MobileBertForPreTraining,
      MobileBertForQuestionAnswering,
      MobileBertForSequenceClassification,
      MobileBertForTokenClassification,
      MobileBertLayer,
      MobileBertModel,
      MobileBertPreTrainedModel,
      load_tf_weights_in_mobilebert,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_mobilebert import (
      TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFMobileBertForMaskedLM,
      TFMobileBertForMultipleChoice,
      TFMobileBertForNextSentencePrediction,
      TFMobileBertForPreTraining,
      TFMobileBertForQuestionAnswering,
      TFMobileBertForSequenceClassification,
      TFMobileBertForTokenClassification,
      TFMobileBertMainLayer,
      TFMobileBertModel,
      TFMobileBertPreTrainedModel,
  )

else:
 import sys

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










'''simple docstring'''







from __future__ import annotations




def        __lowercase						(      __SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE				,  )				->					tuple[str, float]:
     """simple docstring"""




     if (stress, tangential_force, area).count(0		) != 1:
          raise ValueError("""You cannot supply more or less than 2 values"""		)
     elif stress < 0:
          raise ValueError("""Stress cannot be negative"""		)
     elif tangential_force < 0:
          raise ValueError("""Tangential Force cannot be negative"""		)
     elif area < 0:
          raise ValueError("""Area cannot be negative"""		)
     elif stress == 0:
          return (
              "stress",
              tangential_force / area,
          )
     elif tangential_force == 0:
          return (
              "tangential_force",
              stress * area,
          )
     else:
          return (
              "area",
              tangential_force / stress,
          )


if __name__ == "__main__":
 import doctest

 doctest.testmod()






