



'''simple docstring'''



from collections import namedtuple

a__						:			Tuple										=			namedtuple('from_to', 'from_ to')

a__						:			List[Any]										=			{
    'millimeter': 'mm',
    'centimeter': 'cm',
    'meter': 'm',
    'kilometer': 'km',
    'inch': 'in',
    'inche': 'in',  # Trailing 's' has been stripped off
    'feet': 'ft',
    'foot': 'ft',
    'yard': 'yd',
    'mile': 'mi',
}

a__						:			List[str]										=			{
    'mm': from_to(0.0_01, 1_0_0_0),
    'cm': from_to(0.01, 1_0_0),
    'm': from_to(1, 1),
    'km': from_to(1_0_0_0, 0.0_01),
    'in': from_to(0.02_54, 39.37_01),
    'ft': from_to(0.30_48, 3.2_80_84),
    'yd': from_to(0.91_44, 1.0_93_61),
    'mi': from_to(16_09.34, 0.0_00_62_13_71),
}







def _lowercase   (  __A							,__A							,__A       ):



 '''simple docstring'''



 __UpperCamelCase				      =  from_type.lower().rstrip("""s"""       )
 __UpperCamelCase				      =  TYPE_CONVERSION.get(__A							,__A       )
 __UpperCamelCase				      =  to_type.lower().rstrip("""s"""       )
 __UpperCamelCase				      =  TYPE_CONVERSION.get(__A							,__A       )
 if new_from not in METRIC_CONVERSION:
  __UpperCamelCase				      =  (
      f"Invalid 'from_type' value: {from_type!r}.\n"
      f"Conversion abbreviations are: {', '.join(__A       )}"
  )
  raise ValueError(__A       )
 if new_to not in METRIC_CONVERSION:
  __UpperCamelCase				      =  (
      f"Invalid 'to_type' value: {to_type!r}.\n"
      f"Conversion abbreviations are: {', '.join(__A       )}"
  )
  raise ValueError(__A       )
 return value * METRIC_CONVERSION[new_from].from_ * METRIC_CONVERSION[new_to].to


if __name__ == "__main__":
 import doctest

 doctest.testmod()










'''simple docstring'''



a__						:			Any										=			{
    '0000': '0',
    '0001': '1',
    '0010': '2',
    '0011': '3',
    '0100': '4',
    '0101': '5',
    '0110': '6',
    '0111': '7',
    '1000': '8',
    '1001': '9',
    '1010': 'a',
    '1011': 'b',
    '1100': 'c',
    '1101': 'd',
    '1110': 'e',
    '1111': 'f',
}







def _lowercase   (  __A       ):



 '''simple docstring'''



 __UpperCamelCase				      =  str(__A       ).strip()

 # Exceptions
 if not binary_str:
  raise ValueError("""Empty string was passed to the function"""       )
 __UpperCamelCase				      =  binary_str[0] == """-"""
 __UpperCamelCase				      =  binary_str[1:] if is_negative else binary_str
 if not all(char in """01""" for char in binary_str       ):
  raise ValueError("""Non-binary value was passed to the function"""       )

 __UpperCamelCase				      =  (
     """0""" * (4 * (divmod(len(__A       )							,4       )[0] + 1) - len(__A       )) + binary_str
 )

 __UpperCamelCase				      =  []
 for x in range(0							,len(__A       )							,4       ):
  hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]]       )
 __UpperCamelCase				      =  """0x""" + """""".join(__A       )

 return "-" + hexadecimal_str if is_negative else hexadecimal_str


if __name__ == "__main__":
 from doctest import testmod

 testmod()





