text: """Helper functions."""
  from ctypes import c_ushort
  
  
  def calculate_crc16(input_data: bytes) -> int:
      """Calculate the CRC-16 of a byte string."""
      crc16_tab = []
      crc16_constant = 0xA001
  
      for i in range(0, 256):
          crc = c_ushort(i).value
          for j in range(0, 8):
              if crc & 0x0001:
                  crc = c_ushort(crc >> 1).value ^ crc16_constant
              else:
                  crc = c_ushort(crc >> 1).value
          crc16_tab.append(hex(crc))
  
      crcValue = 0xFFFF
  
      for c in input_data:
          tmp = crcValue ^ c
          rotated = c_ushort(crcValue >> 8).value
          crcValue = rotated ^ int(crc16_tab[(tmp & 0x00FF)], 0)
  
      return crcValue
  