
class      A__       :
							class      A__       :
														lowerCAmelCase__		:						List[str]         =							'''_prev''', '''_data''', '''_next'''





														def __init__(			self  :       Union[str, Any]					,			_UpperCAmelCase  :       List[Any]					,			_UpperCAmelCase  :       Union[str, Any]					,			_UpperCAmelCase  :       str    )						->		Optional[Any]:



																		"""simple docstring"""


																		__lowercase								= link_p
																		__lowercase								= element
																		__lowercase								= link_n





														def       a__			(			self  :       str    )						->		List[Any]:



																		"""simple docstring"""


																		return (
																		    f""" Prev -> {self._prev is not None}, Next -> {self._next is not None}"""
																		)






							def __init__(			self  :       Optional[Any]    )						->		Dict:



											"""simple docstring"""


											__lowercase								= self._Node(lowerCAmelCase__					,			lowerCAmelCase__					,			lowerCAmelCase__    )
											__lowercase								= self._Node(lowerCAmelCase__					,			lowerCAmelCase__					,			lowerCAmelCase__    )
											__lowercase								= self._trailer
											__lowercase								= self._header
											__lowercase								= 0





							def __len__(			self  :       Any    )						->		Union[str, Any]:



											"""simple docstring"""


											return self._size





							def       a__			(			self  :       List[str]    )						->		Optional[Any]:



											"""simple docstring"""


											return self.__len__() == 0





							def       a__			(			self  :       Dict					,			_UpperCAmelCase  :       str					,			_UpperCAmelCase  :       List[Any]					,			_UpperCAmelCase  :       Tuple    )						->		Union[str, Any]:



											"""simple docstring"""


											__lowercase								= self._Node(lowerCAmelCase__					,			lowerCAmelCase__					,			lowerCAmelCase__    )
											__lowercase								= new_node
											__lowercase								= new_node
											self._size += 1
											return self





							def       a__			(			self  :       Optional[Any]					,			_UpperCAmelCase  :       Dict    )						->		Any:



											"""simple docstring"""


											__lowercase								= node._prev
											__lowercase								= node._next

											__lowercase								= successor
											__lowercase								= predecessor
											self._size -= 1
											__lowercase								= node._data
											__lowercase								= __lowercase								= __lowercase								= None
											del node
											return temp






class      A__       (						_DoublyLinkedBase    ):





							def       a__			(			self  :       Tuple    )						->		Any:



											"""simple docstring"""


											if self.is_empty():
															raise Exception('List is empty'    )
											return self._header._next._data





							def       a__			(			self  :       Optional[int]    )						->		str:



											"""simple docstring"""


											if self.is_empty():
															raise Exception('List is empty'    )
											return self._trailer._prev._data





							def       a__			(			self  :       Dict					,			_UpperCAmelCase  :       List[Any]    )						->		List[Any]:



											"""simple docstring"""


											return self._insert(self._header					,			lowerCAmelCase__					,			self._header._next    )





							def       a__			(			self  :       Union[str, Any]					,			_UpperCAmelCase  :       Tuple    )						->		Any:



											"""simple docstring"""


											return self._insert(self._trailer._prev					,			lowerCAmelCase__					,			self._trailer    )





							def       a__			(			self  :       Any    )						->		Tuple:



											"""simple docstring"""


											if self.is_empty():
															raise IndexError('remove_first from empty list'    )
											return self._delete(self._header._next    )





							def       a__			(			self  :       Optional[Any]    )						->		List[Any]:



											"""simple docstring"""


											if self.is_empty():
															raise IndexError('remove_first from empty list'    )
											return self._delete(self._trailer._prev    )



from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


SCREAMING_SNAKE_CASE__							=    logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__							=    {
    """squeezebert/squeezebert-uncased""": (
        """https://huggingface.co/squeezebert/squeezebert-uncased/resolve/main/config.json"""
    ),
    """squeezebert/squeezebert-mnli""": """https://huggingface.co/squeezebert/squeezebert-mnli/resolve/main/config.json""",
    """squeezebert/squeezebert-mnli-headless""": (
        """https://huggingface.co/squeezebert/squeezebert-mnli-headless/resolve/main/config.json"""
    ),
}
class      A__       (						lowerCAmelCase__    ):
							lowerCAmelCase__		:						Tuple         =							SQUEEZEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP
							lowerCAmelCase__		:						Optional[int]         =							"squeezebert"





							def __init__(			self  :       List[str]					,			_UpperCAmelCase  :       int=3_05_22					,			_UpperCAmelCase  :       Any=7_68					,			_UpperCAmelCase  :       Tuple=12					,			_UpperCAmelCase  :       Union[str, Any]=12					,			_UpperCAmelCase  :       Union[str, Any]=30_72					,			_UpperCAmelCase  :       Optional[Any]="gelu"					,			_UpperCAmelCase  :       Optional[int]=0.1					,			_UpperCAmelCase  :       Any=0.1					,			_UpperCAmelCase  :       Union[str, Any]=5_12					,			_UpperCAmelCase  :       int=2					,			_UpperCAmelCase  :       Dict=0.02					,			_UpperCAmelCase  :       str=1e-1_2					,			_UpperCAmelCase  :       Dict=0					,			_UpperCAmelCase  :       str=7_68					,			_UpperCAmelCase  :       Tuple=4					,			_UpperCAmelCase  :       Union[str, Any]=4					,			_UpperCAmelCase  :       Tuple=4					,			_UpperCAmelCase  :       Any=1					,			_UpperCAmelCase  :       List[Any]=4					,			_UpperCAmelCase  :       List[str]=4					,			**_UpperCAmelCase  :       Dict					,			)						->		Any:



											"""simple docstring"""


											super().__init__(pad_token_id=_UpperCAmelCase					,			**_UpperCAmelCase    )

											__lowercase								= vocab_size
											__lowercase								= hidden_size
											__lowercase								= num_hidden_layers
											__lowercase								= num_attention_heads
											__lowercase								= hidden_act
											__lowercase								= intermediate_size
											__lowercase								= hidden_dropout_prob
											__lowercase								= attention_probs_dropout_prob
											__lowercase								= max_position_embeddings
											__lowercase								= type_vocab_size
											__lowercase								= initializer_range
											__lowercase								= layer_norm_eps
											__lowercase								= embedding_size
											__lowercase								= q_groups
											__lowercase								= k_groups
											__lowercase								= v_groups
											__lowercase								= post_attention_groups
											__lowercase								= intermediate_groups
											__lowercase								= output_groups






class      A__       (						lowerCAmelCase__    ):





							@property
							def       a__			(			self  :       Any    )						->		Mapping[str, Mapping[int, str]]:



											"""simple docstring"""


											if self.task == "multiple-choice":
															__lowercase								= {0: 'batch', 1: 'choice', 2: 'sequence'}
											else:
															__lowercase								= {0: 'batch', 1: 'sequence'}
											return OrderedDict(
											    [
											        ('input_ids', dynamic_axis),
											        ('attention_mask', dynamic_axis),
											        ('token_type_ids', dynamic_axis),
											    ]    )





