"""simple docstring"""





from typing import TYPE_CHECKING

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


_UpperCamelCase       :						Union[str, Any]     =   {'''configuration_t5''': ['''T5_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''T5Config''', '''T5OnnxConfig''']}

try:
       if not is_sentencepiece_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _UpperCamelCase       :						int     =   ['''T5Tokenizer''']

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _UpperCamelCase       :						Optional[Any]     =   ['''T5TokenizerFast''']

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _UpperCamelCase       :						List[Any]     =   [
           '''T5_PRETRAINED_MODEL_ARCHIVE_LIST''',
           '''T5EncoderModel''',
           '''T5ForConditionalGeneration''',
           '''T5Model''',
           '''T5PreTrainedModel''',
           '''load_tf_weights_in_t5''',
           '''T5ForQuestionAnswering''',
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _UpperCamelCase       :						Optional[Any]     =   [
           '''TF_T5_PRETRAINED_MODEL_ARCHIVE_LIST''',
           '''TFT5EncoderModel''',
           '''TFT5ForConditionalGeneration''',
           '''TFT5Model''',
           '''TFT5PreTrainedModel''',
       ]

try:
       if not is_flax_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _UpperCamelCase       :						List[Any]     =   [
           '''FlaxT5EncoderModel''',
           '''FlaxT5ForConditionalGeneration''',
           '''FlaxT5Model''',
           '''FlaxT5PreTrainedModel''',
       ]


if TYPE_CHECKING:
       from .configuration_ta import T5_PRETRAINED_CONFIG_ARCHIVE_MAP, TaConfig, TaOnnxConfig

       try:
              if not is_sentencepiece_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_ta import TaTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_ta_fast import TaTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_ta import (
                  T5_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TaEncoderModel,
                  TaForConditionalGeneration,
                  TaForQuestionAnswering,
                  TaModel,
                  TaPreTrainedModel,
                  load_tf_weights_in_ta,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_ta import (
                  TF_T5_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFTaEncoderModel,
                  TFTaForConditionalGeneration,
                  TFTaModel,
                  TFTaPreTrainedModel,
              )

       try:
              if not is_flax_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_flax_ta import (
                  FlaxTaEncoderModel,
                  FlaxTaForConditionalGeneration,
                  FlaxTaModel,
                  FlaxTaPreTrainedModel,
              )


else:
       import sys

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


"""simple docstring"""





import torch

from transformers import PreTrainedModel

from .custom_configuration import CustomConfig, NoSuperInitConfig


class 					UpperCAmelCase_     (   _a):
      lowerCamelCase__		:   List[str]			  =  CustomConfig


      def __init__(       self		,      a							)	-> Optional[int]:
             super().__init__(a							)
             lowercase__      :		Any          =     torch.nn.Linear(config.hidden_size		,      config.hidden_size							)


      def 		_UpperCAmelCase	(       self		,      a							)	-> Union[str, Any]:
             return self.linear(a							)


      def 		_UpperCAmelCase	(       self		,      a							)	-> Tuple:
             pass





class 					UpperCAmelCase_     (   _a):
      lowerCamelCase__		:   Optional[int]			  =  NoSuperInitConfig


      def __init__(       self		,      a							)	-> int:
             super().__init__(a							)
             lowercase__      :		List[Any]          =     torch.nn.Linear(config.attribute		,      config.attribute							)


      def 		_UpperCAmelCase	(       self		,      a							)	-> Optional[int]:
             return self.linear(a							)


      def 		_UpperCAmelCase	(       self		,      a							)	-> Optional[Any]:
             pass

