






'''simple docstring'''




import argparse
import datetime







def       __UpperCAmelCase						(  lowerCamelCase_)							->     str:
		UpperCamelCase__				:					int					=					{
		    '0': 'Sunday',
		    '1': 'Monday',
		    '2': 'Tuesday',
		    '3': 'Wednesday',
		    '4': 'Thursday',
		    '5': 'Friday',
		    '6': 'Saturday',
		}

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

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

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

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

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

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

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

		# Get datetime obj for validation
		UpperCamelCase__				:					int					=					datetime.date(int(lowerCamelCase_)     ,      int(lowerCamelCase_)     ,      int(lowerCamelCase_))

		# Start math
		if m <= 2:
				UpperCamelCase__				:					int					=					y - 1
				UpperCamelCase__				:					List[Any]					=					m + 12
		# maths var
		UpperCamelCase__				:					int					=					int(str(lowerCamelCase_)[:2])
		UpperCamelCase__				:					int					=					int(str(lowerCamelCase_)[2:])
		UpperCamelCase__				:					int					=					int(2.6 * m - 5.39)
		UpperCamelCase__				:					int					=					int(c / 4)
		UpperCamelCase__				:					int					=					int(k / 4)
		UpperCamelCase__				:					int					=					int(d + k)
		UpperCamelCase__				:					int					=					int(t + u + v + x)
		UpperCamelCase__				:					int					=					int(z - (2 * c))
		UpperCamelCase__				:					int					=					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
		UpperCamelCase__				:					str					=					f'Your date {date_input}, is a {days[str(lowerCamelCase_)]}!'
		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)












'''simple docstring'''




from typing import Union

import fire
import torch
from tqdm import tqdm







def       __UpperCAmelCase						(  lowerCamelCase_     ,      lowerCamelCase_ = "cpu"     ,      lowerCamelCase_ = None)							->     None:
		UpperCamelCase__				:					List[Any]					=					torch.load(lowerCamelCase_     ,      map_location=lowerCamelCase_)
		for k, v in tqdm(state_dict.items()):
				if not isinstance(lowerCamelCase_     ,      torch.Tensor):
						raise TypeError('FP16 conversion only works on paths that are saved state dicts, like pytorch_model.bin')
				UpperCamelCase__				:					int					=					v.half()
		if save_path is None:  # overwrite src_path
				UpperCamelCase__				:					List[Any]					=					src_path
		torch.save(lowerCamelCase_     ,      lowerCamelCase_)


if __name__ == "__main__":
		fire.Fire(convert)




