code: def __uncompress_public_key(public_key: bytes) -> bytes:
          
          is_even = public_key.startswith(b'\x02')
          x = string_to_number(public_key[1:])
  
          curve = NIST256p.curve
          order = NIST256p.order
          p = curve.p()
          alpha = (pow(x, 3, p) + (curve.a() * x) + curve.b()) % p
          beta = square_root_mod_prime(alpha, p)
          if is_even == bool(beta & 1):
              y = p - beta
          else:
              y = beta
          point = Point(curve, x, y, order)
          return b''.join([number_to_string(point.x(), order), number_to_string(point.y(), order)])
docs: Uncompress the compressed public key.
          :param public_key: compressed public key
          :return: uncompressed public key