code: def _from_signer_and_info(cls, signer, info, **kwargs):
          
          return cls(
              signer,
              service_account_email=info['client_email'],
              token_uri=info['token_uri'],
              project_id=info.get('project_id'), **kwargs)
docs: Creates a Credentials instance from a signer and service account
          info.
  
          Args:
              signer (google.auth.crypt.Signer): The signer used to sign JWTs.
              info (Mapping[str, str]): The service account info.
              kwargs: Additional arguments to pass to the constructor.
  
          Returns:
              google.auth.jwt.Credentials: The constructed credentials.
  
          Raises:
              ValueError: If the info is not in the expected format.