






"""simple docstring"""


from __future__ import annotations

from enum import Enum, unique
from typing import TypeVar

# Create a generic variable that can be 'Enum', or any subclass.
lowercase_								=	TypeVar('T', bound='Enum')


@unique
class    snake_case						(				_lowerCAmelCase		):


   '''simple docstring'''

   A_		:      List[Any]							=					80
   A_		:      Dict							=					70
   A_		:      Optional[int]							=					60
   A_		:      Any							=					50
   A_		:      Dict							=					40
   A_		:      str							=					30
   A_		:      Tuple							=					20
   A_		:      Tuple							=					10





@unique
class    snake_case						(				_lowerCAmelCase		):


   '''simple docstring'''

   A_		:      Optional[int]							=					24
   A_		:      Any							=					21
   A_		:      Union[str, Any]							=					18
   A_		:      str							=					15
   A_		:      List[str]							=					12
   A_		:      str							=					9
   A_		:      List[str]							=					6
   A_		:      str							=					3
   A_		:      Any							=					2
   A_		:      Any							=					1
   A_		:      List[Any]							=					-1
   A_		:      str							=					-2
   A_		:      Tuple							=					-3
   A_		:      List[str]							=					-6
   A_		:      int							=					-9
   A_		:      List[Any]							=					-12
   A_		:      List[Any]							=					-15
   A_		:      Optional[int]							=					-18
   A_		:      Optional[Any]							=					-21
   A_		:      Optional[int]							=					-24


   @classmethod
   def 							_SCREAMING_SNAKE_CASE							(      cls					:	type[T]    ):

     '''simple docstring'''
     return {unit.name: unit.value for unit in cls if unit.value > 0}






   @classmethod
   def 							_SCREAMING_SNAKE_CASE							(      cls					:	type[T]    ):

     '''simple docstring'''
     return {unit.name: unit.value for unit in cls if unit.value < 0}





def    lowerCAmelCase							(       __UpperCamelCase					):




  """simple docstring"""







  __A		     =					SIUnit.get_positive() if value > 0 else SIUnit.get_negative()
  for name_prefix, value_prefix in prefixes.items():
    __A		     =					value / (1_0**value_prefix)
    if numerical_part > 1:
      return f'{numerical_part!s} {name_prefix}'
  return str(__UpperCamelCase					)



def    lowerCAmelCase							(       __UpperCamelCase					):




  """simple docstring"""







  for prefix in BinaryUnit:
    __A		     =					value / (2**prefix.value)
    if numerical_part > 1:
      return f'{numerical_part!s} {prefix.name}'
  return str(__UpperCamelCase					)


if __name__ == "__main__":
       import doctest

       doctest.testmod()







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


A__							=				logging.get_logger(__name__)

A__							=				{
    "tau/splinter-base": "https://huggingface.co/tau/splinter-base/resolve/main/config.json",
    "tau/splinter-base-qass": "https://huggingface.co/tau/splinter-base-qass/resolve/main/config.json",
    "tau/splinter-large": "https://huggingface.co/tau/splinter-large/resolve/main/config.json",
    "tau/splinter-large-qass": "https://huggingface.co/tau/splinter-large-qass/resolve/main/config.json",
    # See all Splinter models at https://huggingface.co/models?filter=splinter
}

class 					__UpperCamelCase					(       SCREAMING_SNAKE_CASE      ):
	_lowercase	: int												=	"splinter"







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

						'''simple docstring'''





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

						__magic_name__				=     vocab_size
						__magic_name__				=     max_position_embeddings
						__magic_name__				=     hidden_size
						__magic_name__				=     num_hidden_layers
						__magic_name__				=     num_attention_heads
						__magic_name__				=     intermediate_size
						__magic_name__				=     hidden_act
						__magic_name__				=     hidden_dropout_prob
						__magic_name__				=     attention_probs_dropout_prob
						__magic_name__				=     initializer_range
						__magic_name__				=     type_vocab_size
						__magic_name__				=     layer_norm_eps
						__magic_name__				=     use_cache
						__magic_name__				=     question_token_id




