
"""simple docstring"""






import torch

from transformers import PreTrainedModel

from .custom_configuration import CustomConfig, NoSuperInitConfig




class      _SCREAMING_SNAKE_CASE   (     UpperCAmelCase__				):
			UpperCAmelCase_    :List[Any]												=		CustomConfig






			def __init__(   self			,  __A			)     ->	Any:
						super().__init__(__lowerCAmelCase			)
						lowerCAmelCase_       :Union[str, Any]     	=    torch.nn.Linear(config.hidden_size			,  config.hidden_size			)






			def 					__lowerCAmelCase					(   self			,  __A			)     ->	Any:
						return self.linear(__lowerCAmelCase			)






			def 					__lowerCAmelCase					(   self			,  __A			)     ->	str:
						pass




class      _SCREAMING_SNAKE_CASE   (     UpperCAmelCase__				):
			UpperCAmelCase_    :List[str]												=		NoSuperInitConfig






			def __init__(   self			,  __A			)     ->	Tuple:
						super().__init__(__lowerCAmelCase			)
						lowerCAmelCase_       :int     	=    torch.nn.Linear(config.attribute			,  config.attribute			)






			def 					__lowerCAmelCase					(   self			,  __A			)     ->	List[Any]:
						return self.linear(__lowerCAmelCase			)






			def 					__lowerCAmelCase					(   self			,  __A			)     ->	Union[str, Any]:
						pass











from typing import TYPE_CHECKING

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


A_		:  Any										=  {
    '''configuration_align''': [
        '''ALIGN_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''AlignConfig''',
        '''AlignTextConfig''',
        '''AlignVisionConfig''',
    ],
    '''processing_align''': ['''AlignProcessor'''],
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     A_		:  Optional[int]										=  [
         '''ALIGN_PRETRAINED_MODEL_ARCHIVE_LIST''',
         '''AlignModel''',
         '''AlignPreTrainedModel''',
         '''AlignTextModel''',
         '''AlignVisionModel''',
     ]

if TYPE_CHECKING:
     from .configuration_align import (
         ALIGN_PRETRAINED_CONFIG_ARCHIVE_MAP,
         AlignConfig,
         AlignTextConfig,
         AlignVisionConfig,
     )
     from .processing_align import AlignProcessor

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_align import (
              ALIGN_PRETRAINED_MODEL_ARCHIVE_LIST,
              AlignModel,
              AlignPreTrainedModel,
              AlignTextModel,
              AlignVisionModel,
          )

else:
     import sys

     A_		:  int										=  _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)

