




'''simple docstring'''

from typing import TYPE_CHECKING

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


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

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

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							a  :				Union[str, Any]									=  [
							    '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:
							a  :				List[Any]									=  [
							    '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

							a  :				List[Any]									=  _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)







'''simple docstring'''

import re

from filelock import FileLock


try:
							import nltk

							a  :				Union[str, Any]									=  True
except (ImportError, ModuleNotFoundError):
							a  :				Any									=  False

if NLTK_AVAILABLE:
							with FileLock('.lock') as lock:
														nltk.download('punkt', quiet=True)


def 		__magic_name__    (	__UpperCAmelCase	)		->					str:

					'''simple docstring'''

					re.sub('''<n>''',      '''''',      __UpperCAmelCase	)  # remove pegasus newline char
					assert NLTK_AVAILABLE, "nltk must be installed to separate newlines between sentences. (pip install nltk)"
					return "\n".join(nltk.sent_tokenize(__UpperCAmelCase	)	)

