




'''simple docstring'''






# Copyright 2023 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


_lowerCAmelCase      	=					{"configuration_mra": ["MRA_PRETRAINED_CONFIG_ARCHIVE_MAP", "MraConfig"]}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_lowerCAmelCase      	=					[
				    "MRA_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "MraForMaskedLM",
				    "MraForMultipleChoice",
				    "MraForQuestionAnswering",
				    "MraForSequenceClassification",
				    "MraForTokenClassification",
				    "MraLayer",
				    "MraModel",
				    "MraPreTrainedModel",
				]


if TYPE_CHECKING:
				from .configuration_mra import MRA_PRETRAINED_CONFIG_ARCHIVE_MAP, MraConfig

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_mra import (
								    MRA_PRETRAINED_MODEL_ARCHIVE_LIST,
								    MraForMaskedLM,
								    MraForMultipleChoice,
								    MraForQuestionAnswering,
								    MraForSequenceClassification,
								    MraForTokenClassification,
								    MraLayer,
								    MraModel,
								    MraPreTrainedModel,
								)
else:
				import sys

				_lowerCAmelCase      	=					_LazyModule(__name__, globals()['''__file__'''], _import_structure)








from typing import TYPE_CHECKING

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


a_   :Optional[Any]        =      {"configuration_reformer": ["REFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP", "ReformerConfig"]}

try:
 if not is_sentencepiece_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 a_   :str        =      ["ReformerTokenizer"]

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 a_   :int        =      ["ReformerTokenizerFast"]

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 a_   :List[str]        =      [
     "REFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "ReformerAttention",
     "ReformerForMaskedLM",
     "ReformerForQuestionAnswering",
     "ReformerForSequenceClassification",
     "ReformerLayer",
     "ReformerModel",
     "ReformerModelWithLMHead",
     "ReformerPreTrainedModel",
 ]


if TYPE_CHECKING:
 from .configuration_reformer import REFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, ReformerConfig

 try:
  if not is_sentencepiece_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_reformer import ReformerTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_reformer_fast import ReformerTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_reformer import (
      REFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
      ReformerAttention,
      ReformerForMaskedLM,
      ReformerForQuestionAnswering,
      ReformerForSequenceClassification,
      ReformerLayer,
      ReformerModel,
      ReformerModelWithLMHead,
      ReformerPreTrainedModel,
  )

else:
 import sys

 a_   :Optional[Any]        =      _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






