



"""simple docstring"""

from collections import OrderedDict
from typing import TYPE_CHECKING, Any, Mapping, Optional, Union

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


if TYPE_CHECKING:
     from ...feature_extraction_utils import FeatureExtractionMixin
     from ...tokenization_utils_base import PreTrainedTokenizerBase
     from ...utils import TensorType

lowercase__    :  Optional[Any]							    =	logging.get_logger(__name__)

lowercase__    :  Dict							    =	{
    '''openai/whisper-base''': '''https://huggingface.co/openai/whisper-base/resolve/main/config.json''',
}

# fmt: off
lowercase__    :  Optional[Any]							    =	[
    1, 2, 7, 8, 9, 10, 14, 25,
    26, 27, 28, 29, 31, 58, 59, 60, 61, 62,
    63, 90, 91, 92, 93, 3_57, 3_66, 4_38, 5_32, 6_85,
    7_05, 7_96, 9_30, 10_58, 12_20, 12_67, 12_79, 13_03, 13_43, 13_77,
    13_91, 16_35, 17_82, 18_75, 21_62, 23_61, 24_88, 34_67, 40_08, 42_11,
    46_00, 48_08, 52_99, 58_55, 63_29, 72_03, 96_09, 99_59, 1_05_63, 1_07_86,
    1_14_20, 1_17_09, 1_19_07, 1_31_63, 1_36_97, 1_37_00, 1_48_08, 1_53_06, 1_64_10, 1_67_91,
    1_79_92, 1_92_03, 1_95_10, 2_07_24, 2_23_05, 2_29_35, 2_70_07, 3_01_09, 3_04_20, 3_34_09,
    3_49_49, 4_02_83, 4_04_93, 4_05_49, 4_72_82, 4_91_46, 5_02_57, 5_03_59, 5_03_60, 5_03_61
]
lowercase__    :  List[str]							    =	[
    1, 2, 7, 8, 9, 10, 14, 25,
    26, 27, 28, 29, 31, 58, 59, 60, 61, 62,
    63, 90, 91, 92, 93, 3_59, 5_03, 5_22, 5_42, 8_73,
    8_93, 9_02, 9_18, 9_22, 9_31, 13_50, 18_53, 19_82, 24_60, 26_27,
    32_46, 32_53, 32_68, 35_36, 38_46, 39_61, 41_83, 46_67, 65_85, 66_47,
    72_73, 90_61, 93_83, 1_04_28, 1_09_29, 1_19_38, 1_20_33, 1_23_31, 1_25_62, 1_37_93,
    1_41_57, 1_46_35, 1_52_65, 1_56_18, 1_65_53, 1_66_04, 1_83_62, 1_89_56, 2_00_75, 2_16_75,
    2_25_20, 2_61_30, 2_61_61, 2_64_35, 2_82_79, 2_94_64, 3_16_50, 3_23_02, 3_24_70, 3_68_65,
    4_28_63, 4_74_25, 4_98_70, 5_02_54, 5_02_58, 5_03_60, 5_03_61, 5_03_62
]




class        _UpperCAmelCase       (			lowerCAmelCase__):
 _lowerCAmelCase   :			Tuple							=		"""whisper"""
 _lowerCAmelCase   :			Any							=		["""past_key_values"""]
 _lowerCAmelCase   :			Optional[int]							=		{"""num_attention_heads""": """encoder_attention_heads""", """hidden_size""": """d_model"""}

 def __init__(     self		:       Dict  ,     lowercase_		:       Optional[Any]=51865  ,     lowercase_		:       str=80  ,     lowercase_		:       List[str]=6  ,     lowercase_		:       Union[str, Any]=4  ,     lowercase_		:       Dict=6  ,     lowercase_		:       Union[str, Any]=4  ,     lowercase_		:       Optional[int]=1536  ,     lowercase_		:       Any=1536  ,     lowercase_		:       Any=0.0  ,     lowercase_		:       Tuple=0.0  ,     lowercase_		:       Tuple=50257  ,     lowercase_		:       Union[str, Any]=True  ,     lowercase_		:       Union[str, Any]=True  ,     lowercase_		:       Any="gelu"  ,     lowercase_		:       str=256  ,     lowercase_		:       str=0.0  ,     lowercase_		:       List[Any]=0.0  ,     lowercase_		:       Dict=0.0  ,     lowercase_		:       Optional[int]=0.02  ,     lowercase_		:       List[Any]=False  ,     lowercase_		:       Union[str, Any]=1500  ,     lowercase_		:       Optional[int]=448  ,     lowercase_		:       Union[str, Any]=50256  ,     lowercase_		:       int=50256  ,     lowercase_		:       Optional[Any]=50256  ,     lowercase_		:       Optional[int]=None  ,     lowercase_		:       Any=[220, 50256]  ,     lowercase_		:       Union[str, Any]=False  ,     lowercase_		:       int=256  ,     lowercase_		:       Union[str, Any]=False  ,     lowercase_		:       int=0.05  ,     lowercase_		:       Union[str, Any]=10  ,     lowercase_		:       str=2  ,     lowercase_		:       List[str]=0.0  ,     lowercase_		:       Tuple=10  ,     lowercase_		:       Optional[Any]=0  ,     lowercase_		:       Optional[int]=7  ,     **lowercase_		:       str  ,     ):
     snake_case_ :     int				=	vocab_size
     snake_case_ :     Any				=	num_mel_bins
     snake_case_ :     int				=	d_model
     snake_case_ :     str				=	encoder_layers
     snake_case_ :     Optional[int]				=	encoder_attention_heads
     snake_case_ :     str				=	decoder_layers
     snake_case_ :     Dict				=	decoder_attention_heads
     snake_case_ :     Union[str, Any]				=	decoder_ffn_dim
     snake_case_ :     Union[str, Any]				=	encoder_ffn_dim
     snake_case_ :     List[str]				=	dropout
     snake_case_ :     int				=	attention_dropout
     snake_case_ :     Tuple				=	activation_dropout
     snake_case_ :     List[str]				=	activation_function
     snake_case_ :     List[str]				=	init_std
     snake_case_ :     Union[str, Any]				=	encoder_layerdrop
     snake_case_ :     str				=	decoder_layerdrop
     snake_case_ :     List[Any]				=	use_cache
     snake_case_ :     Optional[Any]				=	encoder_layers
     snake_case_ :     Any				=	scale_embedding  # scale factor will be sqrt(d_model) if True
     snake_case_ :     Optional[int]				=	max_source_positions
     snake_case_ :     int				=	max_target_positions

     # Audio Classification-specific parameters. Feel free to ignore for other classes.
     snake_case_ :     Optional[int]				=	classifier_proj_size
     snake_case_ :     List[Any]				=	use_weighted_layer_sum

     # fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
     snake_case_ :     Optional[int]				=	apply_spec_augment
     snake_case_ :     Any				=	mask_time_prob
     snake_case_ :     Dict				=	mask_time_length
     snake_case_ :     int				=	mask_time_min_masks
     snake_case_ :     Optional[Any]				=	mask_feature_prob
     snake_case_ :     List[Any]				=	mask_feature_length
     snake_case_ :     Dict				=	mask_feature_min_masks

     snake_case_ :     Tuple				=	median_filter_width

     super().__init__(
         pad_token_id=lowercase_  ,     bos_token_id=lowercase_  ,     eos_token_id=lowercase_  ,     is_encoder_decoder=lowercase_  ,     decoder_start_token_id=lowercase_  ,     suppress_tokens=lowercase_  ,     begin_suppress_tokens=lowercase_  ,     **lowercase_  ,     )





class        _UpperCAmelCase       (			lowerCAmelCase__):

 @property
 def 						_snake_case					(     self		:       int				):
     snake_case_ :     List[Any]				=	OrderedDict(
         [
             ('''input_features''', {0: '''batch''', 1: '''feature_size''', 2: '''encoder_sequence'''}),
         ]				)
     if self.use_past:
         snake_case_ :     Optional[Any]				=	{0: '''batch'''}
     else:
         snake_case_ :     str				=	{0: '''batch''', 1: '''decoder_sequence'''}

     if self.use_past:
         self.fill_with_past_key_values_(lowercase_  ,     direction='''inputs'''				)

     return common_inputs

 def 						_snake_case					(     self		:       str  ,     lowercase_		:       Union["PreTrainedTokenizerBase", "FeatureExtractionMixin"]  ,     lowercase_		:       int = -1  ,     lowercase_		:       int = -1  ,     lowercase_		:       bool = False  ,     lowercase_		:       Optional["TensorType"] = None  ,     lowercase_		:       int = 22050  ,     lowercase_		:       float = 5.0  ,     lowercase_		:       int = 220  ,     ):
     snake_case_ :     Optional[int]				=	OrderedDict()
     snake_case_ :     Optional[int]				=	OnnxConfig.generate_dummy_inputs(
         self  ,     preprocessor=preprocessor.feature_extractor  ,     batch_size=lowercase_  ,     framework=lowercase_  ,     sampling_rate=lowercase_  ,     time_duration=lowercase_  ,     frequency=lowercase_  ,     )
     snake_case_ :     Union[str, Any]				=	encoder_inputs['''input_features'''].shape[2]
     snake_case_ :     Union[str, Any]				=	encoder_sequence_length // 2 if self.use_past else seq_length

     snake_case_ :     List[str]				=	super().generate_dummy_inputs(
         preprocessor.tokenizer  ,     lowercase_  ,     lowercase_  ,     lowercase_  ,     lowercase_				)

     snake_case_ :     Optional[Any]				=	encoder_inputs.pop('''input_features'''				)
     snake_case_ :     int				=	decoder_inputs.pop('''decoder_input_ids'''				)

     if "past_key_values" in decoder_inputs:
         snake_case_ :     Dict				=	decoder_inputs.pop('''past_key_values'''				)

     return dummy_inputs






 @property
 def 						_snake_case					(     self		:       Optional[int]				):
     return 1E-3










"""simple docstring"""

import sys

lowercase__    :  Dict							    =	(
    '''73167176531330624919225119674426574742355349194934'''
    '''96983520312774506326239578318016984801869478851843'''
    '''85861560789112949495459501737958331952853208805511'''
    '''12540698747158523863050715693290963295227443043557'''
    '''66896648950445244523161731856403098711121722383113'''
    '''62229893423380308135336276614282806444486645238749'''
    '''30358907296290491560440772390713810515859307960866'''
    '''70172427121883998797908792274921901699720888093776'''
    '''65727333001053367881220235421809751254540594752243'''
    '''52584907711670556013604839586446706324415722155397'''
    '''53697817977846174064955149290862569321978468622482'''
    '''83972241375657056057490261407972968652414535100474'''
    '''82166370484403199890008895243450658541227588666881'''
    '''16427171479924442928230863465674813919123162824586'''
    '''17866458359124566529476545682848912883142607690042'''
    '''24219022671055626321111109370544217506941658960408'''
    '''07198403850962455444362981230987879927244284909188'''
    '''84580156166097919133875499200524063689912560717606'''
    '''05886116467109405077541002256983155200055935729725'''
    '''71636269561882670428252483600823257530420752963450'''
)




def __lowercase			(							_a    ):
    snake_case_ :     List[Any]				=	1
    for digit in s:
        product *= int(_a    )
    return product




def __lowercase			(							_a = N    ):
    snake_case_ :     Optional[int]				=	-sys.maxsize - 1
    snake_case_ :     str				=	n[:13]
    snake_case_ :     List[Any]				=	13
    while cur_index < len(_a    ) - 13:
        if int(n[cur_index]    ) >= int(substr[0]    ):
            snake_case_ :     int				=	substr[1:] + n[cur_index]
            cur_index += 1
        else:
            snake_case_ :     Optional[Any]				=	max(_a		,			str_eval(_a    )    )
            snake_case_ :     Any				=	n[cur_index : cur_index + 13]
            cur_index += 13
    return largest_product


if __name__ == "__main__":
     print(f'{solution() = }')





