code: def unsigned_hex_to_signed_int(hex_string: str) -> int:
      
      v = struct.unpack(
          'q', struct.pack('Q', int(hex_string, 16)))[0]  # type: int
      return v
docs: Converts a 64-bit hex string to a signed int value.
  
      This is due to the fact that Apache Thrift only has signed values.
  
      Examples:
          '17133d482ba4f605' => 1662740067609015813
          'b6dbb1c2b362bf51' => -5270423489115668655
  
      :param hex_string: the string representation of a zipkin ID
      :returns: signed int representation