// Generated by the proto_extras plugin. DO NOT EDIT!
// source: components/private_ai/proto/private_ai.proto

#include "components/private_ai/proto/private_ai.equal.h"



#include "components/optimization_guide/proto/model_execution.equal.h"
#include "components/optimization_guide/proto/model_execution.pb.h"
#include "components/private_ai/proto/private_ai.pb.h"


namespace private_ai {
namespace proto {
bool operator==(const PrivateAiRequest& lhs, const PrivateAiRequest& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.request_case() != rhs.request_case()) return false;
  switch (lhs.request_case()) {
    case PrivateAiRequest::kGenerateContentRequest:
      if (lhs.generate_content_request() != rhs.generate_content_request()) return false;
      break;
    case PrivateAiRequest::kAnonymousTokenRequest:
      if (lhs.anonymous_token_request() != rhs.anonymous_token_request()) return false;
      break;
    case PrivateAiRequest::kPaicRequest:
      if (lhs.paic_request() != rhs.paic_request()) return false;
      break;
    case PrivateAiRequest::REQUEST_NOT_SET:
      break;
  }
  if (lhs.has_feature_name() != rhs.has_feature_name()) return false;
  if (lhs.has_feature_name() && lhs.feature_name() != rhs.feature_name()) return false;
  if (lhs.has_request_id() != rhs.has_request_id()) return false;
  if (lhs.has_request_id() && lhs.request_id() != rhs.request_id()) return false;
  return true;
}

bool operator!=(const PrivateAiRequest& lhs, const PrivateAiRequest& rhs) {
  return !(lhs == rhs);
}
bool operator==(const PrivateAiResponse& lhs, const PrivateAiResponse& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.response_case() != rhs.response_case()) return false;
  switch (lhs.response_case()) {
    case PrivateAiResponse::kGenerateContentResponse:
      if (lhs.generate_content_response() != rhs.generate_content_response()) return false;
      break;
    case PrivateAiResponse::kPaicResponse:
      if (lhs.paic_response() != rhs.paic_response()) return false;
      break;
    case PrivateAiResponse::RESPONSE_NOT_SET:
      break;
  }
  if (lhs.has_request_id() != rhs.has_request_id()) return false;
  if (lhs.has_request_id() && lhs.request_id() != rhs.request_id()) return false;
  return true;
}

bool operator!=(const PrivateAiResponse& lhs, const PrivateAiResponse& rhs) {
  return !(lhs == rhs);
}
bool operator==(const PaicMessage& lhs, const PaicMessage& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.has_feature_name() != rhs.has_feature_name()) return false;
  if (lhs.has_feature_name() && lhs.feature_name() != rhs.feature_name()) return false;
  if (lhs.has_execute_request_ext() != rhs.has_execute_request_ext()) return false;
  if (lhs.has_execute_request_ext() && lhs.execute_request_ext() != rhs.execute_request_ext()) return false;
  if (lhs.has_execute_response_ext() != rhs.has_execute_response_ext()) return false;
  if (lhs.has_execute_response_ext() && lhs.execute_response_ext() != rhs.execute_response_ext()) return false;
  if (lhs.has_private_execute_request_ext() != rhs.has_private_execute_request_ext()) return false;
  if (lhs.has_private_execute_request_ext() && lhs.private_execute_request_ext() != rhs.private_execute_request_ext()) return false;
  return true;
}

bool operator!=(const PaicMessage& lhs, const PaicMessage& rhs) {
  return !(lhs == rhs);
}
bool operator==(const GenerateContentRequest& lhs, const GenerateContentRequest& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.has_model() != rhs.has_model()) return false;
  if (lhs.has_model() && lhs.model() != rhs.model()) return false;
  if (lhs.contents().size() != rhs.contents().size()) return false;
  for (int i = 0; i < lhs.contents().size(); ++i) {
    if (lhs.contents()[i] != rhs.contents()[i]) return false;
  }
  return true;
}

bool operator!=(const GenerateContentRequest& lhs, const GenerateContentRequest& rhs) {
  return !(lhs == rhs);
}
bool operator==(const Content& lhs, const Content& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.has_role() != rhs.has_role()) return false;
  if (lhs.has_role() && lhs.role() != rhs.role()) return false;
  if (lhs.parts().size() != rhs.parts().size()) return false;
  for (int i = 0; i < lhs.parts().size(); ++i) {
    if (lhs.parts()[i] != rhs.parts()[i]) return false;
  }
  return true;
}

bool operator!=(const Content& lhs, const Content& rhs) {
  return !(lhs == rhs);
}
bool operator==(const Part& lhs, const Part& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.data_case() != rhs.data_case()) return false;
  switch (lhs.data_case()) {
    case Part::kText:
      if (lhs.text() != rhs.text()) return false;
      break;
    case Part::kInlineData:
      if (lhs.inline_data() != rhs.inline_data()) return false;
      break;
    case Part::DATA_NOT_SET:
      break;
  }
  return true;
}

bool operator!=(const Part& lhs, const Part& rhs) {
  return !(lhs == rhs);
}
bool operator==(const Blob& lhs, const Blob& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.has_mime_type() != rhs.has_mime_type()) return false;
  if (lhs.has_mime_type() && lhs.mime_type() != rhs.mime_type()) return false;
  if (lhs.has_data() != rhs.has_data()) return false;
  if (lhs.has_data() && lhs.data() != rhs.data()) return false;
  if (lhs.has_will_continue() != rhs.has_will_continue()) return false;
  if (lhs.has_will_continue() && lhs.will_continue() != rhs.will_continue()) return false;
  return true;
}

bool operator!=(const Blob& lhs, const Blob& rhs) {
  return !(lhs == rhs);
}
bool operator==(const GenerateContentResponse& lhs, const GenerateContentResponse& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.candidates().size() != rhs.candidates().size()) return false;
  for (int i = 0; i < lhs.candidates().size(); ++i) {
    if (lhs.candidates()[i] != rhs.candidates()[i]) return false;
  }
  return true;
}

bool operator!=(const GenerateContentResponse& lhs, const GenerateContentResponse& rhs) {
  return !(lhs == rhs);
}
bool operator==(const Candidate& lhs, const Candidate& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.has_index() != rhs.has_index()) return false;
  if (lhs.has_index() && lhs.index() != rhs.index()) return false;
  if (lhs.has_content() != rhs.has_content()) return false;
  if (lhs.has_content() && lhs.content() != rhs.content()) return false;
  if (lhs.has_finish_reason() != rhs.has_finish_reason()) return false;
  if (lhs.has_finish_reason() && lhs.finish_reason() != rhs.finish_reason()) return false;
  return true;
}

bool operator!=(const Candidate& lhs, const Candidate& rhs) {
  return !(lhs == rhs);
}
bool operator==(const ChromeClientMetadata& lhs, const ChromeClientMetadata& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.has_product_name() != rhs.has_product_name()) return false;
  if (lhs.has_product_name() && lhs.product_name() != rhs.product_name()) return false;
  if (lhs.has_platform() != rhs.has_platform()) return false;
  if (lhs.has_platform() && lhs.platform() != rhs.platform()) return false;
  if (lhs.has_channel() != rhs.has_channel()) return false;
  if (lhs.has_channel() && lhs.channel() != rhs.channel()) return false;
  return true;
}

bool operator!=(const ChromeClientMetadata& lhs, const ChromeClientMetadata& rhs) {
  return !(lhs == rhs);
}
bool operator==(const ClientMetadata& lhs, const ClientMetadata& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.platform_metadata_case() != rhs.platform_metadata_case()) return false;
  switch (lhs.platform_metadata_case()) {
    case ClientMetadata::kChromeClientMetadata:
      if (lhs.chrome_client_metadata() != rhs.chrome_client_metadata()) return false;
      break;
    case ClientMetadata::PLATFORM_METADATA_NOT_SET:
      break;
  }
  return true;
}

bool operator!=(const ClientMetadata& lhs, const ClientMetadata& rhs) {
  return !(lhs == rhs);
}
bool operator==(const AnonymousTokenRequest& lhs, const AnonymousTokenRequest& rhs) {
  if (&lhs == &rhs) return true;
  if (lhs.unknown_fields() != rhs.unknown_fields()) return false;
  if (lhs.has_anonymous_token() != rhs.has_anonymous_token()) return false;
  if (lhs.has_anonymous_token() && lhs.anonymous_token() != rhs.anonymous_token()) return false;
  if (lhs.has_client_metadata() != rhs.has_client_metadata()) return false;
  if (lhs.has_client_metadata() && lhs.client_metadata() != rhs.client_metadata()) return false;
  return true;
}

bool operator!=(const AnonymousTokenRequest& lhs, const AnonymousTokenRequest& rhs) {
  return !(lhs == rhs);
}
}  // namespace proto
}  // namespace private_ai

