






import argparse
import datetime







def      snake_case		(							UpperCAmelCase	:       str   ):
				A	 =      {
				    '0': 'Sunday',
				    '1': 'Monday',
				    '2': 'Tuesday',
				    '3': 'Wednesday',
				    '4': 'Thursday',
				    '5': 'Friday',
				    '6': 'Saturday',
				}

				A	 =      {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 0}

				# Validate
				if not 0 < len(UpperCAmelCase   ) < 11:
								raise ValueError('Must be 10 characters long'   )

				# Get month
				A	 =      int(date_input[0] + date_input[1]   )
				# Validate
				if not 0 < m < 13:
								raise ValueError('Month must be between 1 - 12'   )

				A	 =      date_input[2]
				# Validate
				if sep_a not in ["-", "/"]:
								raise ValueError('Date separator must be \'-\' or \'/\''   )

				# Get day
				A	 =      int(date_input[3] + date_input[4]   )
				# Validate
				if not 0 < d < 32:
								raise ValueError('Date must be between 1 - 31'   )

				# Get second separator
				A	 =      date_input[5]
				# Validate
				if sep_a not in ["-", "/"]:
								raise ValueError('Date separator must be \'-\' or \'/\''   )

				# Get year
				A	 =      int(date_input[6] + date_input[7] + date_input[8] + date_input[9]   )
				# Arbitrary year range
				if not 45 < y < 85_00:
								raise ValueError(
								    'Year out of range. There has to be some sort of limit...right?'   )

				# Get datetime obj for validation
				A	 =      datetime.date(int(UpperCAmelCase   ),						int(UpperCAmelCase   ),						int(UpperCAmelCase   )   )

				# Start math
				if m <= 2:
								A	 =      y - 1
								A	 =      m + 12
				# maths var
				A	 =      int(str(UpperCAmelCase   )[:2]   )
				A	 =      int(str(UpperCAmelCase   )[2:]   )
				A	 =      int(2.6 * m - 5.39   )
				A	 =      int(c / 4   )
				A	 =      int(k / 4   )
				A	 =      int(d + k   )
				A	 =      int(t + u + v + x   )
				A	 =      int(z - (2 * c)   )
				A	 =      round(w % 7   )
				# End math

				# Validate math
				if f != convert_datetime_days[dt_ck.weekday()]:
								raise AssertionError('The date was evaluated incorrectly. Contact developer.'   )

				# Response
				A	 =      f'Your date {date_input}, is a {days[str(UpperCAmelCase   )]}!'
				return response


if __name__ == "__main__":
					import doctest

					doctest.testmod()
					lowerCAmelCase_           = argparse.ArgumentParser(
					    description=(
					        'Find out what day of the week nearly any date is or was. Enter '
					        'date as a string in the mm-dd-yyyy or mm/dd/yyyy format'
					    )
					)
					parser.add_argument(
					    'date_input', type=str, help='Date as a string (mm-dd-yyyy or mm/dd/yyyy)'
					)
					lowerCAmelCase_           = parser.parse_args()
					zeller(args.date_input)













from ...configuration_utils import PretrainedConfig
class      UpperCamelCase (				snake_case__ ):







		"""simple docstring"""



		snake_case    =   "bert-generation"
		def __init__(  self		:       Tuple						,_SCREAMING_SNAKE_CASE		:       Tuple=5_0_3_5_8						,_SCREAMING_SNAKE_CASE		:       str=1_0_2_4						,_SCREAMING_SNAKE_CASE		:       List[str]=2_4						,_SCREAMING_SNAKE_CASE		:       Optional[Any]=1_6						,_SCREAMING_SNAKE_CASE		:       Dict=4_0_9_6						,_SCREAMING_SNAKE_CASE		:       str="gelu"						,_SCREAMING_SNAKE_CASE		:       str=0.1						,_SCREAMING_SNAKE_CASE		:       Optional[Any]=0.1						,_SCREAMING_SNAKE_CASE		:       Tuple=5_1_2						,_SCREAMING_SNAKE_CASE		:       Optional[Any]=0.02						,_SCREAMING_SNAKE_CASE		:       List[str]=1E-12						,_SCREAMING_SNAKE_CASE		:       Tuple=0						,_SCREAMING_SNAKE_CASE		:       Union[str, Any]=2						,_SCREAMING_SNAKE_CASE		:       Optional[int]=1						,_SCREAMING_SNAKE_CASE		:       str="absolute"						,_SCREAMING_SNAKE_CASE		:       Optional[int]=True						,**_SCREAMING_SNAKE_CASE		:       Optional[int]						,)    ->   Dict:


						'''simple docstring'''
						super().__init__(pad_token_id=_SCREAMING_SNAKE_CASE						,bos_token_id=_SCREAMING_SNAKE_CASE						,eos_token_id=_SCREAMING_SNAKE_CASE						,**_SCREAMING_SNAKE_CASE		)

						A	 =      vocab_size
						A	 =      hidden_size
						A	 =      num_hidden_layers
						A	 =      num_attention_heads
						A	 =      hidden_act
						A	 =      intermediate_size
						A	 =      hidden_dropout_prob
						A	 =      attention_probs_dropout_prob
						A	 =      max_position_embeddings
						A	 =      initializer_range
						A	 =      layer_norm_eps
						A	 =      position_embedding_type
						A	 =      use_cache





