


from collections import OrderedDict
from typing import Mapping

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


UpperCAmelCase_   :				str						      = logging.get_logger(__name__)

UpperCAmelCase_   :				Dict						      = {
    'bert-base-uncased': 'https://huggingface.co/bert-base-uncased/resolve/main/config.json',
    'bert-large-uncased': 'https://huggingface.co/bert-large-uncased/resolve/main/config.json',
    'bert-base-cased': 'https://huggingface.co/bert-base-cased/resolve/main/config.json',
    'bert-large-cased': 'https://huggingface.co/bert-large-cased/resolve/main/config.json',
    'bert-base-multilingual-uncased': 'https://huggingface.co/bert-base-multilingual-uncased/resolve/main/config.json',
    'bert-base-multilingual-cased': 'https://huggingface.co/bert-base-multilingual-cased/resolve/main/config.json',
    'bert-base-chinese': 'https://huggingface.co/bert-base-chinese/resolve/main/config.json',
    'bert-base-german-cased': 'https://huggingface.co/bert-base-german-cased/resolve/main/config.json',
    'bert-large-uncased-whole-word-masking': (
        'https://huggingface.co/bert-large-uncased-whole-word-masking/resolve/main/config.json'
    ),
    'bert-large-cased-whole-word-masking': (
        'https://huggingface.co/bert-large-cased-whole-word-masking/resolve/main/config.json'
    ),
    'bert-large-uncased-whole-word-masking-finetuned-squad': (
        'https://huggingface.co/bert-large-uncased-whole-word-masking-finetuned-squad/resolve/main/config.json'
    ),
    'bert-large-cased-whole-word-masking-finetuned-squad': (
        'https://huggingface.co/bert-large-cased-whole-word-masking-finetuned-squad/resolve/main/config.json'
    ),
    'bert-base-cased-finetuned-mrpc': 'https://huggingface.co/bert-base-cased-finetuned-mrpc/resolve/main/config.json',
    'bert-base-german-dbmdz-cased': 'https://huggingface.co/bert-base-german-dbmdz-cased/resolve/main/config.json',
    'bert-base-german-dbmdz-uncased': 'https://huggingface.co/bert-base-german-dbmdz-uncased/resolve/main/config.json',
    'cl-tohoku/bert-base-japanese': 'https://huggingface.co/cl-tohoku/bert-base-japanese/resolve/main/config.json',
    'cl-tohoku/bert-base-japanese-whole-word-masking': (
        'https://huggingface.co/cl-tohoku/bert-base-japanese-whole-word-masking/resolve/main/config.json'
    ),
    'cl-tohoku/bert-base-japanese-char': (
        'https://huggingface.co/cl-tohoku/bert-base-japanese-char/resolve/main/config.json'
    ),
    'cl-tohoku/bert-base-japanese-char-whole-word-masking': (
        'https://huggingface.co/cl-tohoku/bert-base-japanese-char-whole-word-masking/resolve/main/config.json'
    ),
    'TurkuNLP/bert-base-finnish-cased-v1': (
        'https://huggingface.co/TurkuNLP/bert-base-finnish-cased-v1/resolve/main/config.json'
    ),
    'TurkuNLP/bert-base-finnish-uncased-v1': (
        'https://huggingface.co/TurkuNLP/bert-base-finnish-uncased-v1/resolve/main/config.json'
    ),
    'wietsedv/bert-base-dutch-cased': 'https://huggingface.co/wietsedv/bert-base-dutch-cased/resolve/main/config.json',
    # See all BERT models at https://huggingface.co/models?filter=bert
}
class 				SCREAMING_SNAKE_CASE__						(       _snake_case    ):
      snake_case__       :  str       =		'''bert'''
      def __init__( self       : Optional[int]  ,							SCREAMING_SNAKE_CASE__       : int=3_0_5_2_2  ,							SCREAMING_SNAKE_CASE__       : Union[str, Any]=7_6_8  ,							SCREAMING_SNAKE_CASE__       : Dict=1_2  ,							SCREAMING_SNAKE_CASE__       : Optional[Any]=1_2  ,							SCREAMING_SNAKE_CASE__       : List[Any]=3_0_7_2  ,							SCREAMING_SNAKE_CASE__       : Union[str, Any]="gelu"  ,							SCREAMING_SNAKE_CASE__       : str=0.1  ,							SCREAMING_SNAKE_CASE__       : str=0.1  ,							SCREAMING_SNAKE_CASE__       : str=5_1_2  ,							SCREAMING_SNAKE_CASE__       : Union[str, Any]=2  ,							SCREAMING_SNAKE_CASE__       : Dict=0.02  ,							SCREAMING_SNAKE_CASE__       : Optional[Any]=1E-12  ,							SCREAMING_SNAKE_CASE__       : str=0  ,							SCREAMING_SNAKE_CASE__       : List[str]="absolute"  ,							SCREAMING_SNAKE_CASE__       : int=True  ,							SCREAMING_SNAKE_CASE__       : Any=None  ,							**SCREAMING_SNAKE_CASE__       : str  ,							)	->    Dict:
             super().__init__(pad_token_id=lowerCAmelCase__  ,							**lowerCAmelCase__  )

             a_      :	Optional[Any]							=						vocab_size
             a_      :	Optional[Any]							=						hidden_size
             a_      :	str							=						num_hidden_layers
             a_      :	Optional[Any]							=						num_attention_heads
             a_      :	Dict							=						hidden_act
             a_      :	List[str]							=						intermediate_size
             a_      :	List[Any]							=						hidden_dropout_prob
             a_      :	int							=						attention_probs_dropout_prob
             a_      :	Tuple							=						max_position_embeddings
             a_      :	Optional[int]							=						type_vocab_size
             a_      :	int							=						initializer_range
             a_      :	Any							=						layer_norm_eps
             a_      :	Union[str, Any]							=						position_embedding_type
             a_      :	List[str]							=						use_cache
             a_      :	int							=						classifier_dropout
class 				SCREAMING_SNAKE_CASE__						(       _snake_case    ):
      @property
      def  SCREAMING_SNAKE_CASE							( self       : Optional[int]  )	->    Mapping[str, Mapping[int, str]]:
             if self.task == "multiple-choice":
                    a_      :	Optional[Any]							=						{0: 'batch', 1: 'choice', 2: 'sequence'}
             else:
                    a_      :	Optional[int]							=						{0: 'batch', 1: 'sequence'}
             return OrderedDict(
                 [
                     ('input_ids', dynamic_axis),
                     ('attention_mask', dynamic_axis),
                     ('token_type_ids', dynamic_axis),
                 ]  )





def  SCREAMING_SNAKE_CASE_		(    __A				:    int       )			->	bool:

       """simple docstring"""

       a_      :	List[Any]							=						n ** (1 / 3)
       return (val * val * val) == n


if __name__ == "__main__":
   print(perfect_cube(27))
   print(perfect_cube(4))


