


import copy

from transformers.configuration_utils import PretrainedConfig
from transformers.utils import logging


__magic_name__       					=      logging.get_logger(__name__)





class    lowerCAmelCase__				(			__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	'''hybrid-clip'''
						__UpperCAmelCase   :		Tuple  					=	True




						def __init__(   self				,							a_=512				,							**a_     ):
							super().__init__(**a_     )

							if "text_config" not in kwargs:
								raise ValueError("`text_config` can not be `None`."     )

							if "vision_config" not in kwargs:
								raise ValueError("`vision_config` can not be `None`."     )

							lowerCamelCase_			:							int      =       kwargs.pop("text_config"     )
							lowerCamelCase_			:							Optional[Any]      =       kwargs.pop("vision_config"     )

							lowerCamelCase_			:							int      =       text_config.pop("model_type"     )
							lowerCamelCase_			:							Dict      =       vision_config.pop("model_type"     )

							from transformers import AutoConfig

							lowerCamelCase_			:							Dict      =       AutoConfig.for_model(a_				,							**a_     )

							if vision_model_type == "clip":
								lowerCamelCase_			:							Tuple      =       AutoConfig.for_model(a_				,							**a_     ).vision_config
							elif vision_model_type == "clip_vision_model":
								from transformers import CLIPVisionConfig

								lowerCamelCase_			:							int      =       CLIPVisionConfig(**a_     )
							else:
								lowerCamelCase_			:							List[str]      =       AutoConfig.for_model(a_				,							**a_     )

							lowerCamelCase_			:							Tuple      =       projection_dim
							lowerCamelCase_			:							Tuple      =       1.0




						@classmethod
						def 					_UpperCamelCase			(   cls				,							a_				,							a_				,							**a_     ):
							return cls(text_config=text_config.to_dict()				,							vision_config=vision_config.to_dict()				,							**a_     )




						def 					_UpperCamelCase			(   self     ):
							lowerCamelCase_			:							List[Any]      =       copy.deepcopy(self.__dict__     )
							lowerCamelCase_			:							List[Any]      =       self.text_config.to_dict()
							lowerCamelCase_			:							Union[str, Any]      =       self.vision_config.to_dict()
							lowerCamelCase_			:							Union[str, Any]      =       self.__class__.model_type
							return output





from ..utils import DummyObject, requires_backends





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[str]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[int]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[int]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[str]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[int]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[str]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[str]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )

