// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: analysis.proto
// Protobuf C++ Version: 7.35.0

#ifndef analysis_2eproto_2epb_2eh
#define analysis_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

// clang-format off
#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 7035000
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/generated_enum_util.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_analysis_2eproto

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct TableStruct_analysis_2eproto {
  static const ::uint32_t offsets[];
};
namespace content_analysis {
namespace sdk {
enum AnalysisConnector : int;
extern const uint32_t AnalysisConnector_internal_data_[];
enum ClientDownloadRequest_ResourceType : int;
extern const uint32_t ClientDownloadRequest_ResourceType_internal_data_[];
enum ContentAnalysisAcknowledgement_FinalAction : int;
extern const uint32_t ContentAnalysisAcknowledgement_FinalAction_internal_data_[];
enum ContentAnalysisAcknowledgement_Status : int;
extern const uint32_t ContentAnalysisAcknowledgement_Status_internal_data_[];
enum ContentAnalysisRequest_Reason : int;
extern const uint32_t ContentAnalysisRequest_Reason_internal_data_[];
enum ContentAnalysisResponse_Result_Status : int;
extern const uint32_t ContentAnalysisResponse_Result_Status_internal_data_[];
enum ContentAnalysisResponse_Result_TriggeredRule_Action : int;
extern const uint32_t ContentAnalysisResponse_Result_TriggeredRule_Action_internal_data_[];
enum ContentMetaData_PrintMetadata_PrinterType : int;
extern const uint32_t ContentMetaData_PrintMetadata_PrinterType_internal_data_[];
class AgentToChrome;
struct AgentToChromeGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AgentToChromeGlobalsTypeInternal AgentToChrome_globals_;
extern const ::google::protobuf::internal::ClassDataLite AgentToChrome_class_data_;
#else
extern const AgentToChromeGlobalsTypeInternal AgentToChrome_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ChromeToAgent;
struct ChromeToAgentGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ChromeToAgentGlobalsTypeInternal ChromeToAgent_globals_;
extern const ::google::protobuf::internal::ClassDataLite ChromeToAgent_class_data_;
#else
extern const ChromeToAgentGlobalsTypeInternal ChromeToAgent_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ClientDownloadRequest;
struct ClientDownloadRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ClientDownloadRequestGlobalsTypeInternal ClientDownloadRequest_globals_;
extern const ::google::protobuf::internal::ClassDataLite ClientDownloadRequest_class_data_;
#else
extern const ClientDownloadRequestGlobalsTypeInternal ClientDownloadRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ClientDownloadRequest_Resource;
struct ClientDownloadRequest_ResourceGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ClientDownloadRequest_ResourceGlobalsTypeInternal ClientDownloadRequest_Resource_globals_;
extern const ::google::protobuf::internal::ClassDataLite ClientDownloadRequest_Resource_class_data_;
#else
extern const ClientDownloadRequest_ResourceGlobalsTypeInternal ClientDownloadRequest_Resource_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ClientMetadata;
struct ClientMetadataGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ClientMetadataGlobalsTypeInternal ClientMetadata_globals_;
extern const ::google::protobuf::internal::ClassDataLite ClientMetadata_class_data_;
#else
extern const ClientMetadataGlobalsTypeInternal ClientMetadata_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ClientMetadata_Browser;
struct ClientMetadata_BrowserGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ClientMetadata_BrowserGlobalsTypeInternal ClientMetadata_Browser_globals_;
extern const ::google::protobuf::internal::ClassDataLite ClientMetadata_Browser_class_data_;
#else
extern const ClientMetadata_BrowserGlobalsTypeInternal ClientMetadata_Browser_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ContentAnalysisAcknowledgement;
struct ContentAnalysisAcknowledgementGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ContentAnalysisAcknowledgementGlobalsTypeInternal ContentAnalysisAcknowledgement_globals_;
extern const ::google::protobuf::internal::ClassDataLite ContentAnalysisAcknowledgement_class_data_;
#else
extern const ContentAnalysisAcknowledgementGlobalsTypeInternal ContentAnalysisAcknowledgement_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ContentAnalysisCancelRequests;
struct ContentAnalysisCancelRequestsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ContentAnalysisCancelRequestsGlobalsTypeInternal ContentAnalysisCancelRequests_globals_;
extern const ::google::protobuf::internal::ClassDataLite ContentAnalysisCancelRequests_class_data_;
#else
extern const ContentAnalysisCancelRequestsGlobalsTypeInternal ContentAnalysisCancelRequests_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ContentAnalysisRequest;
struct ContentAnalysisRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ContentAnalysisRequestGlobalsTypeInternal ContentAnalysisRequest_globals_;
extern const ::google::protobuf::internal::ClassDataLite ContentAnalysisRequest_class_data_;
#else
extern const ContentAnalysisRequestGlobalsTypeInternal ContentAnalysisRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ContentAnalysisRequest_PrintData;
struct ContentAnalysisRequest_PrintDataGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ContentAnalysisRequest_PrintDataGlobalsTypeInternal ContentAnalysisRequest_PrintData_globals_;
extern const ::google::protobuf::internal::ClassDataLite ContentAnalysisRequest_PrintData_class_data_;
#else
extern const ContentAnalysisRequest_PrintDataGlobalsTypeInternal ContentAnalysisRequest_PrintData_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ContentAnalysisResponse;
struct ContentAnalysisResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ContentAnalysisResponseGlobalsTypeInternal ContentAnalysisResponse_globals_;
extern const ::google::protobuf::internal::ClassDataLite ContentAnalysisResponse_class_data_;
#else
extern const ContentAnalysisResponseGlobalsTypeInternal ContentAnalysisResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ContentAnalysisResponse_Result;
struct ContentAnalysisResponse_ResultGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ContentAnalysisResponse_ResultGlobalsTypeInternal ContentAnalysisResponse_Result_globals_;
extern const ::google::protobuf::internal::ClassDataLite ContentAnalysisResponse_Result_class_data_;
#else
extern const ContentAnalysisResponse_ResultGlobalsTypeInternal ContentAnalysisResponse_Result_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ContentAnalysisResponse_Result_TriggeredRule;
struct ContentAnalysisResponse_Result_TriggeredRuleGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ContentAnalysisResponse_Result_TriggeredRuleGlobalsTypeInternal ContentAnalysisResponse_Result_TriggeredRule_globals_;
extern const ::google::protobuf::internal::ClassDataLite ContentAnalysisResponse_Result_TriggeredRule_class_data_;
#else
extern const ContentAnalysisResponse_Result_TriggeredRuleGlobalsTypeInternal ContentAnalysisResponse_Result_TriggeredRule_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ContentMetaData;
struct ContentMetaDataGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ContentMetaDataGlobalsTypeInternal ContentMetaData_globals_;
extern const ::google::protobuf::internal::ClassDataLite ContentMetaData_class_data_;
#else
extern const ContentMetaDataGlobalsTypeInternal ContentMetaData_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ContentMetaData_PrintMetadata;
struct ContentMetaData_PrintMetadataGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ContentMetaData_PrintMetadataGlobalsTypeInternal ContentMetaData_PrintMetadata_globals_;
extern const ::google::protobuf::internal::ClassDataLite ContentMetaData_PrintMetadata_class_data_;
#else
extern const ContentMetaData_PrintMetadataGlobalsTypeInternal ContentMetaData_PrintMetadata_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
}  // namespace sdk
}  // namespace content_analysis
namespace google {
namespace protobuf {
template <>
internal::EnumTraitsT<::content_analysis::sdk::AnalysisConnector_internal_data_>
    internal::EnumTraitsImpl::value<::content_analysis::sdk::AnalysisConnector>;
template <>
internal::EnumTraitsT<::content_analysis::sdk::ClientDownloadRequest_ResourceType_internal_data_>
    internal::EnumTraitsImpl::value<::content_analysis::sdk::ClientDownloadRequest_ResourceType>;
template <>
internal::EnumTraitsT<::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction_internal_data_>
    internal::EnumTraitsImpl::value<::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction>;
template <>
internal::EnumTraitsT<::content_analysis::sdk::ContentAnalysisAcknowledgement_Status_internal_data_>
    internal::EnumTraitsImpl::value<::content_analysis::sdk::ContentAnalysisAcknowledgement_Status>;
template <>
internal::EnumTraitsT<::content_analysis::sdk::ContentAnalysisRequest_Reason_internal_data_>
    internal::EnumTraitsImpl::value<::content_analysis::sdk::ContentAnalysisRequest_Reason>;
template <>
internal::EnumTraitsT<::content_analysis::sdk::ContentAnalysisResponse_Result_Status_internal_data_>
    internal::EnumTraitsImpl::value<::content_analysis::sdk::ContentAnalysisResponse_Result_Status>;
template <>
internal::EnumTraitsT<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action_internal_data_>
    internal::EnumTraitsImpl::value<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action>;
template <>
internal::EnumTraitsT<::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType_internal_data_>
    internal::EnumTraitsImpl::value<::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType>;
}  // namespace protobuf
}  // namespace google

namespace content_analysis {
namespace sdk {
enum ContentMetaData_PrintMetadata_PrinterType : int {
  ContentMetaData_PrintMetadata_PrinterType_UNKNOWN = 0,
  ContentMetaData_PrintMetadata_PrinterType_CLOUD = 1,
  ContentMetaData_PrintMetadata_PrinterType_LOCAL = 2,
};

extern const uint32_t ContentMetaData_PrintMetadata_PrinterType_internal_data_[];
inline constexpr ContentMetaData_PrintMetadata_PrinterType ContentMetaData_PrintMetadata_PrinterType_PrinterType_MIN =
    static_cast<ContentMetaData_PrintMetadata_PrinterType>(0);
inline constexpr ContentMetaData_PrintMetadata_PrinterType ContentMetaData_PrintMetadata_PrinterType_PrinterType_MAX =
    static_cast<ContentMetaData_PrintMetadata_PrinterType>(2);
[[nodiscard]] inline bool ContentMetaData_PrintMetadata_PrinterType_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int ContentMetaData_PrintMetadata_PrinterType_PrinterType_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::std::string& ContentMetaData_PrintMetadata_PrinterType_Name(ContentMetaData_PrintMetadata_PrinterType value);
template <typename T>
[[nodiscard]] const ::std::string& ContentMetaData_PrintMetadata_PrinterType_Name(T value) {
  static_assert(::std::is_same<T, ContentMetaData_PrintMetadata_PrinterType>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to PrinterType_Name().");
  return ContentMetaData_PrintMetadata_PrinterType_Name(static_cast<ContentMetaData_PrintMetadata_PrinterType>(value));
}
[[nodiscard]] bool ContentMetaData_PrintMetadata_PrinterType_Parse(
    ::absl::string_view name, ContentMetaData_PrintMetadata_PrinterType* PROTOBUF_NONNULL value);
enum ClientDownloadRequest_ResourceType : int {
  ClientDownloadRequest_ResourceType_DOWNLOAD_URL = 0,
  ClientDownloadRequest_ResourceType_DOWNLOAD_REDIRECT = 1,
  ClientDownloadRequest_ResourceType_TAB_URL = 2,
  ClientDownloadRequest_ResourceType_TAB_REDIRECT = 3,
  ClientDownloadRequest_ResourceType_PPAPI_DOCUMENT = 4,
  ClientDownloadRequest_ResourceType_PPAPI_PLUGIN = 5,
};

extern const uint32_t ClientDownloadRequest_ResourceType_internal_data_[];
inline constexpr ClientDownloadRequest_ResourceType ClientDownloadRequest_ResourceType_ResourceType_MIN =
    static_cast<ClientDownloadRequest_ResourceType>(0);
inline constexpr ClientDownloadRequest_ResourceType ClientDownloadRequest_ResourceType_ResourceType_MAX =
    static_cast<ClientDownloadRequest_ResourceType>(5);
[[nodiscard]] inline bool ClientDownloadRequest_ResourceType_IsValid(int value) {
  return 0 <= value && value <= 5;
}
inline constexpr int ClientDownloadRequest_ResourceType_ResourceType_ARRAYSIZE = 5 + 1;
[[nodiscard]] const ::std::string& ClientDownloadRequest_ResourceType_Name(ClientDownloadRequest_ResourceType value);
template <typename T>
[[nodiscard]] const ::std::string& ClientDownloadRequest_ResourceType_Name(T value) {
  static_assert(::std::is_same<T, ClientDownloadRequest_ResourceType>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to ResourceType_Name().");
  return ClientDownloadRequest_ResourceType_Name(static_cast<ClientDownloadRequest_ResourceType>(value));
}
[[nodiscard]] bool ClientDownloadRequest_ResourceType_Parse(
    ::absl::string_view name, ClientDownloadRequest_ResourceType* PROTOBUF_NONNULL value);
enum ContentAnalysisRequest_Reason : int {
  ContentAnalysisRequest_Reason_UNKNOWN = 0,
  ContentAnalysisRequest_Reason_CLIPBOARD_PASTE = 1,
  ContentAnalysisRequest_Reason_DRAG_AND_DROP = 2,
  ContentAnalysisRequest_Reason_FILE_PICKER_DIALOG = 3,
  ContentAnalysisRequest_Reason_PRINT_PREVIEW_PRINT = 4,
  ContentAnalysisRequest_Reason_SYSTEM_DIALOG_PRINT = 5,
  ContentAnalysisRequest_Reason_NORMAL_DOWNLOAD = 6,
  ContentAnalysisRequest_Reason_SAVE_AS_DOWNLOAD = 7,
};

extern const uint32_t ContentAnalysisRequest_Reason_internal_data_[];
inline constexpr ContentAnalysisRequest_Reason ContentAnalysisRequest_Reason_Reason_MIN =
    static_cast<ContentAnalysisRequest_Reason>(0);
inline constexpr ContentAnalysisRequest_Reason ContentAnalysisRequest_Reason_Reason_MAX =
    static_cast<ContentAnalysisRequest_Reason>(7);
[[nodiscard]] inline bool ContentAnalysisRequest_Reason_IsValid(int value) {
  return 0 <= value && value <= 7;
}
inline constexpr int ContentAnalysisRequest_Reason_Reason_ARRAYSIZE = 7 + 1;
[[nodiscard]] const ::std::string& ContentAnalysisRequest_Reason_Name(ContentAnalysisRequest_Reason value);
template <typename T>
[[nodiscard]] const ::std::string& ContentAnalysisRequest_Reason_Name(T value) {
  static_assert(::std::is_same<T, ContentAnalysisRequest_Reason>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Reason_Name().");
  return ContentAnalysisRequest_Reason_Name(static_cast<ContentAnalysisRequest_Reason>(value));
}
[[nodiscard]] bool ContentAnalysisRequest_Reason_Parse(
    ::absl::string_view name, ContentAnalysisRequest_Reason* PROTOBUF_NONNULL value);
enum ContentAnalysisResponse_Result_TriggeredRule_Action : int {
  ContentAnalysisResponse_Result_TriggeredRule_Action_ACTION_UNSPECIFIED = 0,
  ContentAnalysisResponse_Result_TriggeredRule_Action_REPORT_ONLY = 1,
  ContentAnalysisResponse_Result_TriggeredRule_Action_WARN = 2,
  ContentAnalysisResponse_Result_TriggeredRule_Action_BLOCK = 3,
};

extern const uint32_t ContentAnalysisResponse_Result_TriggeredRule_Action_internal_data_[];
inline constexpr ContentAnalysisResponse_Result_TriggeredRule_Action ContentAnalysisResponse_Result_TriggeredRule_Action_Action_MIN =
    static_cast<ContentAnalysisResponse_Result_TriggeredRule_Action>(0);
inline constexpr ContentAnalysisResponse_Result_TriggeredRule_Action ContentAnalysisResponse_Result_TriggeredRule_Action_Action_MAX =
    static_cast<ContentAnalysisResponse_Result_TriggeredRule_Action>(3);
[[nodiscard]] inline bool ContentAnalysisResponse_Result_TriggeredRule_Action_IsValid(int value) {
  return 0 <= value && value <= 3;
}
inline constexpr int ContentAnalysisResponse_Result_TriggeredRule_Action_Action_ARRAYSIZE = 3 + 1;
[[nodiscard]] const ::std::string& ContentAnalysisResponse_Result_TriggeredRule_Action_Name(ContentAnalysisResponse_Result_TriggeredRule_Action value);
template <typename T>
[[nodiscard]] const ::std::string& ContentAnalysisResponse_Result_TriggeredRule_Action_Name(T value) {
  static_assert(::std::is_same<T, ContentAnalysisResponse_Result_TriggeredRule_Action>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Action_Name().");
  return ContentAnalysisResponse_Result_TriggeredRule_Action_Name(static_cast<ContentAnalysisResponse_Result_TriggeredRule_Action>(value));
}
[[nodiscard]] bool ContentAnalysisResponse_Result_TriggeredRule_Action_Parse(
    ::absl::string_view name, ContentAnalysisResponse_Result_TriggeredRule_Action* PROTOBUF_NONNULL value);
enum ContentAnalysisResponse_Result_Status : int {
  ContentAnalysisResponse_Result_Status_STATUS_UNKNOWN = 0,
  ContentAnalysisResponse_Result_Status_SUCCESS = 1,
  ContentAnalysisResponse_Result_Status_FAILURE = 2,
};

extern const uint32_t ContentAnalysisResponse_Result_Status_internal_data_[];
inline constexpr ContentAnalysisResponse_Result_Status ContentAnalysisResponse_Result_Status_Status_MIN =
    static_cast<ContentAnalysisResponse_Result_Status>(0);
inline constexpr ContentAnalysisResponse_Result_Status ContentAnalysisResponse_Result_Status_Status_MAX =
    static_cast<ContentAnalysisResponse_Result_Status>(2);
[[nodiscard]] inline bool ContentAnalysisResponse_Result_Status_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int ContentAnalysisResponse_Result_Status_Status_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::std::string& ContentAnalysisResponse_Result_Status_Name(ContentAnalysisResponse_Result_Status value);
template <typename T>
[[nodiscard]] const ::std::string& ContentAnalysisResponse_Result_Status_Name(T value) {
  static_assert(::std::is_same<T, ContentAnalysisResponse_Result_Status>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Status_Name().");
  return ContentAnalysisResponse_Result_Status_Name(static_cast<ContentAnalysisResponse_Result_Status>(value));
}
[[nodiscard]] bool ContentAnalysisResponse_Result_Status_Parse(
    ::absl::string_view name, ContentAnalysisResponse_Result_Status* PROTOBUF_NONNULL value);
enum ContentAnalysisAcknowledgement_Status : int {
  ContentAnalysisAcknowledgement_Status_SUCCESS = 1,
  ContentAnalysisAcknowledgement_Status_INVALID_RESPONSE = 2,
  ContentAnalysisAcknowledgement_Status_TOO_LATE = 3,
};

extern const uint32_t ContentAnalysisAcknowledgement_Status_internal_data_[];
inline constexpr ContentAnalysisAcknowledgement_Status ContentAnalysisAcknowledgement_Status_Status_MIN =
    static_cast<ContentAnalysisAcknowledgement_Status>(1);
inline constexpr ContentAnalysisAcknowledgement_Status ContentAnalysisAcknowledgement_Status_Status_MAX =
    static_cast<ContentAnalysisAcknowledgement_Status>(3);
[[nodiscard]] inline bool ContentAnalysisAcknowledgement_Status_IsValid(int value) {
  return 1 <= value && value <= 3;
}
inline constexpr int ContentAnalysisAcknowledgement_Status_Status_ARRAYSIZE = 3 + 1;
[[nodiscard]] const ::std::string& ContentAnalysisAcknowledgement_Status_Name(ContentAnalysisAcknowledgement_Status value);
template <typename T>
[[nodiscard]] const ::std::string& ContentAnalysisAcknowledgement_Status_Name(T value) {
  static_assert(::std::is_same<T, ContentAnalysisAcknowledgement_Status>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Status_Name().");
  return ContentAnalysisAcknowledgement_Status_Name(static_cast<ContentAnalysisAcknowledgement_Status>(value));
}
[[nodiscard]] bool ContentAnalysisAcknowledgement_Status_Parse(
    ::absl::string_view name, ContentAnalysisAcknowledgement_Status* PROTOBUF_NONNULL value);
enum ContentAnalysisAcknowledgement_FinalAction : int {
  ContentAnalysisAcknowledgement_FinalAction_ACTION_UNSPECIFIED = 0,
  ContentAnalysisAcknowledgement_FinalAction_ALLOW = 1,
  ContentAnalysisAcknowledgement_FinalAction_REPORT_ONLY = 2,
  ContentAnalysisAcknowledgement_FinalAction_WARN = 3,
  ContentAnalysisAcknowledgement_FinalAction_BLOCK = 4,
};

extern const uint32_t ContentAnalysisAcknowledgement_FinalAction_internal_data_[];
inline constexpr ContentAnalysisAcknowledgement_FinalAction ContentAnalysisAcknowledgement_FinalAction_FinalAction_MIN =
    static_cast<ContentAnalysisAcknowledgement_FinalAction>(0);
inline constexpr ContentAnalysisAcknowledgement_FinalAction ContentAnalysisAcknowledgement_FinalAction_FinalAction_MAX =
    static_cast<ContentAnalysisAcknowledgement_FinalAction>(4);
[[nodiscard]] inline bool ContentAnalysisAcknowledgement_FinalAction_IsValid(int value) {
  return 0 <= value && value <= 4;
}
inline constexpr int ContentAnalysisAcknowledgement_FinalAction_FinalAction_ARRAYSIZE = 4 + 1;
[[nodiscard]] const ::std::string& ContentAnalysisAcknowledgement_FinalAction_Name(ContentAnalysisAcknowledgement_FinalAction value);
template <typename T>
[[nodiscard]] const ::std::string& ContentAnalysisAcknowledgement_FinalAction_Name(T value) {
  static_assert(::std::is_same<T, ContentAnalysisAcknowledgement_FinalAction>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to FinalAction_Name().");
  return ContentAnalysisAcknowledgement_FinalAction_Name(static_cast<ContentAnalysisAcknowledgement_FinalAction>(value));
}
[[nodiscard]] bool ContentAnalysisAcknowledgement_FinalAction_Parse(
    ::absl::string_view name, ContentAnalysisAcknowledgement_FinalAction* PROTOBUF_NONNULL value);
enum AnalysisConnector : int {
  ANALYSIS_CONNECTOR_UNSPECIFIED = 0,
  FILE_DOWNLOADED = 1,
  FILE_ATTACHED = 2,
  BULK_DATA_ENTRY = 3,
  PRINT = 4,
  FILE_TRANSFER = 5,
};

extern const uint32_t AnalysisConnector_internal_data_[];
inline constexpr AnalysisConnector AnalysisConnector_MIN =
    static_cast<AnalysisConnector>(0);
inline constexpr AnalysisConnector AnalysisConnector_MAX =
    static_cast<AnalysisConnector>(5);
[[nodiscard]] inline bool AnalysisConnector_IsValid(int value) {
  return 0 <= value && value <= 5;
}
inline constexpr int AnalysisConnector_ARRAYSIZE = 5 + 1;
[[nodiscard]] const ::std::string& AnalysisConnector_Name(AnalysisConnector value);
template <typename T>
[[nodiscard]] const ::std::string& AnalysisConnector_Name(T value) {
  static_assert(::std::is_same<T, AnalysisConnector>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to AnalysisConnector_Name().");
  return AnalysisConnector_Name(static_cast<AnalysisConnector>(value));
}
[[nodiscard]] bool AnalysisConnector_Parse(
    ::absl::string_view name, AnalysisConnector* PROTOBUF_NONNULL value);
using ::google::protobuf::internal::generated_enum::AbslParseFlag;
using ::google::protobuf::internal::generated_enum::AbslUnparseFlag;

// ===================================================================


// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ContentMetaData_PrintMetadata final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ContentMetaData.PrintMetadata) */ {
 public:
  inline ContentMetaData_PrintMetadata() : ContentMetaData_PrintMetadata(nullptr) {}
  ~ContentMetaData_PrintMetadata() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ContentMetaData_PrintMetadata* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ContentMetaData_PrintMetadata));
  }
#endif

  template <typename = void>
  explicit constexpr ContentMetaData_PrintMetadata(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ContentMetaData_PrintMetadata(const ContentMetaData_PrintMetadata& from) : ContentMetaData_PrintMetadata(nullptr, from) {}
  inline ContentMetaData_PrintMetadata(ContentMetaData_PrintMetadata&& from) noexcept : ContentMetaData_PrintMetadata(nullptr, ::std::move(from)) {}
  inline ContentMetaData_PrintMetadata& operator=(const ContentMetaData_PrintMetadata& from) {
    CopyFrom(from);
    return *this;
  }
  inline ContentMetaData_PrintMetadata& operator=(ContentMetaData_PrintMetadata&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ContentMetaData_PrintMetadata& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ContentMetaData_PrintMetadata>(&ContentMetaData_PrintMetadata_globals_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(ContentMetaData_PrintMetadata& a, ContentMetaData_PrintMetadata& b) { a.Swap(&b); }
  inline void Swap(ContentMetaData_PrintMetadata* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ContentMetaData_PrintMetadata* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ContentMetaData_PrintMetadata* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ContentMetaData_PrintMetadata>(arena);
  }
  void CopyFrom(const ContentMetaData_PrintMetadata& from);
  void MergeFrom(const ContentMetaData_PrintMetadata& from) { ContentMetaData_PrintMetadata::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ContentMetaData_PrintMetadata* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ContentMetaData.PrintMetadata"; }

  explicit ContentMetaData_PrintMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ContentMetaData_PrintMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContentMetaData_PrintMetadata& from);
  ContentMetaData_PrintMetadata(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ContentMetaData_PrintMetadata&& from) noexcept
      : ContentMetaData_PrintMetadata(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using PrinterType = ContentMetaData_PrintMetadata_PrinterType;
  static constexpr PrinterType UNKNOWN = ContentMetaData_PrintMetadata_PrinterType_UNKNOWN;
  static constexpr PrinterType CLOUD = ContentMetaData_PrintMetadata_PrinterType_CLOUD;
  static constexpr PrinterType LOCAL = ContentMetaData_PrintMetadata_PrinterType_LOCAL;
  [[nodiscard]] static inline bool PrinterType_IsValid(int value) {
    return ContentMetaData_PrintMetadata_PrinterType_IsValid(value);
  }
  static constexpr PrinterType PrinterType_MIN = ContentMetaData_PrintMetadata_PrinterType_PrinterType_MIN;
  static constexpr PrinterType PrinterType_MAX = ContentMetaData_PrintMetadata_PrinterType_PrinterType_MAX;
  static constexpr int PrinterType_ARRAYSIZE = ContentMetaData_PrintMetadata_PrinterType_PrinterType_ARRAYSIZE;
  template <typename T>
  [[nodiscard]] static inline const ::std::string& PrinterType_Name(T value) {
    return ContentMetaData_PrintMetadata_PrinterType_Name(value);
  }
  [[nodiscard]] static inline bool PrinterType_Parse(
      ::absl::string_view name, PrinterType* PROTOBUF_NONNULL value) {
    return ContentMetaData_PrintMetadata_PrinterType_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kPrinterNameFieldNumber = 1,
    kPrinterTypeFieldNumber = 2,
  };
  // optional string printer_name = 1;
  [[nodiscard]] bool has_printer_name()
      const;
  void clear_printer_name() ;
  [[nodiscard]] const ::std::string& printer_name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_printer_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_printer_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_printer_name();
  void set_allocated_printer_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_printer_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_printer_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_printer_name();

  public:
  // optional .content_analysis.sdk.ContentMetaData.PrintMetadata.PrinterType printer_type = 2;
  [[nodiscard]] bool has_printer_type()
      const;
  void clear_printer_type() ;
  [[nodiscard]] ::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType printer_type() const;
  void set_printer_type(::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType value);

  private:
  ::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType _internal_printer_type() const;
  void _internal_set_printer_type(::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType value);

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ContentMetaData.PrintMetadata)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ContentMetaData_PrintMetadata& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr printer_name_;
    int printer_type_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ContentAnalysisResponse_Result_TriggeredRule final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule) */ {
 public:
  inline ContentAnalysisResponse_Result_TriggeredRule() : ContentAnalysisResponse_Result_TriggeredRule(nullptr) {}
  ~ContentAnalysisResponse_Result_TriggeredRule() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ContentAnalysisResponse_Result_TriggeredRule* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ContentAnalysisResponse_Result_TriggeredRule));
  }
#endif

  template <typename = void>
  explicit constexpr ContentAnalysisResponse_Result_TriggeredRule(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ContentAnalysisResponse_Result_TriggeredRule(const ContentAnalysisResponse_Result_TriggeredRule& from) : ContentAnalysisResponse_Result_TriggeredRule(nullptr, from) {}
  inline ContentAnalysisResponse_Result_TriggeredRule(ContentAnalysisResponse_Result_TriggeredRule&& from) noexcept : ContentAnalysisResponse_Result_TriggeredRule(nullptr, ::std::move(from)) {}
  inline ContentAnalysisResponse_Result_TriggeredRule& operator=(const ContentAnalysisResponse_Result_TriggeredRule& from) {
    CopyFrom(from);
    return *this;
  }
  inline ContentAnalysisResponse_Result_TriggeredRule& operator=(ContentAnalysisResponse_Result_TriggeredRule&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ContentAnalysisResponse_Result_TriggeredRule& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ContentAnalysisResponse_Result_TriggeredRule>(&ContentAnalysisResponse_Result_TriggeredRule_globals_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(ContentAnalysisResponse_Result_TriggeredRule& a, ContentAnalysisResponse_Result_TriggeredRule& b) { a.Swap(&b); }
  inline void Swap(ContentAnalysisResponse_Result_TriggeredRule* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ContentAnalysisResponse_Result_TriggeredRule* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ContentAnalysisResponse_Result_TriggeredRule* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ContentAnalysisResponse_Result_TriggeredRule>(arena);
  }
  void CopyFrom(const ContentAnalysisResponse_Result_TriggeredRule& from);
  void MergeFrom(const ContentAnalysisResponse_Result_TriggeredRule& from) { ContentAnalysisResponse_Result_TriggeredRule::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ContentAnalysisResponse_Result_TriggeredRule* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule"; }

  explicit ContentAnalysisResponse_Result_TriggeredRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ContentAnalysisResponse_Result_TriggeredRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContentAnalysisResponse_Result_TriggeredRule& from);
  ContentAnalysisResponse_Result_TriggeredRule(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ContentAnalysisResponse_Result_TriggeredRule&& from) noexcept
      : ContentAnalysisResponse_Result_TriggeredRule(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using Action = ContentAnalysisResponse_Result_TriggeredRule_Action;
  static constexpr Action ACTION_UNSPECIFIED = ContentAnalysisResponse_Result_TriggeredRule_Action_ACTION_UNSPECIFIED;
  static constexpr Action REPORT_ONLY = ContentAnalysisResponse_Result_TriggeredRule_Action_REPORT_ONLY;
  static constexpr Action WARN = ContentAnalysisResponse_Result_TriggeredRule_Action_WARN;
  static constexpr Action BLOCK = ContentAnalysisResponse_Result_TriggeredRule_Action_BLOCK;
  [[nodiscard]] static inline bool Action_IsValid(int value) {
    return ContentAnalysisResponse_Result_TriggeredRule_Action_IsValid(value);
  }
  static constexpr Action Action_MIN = ContentAnalysisResponse_Result_TriggeredRule_Action_Action_MIN;
  static constexpr Action Action_MAX = ContentAnalysisResponse_Result_TriggeredRule_Action_Action_MAX;
  static constexpr int Action_ARRAYSIZE = ContentAnalysisResponse_Result_TriggeredRule_Action_Action_ARRAYSIZE;
  template <typename T>
  [[nodiscard]] static inline const ::std::string& Action_Name(T value) {
    return ContentAnalysisResponse_Result_TriggeredRule_Action_Name(value);
  }
  [[nodiscard]] static inline bool Action_Parse(
      ::absl::string_view name, Action* PROTOBUF_NONNULL value) {
    return ContentAnalysisResponse_Result_TriggeredRule_Action_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kRuleNameFieldNumber = 2,
    kRuleIdFieldNumber = 3,
    kActionFieldNumber = 1,
  };
  // optional string rule_name = 2;
  [[nodiscard]] bool has_rule_name()
      const;
  void clear_rule_name() ;
  [[nodiscard]] const ::std::string& rule_name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_rule_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_rule_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_rule_name();
  void set_allocated_rule_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_rule_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_rule_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_rule_name();

  public:
  // optional string rule_id = 3;
  [[nodiscard]] bool has_rule_id()
      const;
  void clear_rule_id() ;
  [[nodiscard]] const ::std::string& rule_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_rule_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_rule_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_rule_id();
  void set_allocated_rule_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_rule_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_rule_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_rule_id();

  public:
  // optional .content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.Action action = 1;
  [[nodiscard]] bool has_action()
      const;
  void clear_action() ;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action action() const;
  void set_action(::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action value);

  private:
  ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action _internal_action() const;
  void _internal_set_action(::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action value);

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ContentAnalysisResponse_Result_TriggeredRule& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr rule_name_;
    ::google::protobuf::internal::ArenaStringPtr rule_id_;
    int action_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ContentAnalysisRequest_PrintData final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ContentAnalysisRequest.PrintData) */ {
 public:
  inline ContentAnalysisRequest_PrintData() : ContentAnalysisRequest_PrintData(nullptr) {}
  ~ContentAnalysisRequest_PrintData() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ContentAnalysisRequest_PrintData* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ContentAnalysisRequest_PrintData));
  }
#endif

  template <typename = void>
  explicit constexpr ContentAnalysisRequest_PrintData(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ContentAnalysisRequest_PrintData(const ContentAnalysisRequest_PrintData& from) : ContentAnalysisRequest_PrintData(nullptr, from) {}
  inline ContentAnalysisRequest_PrintData(ContentAnalysisRequest_PrintData&& from) noexcept : ContentAnalysisRequest_PrintData(nullptr, ::std::move(from)) {}
  inline ContentAnalysisRequest_PrintData& operator=(const ContentAnalysisRequest_PrintData& from) {
    CopyFrom(from);
    return *this;
  }
  inline ContentAnalysisRequest_PrintData& operator=(ContentAnalysisRequest_PrintData&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ContentAnalysisRequest_PrintData& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ContentAnalysisRequest_PrintData>(&ContentAnalysisRequest_PrintData_globals_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(ContentAnalysisRequest_PrintData& a, ContentAnalysisRequest_PrintData& b) { a.Swap(&b); }
  inline void Swap(ContentAnalysisRequest_PrintData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ContentAnalysisRequest_PrintData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ContentAnalysisRequest_PrintData* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ContentAnalysisRequest_PrintData>(arena);
  }
  void CopyFrom(const ContentAnalysisRequest_PrintData& from);
  void MergeFrom(const ContentAnalysisRequest_PrintData& from) { ContentAnalysisRequest_PrintData::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ContentAnalysisRequest_PrintData* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ContentAnalysisRequest.PrintData"; }

  explicit ContentAnalysisRequest_PrintData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ContentAnalysisRequest_PrintData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContentAnalysisRequest_PrintData& from);
  ContentAnalysisRequest_PrintData(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ContentAnalysisRequest_PrintData&& from) noexcept
      : ContentAnalysisRequest_PrintData(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kHandleFieldNumber = 1,
    kSizeFieldNumber = 2,
  };
  // optional int64 handle = 1;
  [[nodiscard]] bool has_handle()
      const;
  void clear_handle() ;
  [[nodiscard]] ::int64_t handle() const;
  void set_handle(::int64_t value);

  private:
  ::int64_t _internal_handle() const;
  void _internal_set_handle(::int64_t value);

  public:
  // optional int64 size = 2;
  [[nodiscard]] bool has_size()
      const;
  void clear_size() ;
  [[nodiscard]] ::int64_t size() const;
  void set_size(::int64_t value);

  private:
  ::int64_t _internal_size() const;
  void _internal_set_size(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ContentAnalysisRequest.PrintData)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ContentAnalysisRequest_PrintData& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int64_t handle_;
    ::int64_t size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ContentAnalysisCancelRequests final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ContentAnalysisCancelRequests) */ {
 public:
  inline ContentAnalysisCancelRequests() : ContentAnalysisCancelRequests(nullptr) {}
  ~ContentAnalysisCancelRequests() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ContentAnalysisCancelRequests* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ContentAnalysisCancelRequests));
  }
#endif

  template <typename = void>
  explicit constexpr ContentAnalysisCancelRequests(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ContentAnalysisCancelRequests(const ContentAnalysisCancelRequests& from) : ContentAnalysisCancelRequests(nullptr, from) {}
  inline ContentAnalysisCancelRequests(ContentAnalysisCancelRequests&& from) noexcept : ContentAnalysisCancelRequests(nullptr, ::std::move(from)) {}
  inline ContentAnalysisCancelRequests& operator=(const ContentAnalysisCancelRequests& from) {
    CopyFrom(from);
    return *this;
  }
  inline ContentAnalysisCancelRequests& operator=(ContentAnalysisCancelRequests&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ContentAnalysisCancelRequests& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ContentAnalysisCancelRequests>(&ContentAnalysisCancelRequests_globals_);
  }
  static constexpr int kIndexInFileMessages = 12;
  friend void swap(ContentAnalysisCancelRequests& a, ContentAnalysisCancelRequests& b) { a.Swap(&b); }
  inline void Swap(ContentAnalysisCancelRequests* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ContentAnalysisCancelRequests* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ContentAnalysisCancelRequests* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ContentAnalysisCancelRequests>(arena);
  }
  void CopyFrom(const ContentAnalysisCancelRequests& from);
  void MergeFrom(const ContentAnalysisCancelRequests& from) { ContentAnalysisCancelRequests::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ContentAnalysisCancelRequests* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ContentAnalysisCancelRequests"; }

  explicit ContentAnalysisCancelRequests(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ContentAnalysisCancelRequests(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContentAnalysisCancelRequests& from);
  ContentAnalysisCancelRequests(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ContentAnalysisCancelRequests&& from) noexcept
      : ContentAnalysisCancelRequests(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUserActionIdFieldNumber = 1,
  };
  // optional string user_action_id = 1;
  [[nodiscard]] bool has_user_action_id()
      const;
  void clear_user_action_id() ;
  [[nodiscard]] const ::std::string& user_action_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_user_action_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_user_action_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_user_action_id();
  void set_allocated_user_action_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_user_action_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_user_action_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_user_action_id();

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ContentAnalysisCancelRequests)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ContentAnalysisCancelRequests& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr user_action_id_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ContentAnalysisAcknowledgement final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ContentAnalysisAcknowledgement) */ {
 public:
  inline ContentAnalysisAcknowledgement() : ContentAnalysisAcknowledgement(nullptr) {}
  ~ContentAnalysisAcknowledgement() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ContentAnalysisAcknowledgement* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ContentAnalysisAcknowledgement));
  }
#endif

  template <typename = void>
  explicit constexpr ContentAnalysisAcknowledgement(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ContentAnalysisAcknowledgement(const ContentAnalysisAcknowledgement& from) : ContentAnalysisAcknowledgement(nullptr, from) {}
  inline ContentAnalysisAcknowledgement(ContentAnalysisAcknowledgement&& from) noexcept : ContentAnalysisAcknowledgement(nullptr, ::std::move(from)) {}
  inline ContentAnalysisAcknowledgement& operator=(const ContentAnalysisAcknowledgement& from) {
    CopyFrom(from);
    return *this;
  }
  inline ContentAnalysisAcknowledgement& operator=(ContentAnalysisAcknowledgement&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ContentAnalysisAcknowledgement& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ContentAnalysisAcknowledgement>(&ContentAnalysisAcknowledgement_globals_);
  }
  static constexpr int kIndexInFileMessages = 11;
  friend void swap(ContentAnalysisAcknowledgement& a, ContentAnalysisAcknowledgement& b) { a.Swap(&b); }
  inline void Swap(ContentAnalysisAcknowledgement* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ContentAnalysisAcknowledgement* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ContentAnalysisAcknowledgement* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ContentAnalysisAcknowledgement>(arena);
  }
  void CopyFrom(const ContentAnalysisAcknowledgement& from);
  void MergeFrom(const ContentAnalysisAcknowledgement& from) { ContentAnalysisAcknowledgement::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ContentAnalysisAcknowledgement* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ContentAnalysisAcknowledgement"; }

  explicit ContentAnalysisAcknowledgement(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ContentAnalysisAcknowledgement(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContentAnalysisAcknowledgement& from);
  ContentAnalysisAcknowledgement(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ContentAnalysisAcknowledgement&& from) noexcept
      : ContentAnalysisAcknowledgement(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using Status = ContentAnalysisAcknowledgement_Status;
  static constexpr Status SUCCESS = ContentAnalysisAcknowledgement_Status_SUCCESS;
  static constexpr Status INVALID_RESPONSE = ContentAnalysisAcknowledgement_Status_INVALID_RESPONSE;
  static constexpr Status TOO_LATE = ContentAnalysisAcknowledgement_Status_TOO_LATE;
  [[nodiscard]] static inline bool Status_IsValid(int value) {
    return ContentAnalysisAcknowledgement_Status_IsValid(value);
  }
  static constexpr Status Status_MIN = ContentAnalysisAcknowledgement_Status_Status_MIN;
  static constexpr Status Status_MAX = ContentAnalysisAcknowledgement_Status_Status_MAX;
  static constexpr int Status_ARRAYSIZE = ContentAnalysisAcknowledgement_Status_Status_ARRAYSIZE;
  template <typename T>
  [[nodiscard]] static inline const ::std::string& Status_Name(T value) {
    return ContentAnalysisAcknowledgement_Status_Name(value);
  }
  [[nodiscard]] static inline bool Status_Parse(
      ::absl::string_view name, Status* PROTOBUF_NONNULL value) {
    return ContentAnalysisAcknowledgement_Status_Parse(name, value);
  }
  using FinalAction = ContentAnalysisAcknowledgement_FinalAction;
  static constexpr FinalAction ACTION_UNSPECIFIED = ContentAnalysisAcknowledgement_FinalAction_ACTION_UNSPECIFIED;
  static constexpr FinalAction ALLOW = ContentAnalysisAcknowledgement_FinalAction_ALLOW;
  static constexpr FinalAction REPORT_ONLY = ContentAnalysisAcknowledgement_FinalAction_REPORT_ONLY;
  static constexpr FinalAction WARN = ContentAnalysisAcknowledgement_FinalAction_WARN;
  static constexpr FinalAction BLOCK = ContentAnalysisAcknowledgement_FinalAction_BLOCK;
  [[nodiscard]] static inline bool FinalAction_IsValid(int value) {
    return ContentAnalysisAcknowledgement_FinalAction_IsValid(value);
  }
  static constexpr FinalAction FinalAction_MIN = ContentAnalysisAcknowledgement_FinalAction_FinalAction_MIN;
  static constexpr FinalAction FinalAction_MAX = ContentAnalysisAcknowledgement_FinalAction_FinalAction_MAX;
  static constexpr int FinalAction_ARRAYSIZE = ContentAnalysisAcknowledgement_FinalAction_FinalAction_ARRAYSIZE;
  template <typename T>
  [[nodiscard]] static inline const ::std::string& FinalAction_Name(T value) {
    return ContentAnalysisAcknowledgement_FinalAction_Name(value);
  }
  [[nodiscard]] static inline bool FinalAction_Parse(
      ::absl::string_view name, FinalAction* PROTOBUF_NONNULL value) {
    return ContentAnalysisAcknowledgement_FinalAction_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kRequestTokenFieldNumber = 1,
    kFinalActionFieldNumber = 3,
    kStatusFieldNumber = 2,
  };
  // optional string request_token = 1;
  [[nodiscard]] bool has_request_token()
      const;
  void clear_request_token() ;
  [[nodiscard]] const ::std::string& request_token() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_request_token(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_request_token();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_request_token();
  void set_allocated_request_token(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_request_token() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_request_token(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_request_token();

  public:
  // optional .content_analysis.sdk.ContentAnalysisAcknowledgement.FinalAction final_action = 3;
  [[nodiscard]] bool has_final_action()
      const;
  void clear_final_action() ;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction final_action() const;
  void set_final_action(::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction value);

  private:
  ::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction _internal_final_action() const;
  void _internal_set_final_action(::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction value);

  public:
  // optional .content_analysis.sdk.ContentAnalysisAcknowledgement.Status status = 2;
  [[nodiscard]] bool has_status()
      const;
  void clear_status() ;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisAcknowledgement_Status status() const;
  void set_status(::content_analysis::sdk::ContentAnalysisAcknowledgement_Status value);

  private:
  ::content_analysis::sdk::ContentAnalysisAcknowledgement_Status _internal_status() const;
  void _internal_set_status(::content_analysis::sdk::ContentAnalysisAcknowledgement_Status value);

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ContentAnalysisAcknowledgement)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          2, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ContentAnalysisAcknowledgement& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr request_token_;
    int final_action_;
    int status_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ClientMetadata_Browser final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ClientMetadata.Browser) */ {
 public:
  inline ClientMetadata_Browser() : ClientMetadata_Browser(nullptr) {}
  ~ClientMetadata_Browser() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ClientMetadata_Browser* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ClientMetadata_Browser));
  }
#endif

  template <typename = void>
  explicit constexpr ClientMetadata_Browser(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ClientMetadata_Browser(const ClientMetadata_Browser& from) : ClientMetadata_Browser(nullptr, from) {}
  inline ClientMetadata_Browser(ClientMetadata_Browser&& from) noexcept : ClientMetadata_Browser(nullptr, ::std::move(from)) {}
  inline ClientMetadata_Browser& operator=(const ClientMetadata_Browser& from) {
    CopyFrom(from);
    return *this;
  }
  inline ClientMetadata_Browser& operator=(ClientMetadata_Browser&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ClientMetadata_Browser& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ClientMetadata_Browser>(&ClientMetadata_Browser_globals_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(ClientMetadata_Browser& a, ClientMetadata_Browser& b) { a.Swap(&b); }
  inline void Swap(ClientMetadata_Browser* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ClientMetadata_Browser* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ClientMetadata_Browser* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ClientMetadata_Browser>(arena);
  }
  void CopyFrom(const ClientMetadata_Browser& from);
  void MergeFrom(const ClientMetadata_Browser& from) { ClientMetadata_Browser::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ClientMetadata_Browser* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ClientMetadata.Browser"; }

  explicit ClientMetadata_Browser(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ClientMetadata_Browser(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ClientMetadata_Browser& from);
  ClientMetadata_Browser(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ClientMetadata_Browser&& from) noexcept
      : ClientMetadata_Browser(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMachineUserFieldNumber = 4,
  };
  // optional string machine_user = 4;
  [[nodiscard]] bool has_machine_user()
      const;
  void clear_machine_user() ;
  [[nodiscard]] const ::std::string& machine_user() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_machine_user(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_machine_user();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_machine_user();
  void set_allocated_machine_user(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_machine_user() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_machine_user(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_machine_user();

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ClientMetadata.Browser)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ClientMetadata_Browser& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr machine_user_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ClientDownloadRequest_Resource final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ClientDownloadRequest.Resource) */ {
 public:
  inline ClientDownloadRequest_Resource() : ClientDownloadRequest_Resource(nullptr) {}
  ~ClientDownloadRequest_Resource() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ClientDownloadRequest_Resource* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ClientDownloadRequest_Resource));
  }
#endif

  template <typename = void>
  explicit constexpr ClientDownloadRequest_Resource(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ClientDownloadRequest_Resource(const ClientDownloadRequest_Resource& from) : ClientDownloadRequest_Resource(nullptr, from) {}
  inline ClientDownloadRequest_Resource(ClientDownloadRequest_Resource&& from) noexcept : ClientDownloadRequest_Resource(nullptr, ::std::move(from)) {}
  inline ClientDownloadRequest_Resource& operator=(const ClientDownloadRequest_Resource& from) {
    CopyFrom(from);
    return *this;
  }
  inline ClientDownloadRequest_Resource& operator=(ClientDownloadRequest_Resource&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ClientDownloadRequest_Resource& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ClientDownloadRequest_Resource>(&ClientDownloadRequest_Resource_globals_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(ClientDownloadRequest_Resource& a, ClientDownloadRequest_Resource& b) { a.Swap(&b); }
  inline void Swap(ClientDownloadRequest_Resource* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ClientDownloadRequest_Resource* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ClientDownloadRequest_Resource* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ClientDownloadRequest_Resource>(arena);
  }
  void CopyFrom(const ClientDownloadRequest_Resource& from);
  void MergeFrom(const ClientDownloadRequest_Resource& from) { ClientDownloadRequest_Resource::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return IsInitializedImpl(*this);
  }

  private:
  static bool IsInitializedImpl(const MessageLite& msg);

  public:
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ClientDownloadRequest_Resource* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ClientDownloadRequest.Resource"; }

  explicit ClientDownloadRequest_Resource(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ClientDownloadRequest_Resource(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ClientDownloadRequest_Resource& from);
  ClientDownloadRequest_Resource(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ClientDownloadRequest_Resource&& from) noexcept
      : ClientDownloadRequest_Resource(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUrlFieldNumber = 1,
    kTypeFieldNumber = 2,
  };
  // required string url = 1;
  [[nodiscard]] bool has_url()
      const;
  void clear_url() ;
  [[nodiscard]] const ::std::string& url() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_url(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_url();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_url();
  void set_allocated_url(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_url() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_url(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_url();

  public:
  // required .content_analysis.sdk.ClientDownloadRequest.ResourceType type = 2;
  [[nodiscard]] bool has_type()
      const;
  void clear_type() ;
  [[nodiscard]] ::content_analysis::sdk::ClientDownloadRequest_ResourceType type() const;
  void set_type(::content_analysis::sdk::ClientDownloadRequest_ResourceType value);

  private:
  ::content_analysis::sdk::ClientDownloadRequest_ResourceType _internal_type() const;
  void _internal_set_type(::content_analysis::sdk::ClientDownloadRequest_ResourceType value);

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ClientDownloadRequest.Resource)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ClientDownloadRequest_Resource& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr url_;
    int type_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ContentAnalysisResponse_Result final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ContentAnalysisResponse.Result) */ {
 public:
  inline ContentAnalysisResponse_Result() : ContentAnalysisResponse_Result(nullptr) {}
  ~ContentAnalysisResponse_Result() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ContentAnalysisResponse_Result* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ContentAnalysisResponse_Result));
  }
#endif

  template <typename = void>
  explicit constexpr ContentAnalysisResponse_Result(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ContentAnalysisResponse_Result(const ContentAnalysisResponse_Result& from) : ContentAnalysisResponse_Result(nullptr, from) {}
  inline ContentAnalysisResponse_Result(ContentAnalysisResponse_Result&& from) noexcept : ContentAnalysisResponse_Result(nullptr, ::std::move(from)) {}
  inline ContentAnalysisResponse_Result& operator=(const ContentAnalysisResponse_Result& from) {
    CopyFrom(from);
    return *this;
  }
  inline ContentAnalysisResponse_Result& operator=(ContentAnalysisResponse_Result&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ContentAnalysisResponse_Result& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ContentAnalysisResponse_Result>(&ContentAnalysisResponse_Result_globals_);
  }
  static constexpr int kIndexInFileMessages = 9;
  friend void swap(ContentAnalysisResponse_Result& a, ContentAnalysisResponse_Result& b) { a.Swap(&b); }
  inline void Swap(ContentAnalysisResponse_Result* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ContentAnalysisResponse_Result* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ContentAnalysisResponse_Result* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ContentAnalysisResponse_Result>(arena);
  }
  void CopyFrom(const ContentAnalysisResponse_Result& from);
  void MergeFrom(const ContentAnalysisResponse_Result& from) { ContentAnalysisResponse_Result::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ContentAnalysisResponse_Result* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ContentAnalysisResponse.Result"; }

  explicit ContentAnalysisResponse_Result(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ContentAnalysisResponse_Result(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContentAnalysisResponse_Result& from);
  ContentAnalysisResponse_Result(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ContentAnalysisResponse_Result&& from) noexcept
      : ContentAnalysisResponse_Result(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using TriggeredRule = ContentAnalysisResponse_Result_TriggeredRule;
  using Status = ContentAnalysisResponse_Result_Status;
  static constexpr Status STATUS_UNKNOWN = ContentAnalysisResponse_Result_Status_STATUS_UNKNOWN;
  static constexpr Status SUCCESS = ContentAnalysisResponse_Result_Status_SUCCESS;
  static constexpr Status FAILURE = ContentAnalysisResponse_Result_Status_FAILURE;
  [[nodiscard]] static inline bool Status_IsValid(int value) {
    return ContentAnalysisResponse_Result_Status_IsValid(value);
  }
  static constexpr Status Status_MIN = ContentAnalysisResponse_Result_Status_Status_MIN;
  static constexpr Status Status_MAX = ContentAnalysisResponse_Result_Status_Status_MAX;
  static constexpr int Status_ARRAYSIZE = ContentAnalysisResponse_Result_Status_Status_ARRAYSIZE;
  template <typename T>
  [[nodiscard]] static inline const ::std::string& Status_Name(T value) {
    return ContentAnalysisResponse_Result_Status_Name(value);
  }
  [[nodiscard]] static inline bool Status_Parse(
      ::absl::string_view name, Status* PROTOBUF_NONNULL value) {
    return ContentAnalysisResponse_Result_Status_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kTriggeredRulesFieldNumber = 3,
    kTagFieldNumber = 1,
    kStatusFieldNumber = 2,
  };
  // repeated .content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule triggered_rules = 3;
  [[nodiscard]] int triggered_rules_size()
      const;
  private:
  int _internal_triggered_rules_size() const;

  public:
  void clear_triggered_rules() ;
  [[nodiscard]] const ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule& triggered_rules(int index) const;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule* PROTOBUF_NONNULL mutable_triggered_rules(int index);
  ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule* PROTOBUF_NONNULL add_triggered_rules();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule>&
  triggered_rules() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule>* PROTOBUF_NONNULL
  mutable_triggered_rules();

  private:
  const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule>& _internal_triggered_rules() const;
  ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule>* PROTOBUF_NONNULL _internal_mutable_triggered_rules();

  public:
  // optional string tag = 1;
  [[nodiscard]] bool has_tag()
      const;
  void clear_tag() ;
  [[nodiscard]] const ::std::string& tag() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_tag(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_tag();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_tag();
  void set_allocated_tag(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_tag() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_tag(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_tag();

  public:
  // optional .content_analysis.sdk.ContentAnalysisResponse.Result.Status status = 2;
  [[nodiscard]] bool has_status()
      const;
  void clear_status() ;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisResponse_Result_Status status() const;
  void set_status(::content_analysis::sdk::ContentAnalysisResponse_Result_Status value);

  private:
  ::content_analysis::sdk::ContentAnalysisResponse_Result_Status _internal_status() const;
  void _internal_set_status(::content_analysis::sdk::ContentAnalysisResponse_Result_Status value);

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ContentAnalysisResponse.Result)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          2, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ContentAnalysisResponse_Result& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule > triggered_rules_;
    ::google::protobuf::internal::ArenaStringPtr tag_;
    int status_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ClientMetadata final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ClientMetadata) */ {
 public:
  inline ClientMetadata() : ClientMetadata(nullptr) {}
  ~ClientMetadata() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ClientMetadata* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ClientMetadata));
  }
#endif

  template <typename = void>
  explicit constexpr ClientMetadata(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ClientMetadata(const ClientMetadata& from) : ClientMetadata(nullptr, from) {}
  inline ClientMetadata(ClientMetadata&& from) noexcept : ClientMetadata(nullptr, ::std::move(from)) {}
  inline ClientMetadata& operator=(const ClientMetadata& from) {
    CopyFrom(from);
    return *this;
  }
  inline ClientMetadata& operator=(ClientMetadata&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ClientMetadata& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ClientMetadata>(&ClientMetadata_globals_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(ClientMetadata& a, ClientMetadata& b) { a.Swap(&b); }
  inline void Swap(ClientMetadata* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ClientMetadata* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ClientMetadata* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ClientMetadata>(arena);
  }
  void CopyFrom(const ClientMetadata& from);
  void MergeFrom(const ClientMetadata& from) { ClientMetadata::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ClientMetadata* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ClientMetadata"; }

  explicit ClientMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ClientMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ClientMetadata& from);
  ClientMetadata(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ClientMetadata&& from) noexcept
      : ClientMetadata(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using Browser = ClientMetadata_Browser;

  // accessors -------------------------------------------------------
  enum : int {
    kBrowserFieldNumber = 1,
  };
  // optional .content_analysis.sdk.ClientMetadata.Browser browser = 1;
  [[nodiscard]] bool has_browser()
      const;
  void clear_browser() ;
  [[nodiscard]] const ::content_analysis::sdk::ClientMetadata_Browser& browser() const;
  [[nodiscard]] ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NULLABLE release_browser();
  ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NONNULL mutable_browser();
  void set_allocated_browser(::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_browser(::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NULLABLE unsafe_arena_release_browser();

  private:
  const ::content_analysis::sdk::ClientMetadata_Browser& _internal_browser() const;
  ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NONNULL _internal_mutable_browser();

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ClientMetadata)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ClientMetadata& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NULLABLE browser_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ClientDownloadRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ClientDownloadRequest) */ {
 public:
  inline ClientDownloadRequest() : ClientDownloadRequest(nullptr) {}
  ~ClientDownloadRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ClientDownloadRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ClientDownloadRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ClientDownloadRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ClientDownloadRequest(const ClientDownloadRequest& from) : ClientDownloadRequest(nullptr, from) {}
  inline ClientDownloadRequest(ClientDownloadRequest&& from) noexcept : ClientDownloadRequest(nullptr, ::std::move(from)) {}
  inline ClientDownloadRequest& operator=(const ClientDownloadRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ClientDownloadRequest& operator=(ClientDownloadRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ClientDownloadRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ClientDownloadRequest>(&ClientDownloadRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(ClientDownloadRequest& a, ClientDownloadRequest& b) { a.Swap(&b); }
  inline void Swap(ClientDownloadRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ClientDownloadRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ClientDownloadRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ClientDownloadRequest>(arena);
  }
  void CopyFrom(const ClientDownloadRequest& from);
  void MergeFrom(const ClientDownloadRequest& from) { ClientDownloadRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return IsInitializedImpl(*this);
  }

  private:
  static bool IsInitializedImpl(const MessageLite& msg);

  public:
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ClientDownloadRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ClientDownloadRequest"; }

  explicit ClientDownloadRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ClientDownloadRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ClientDownloadRequest& from);
  ClientDownloadRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ClientDownloadRequest&& from) noexcept
      : ClientDownloadRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using Resource = ClientDownloadRequest_Resource;
  using ResourceType = ClientDownloadRequest_ResourceType;
  static constexpr ResourceType DOWNLOAD_URL = ClientDownloadRequest_ResourceType_DOWNLOAD_URL;
  static constexpr ResourceType DOWNLOAD_REDIRECT = ClientDownloadRequest_ResourceType_DOWNLOAD_REDIRECT;
  static constexpr ResourceType TAB_URL = ClientDownloadRequest_ResourceType_TAB_URL;
  static constexpr ResourceType TAB_REDIRECT = ClientDownloadRequest_ResourceType_TAB_REDIRECT;
  static constexpr ResourceType PPAPI_DOCUMENT = ClientDownloadRequest_ResourceType_PPAPI_DOCUMENT;
  static constexpr ResourceType PPAPI_PLUGIN = ClientDownloadRequest_ResourceType_PPAPI_PLUGIN;
  [[nodiscard]] static inline bool ResourceType_IsValid(int value) {
    return ClientDownloadRequest_ResourceType_IsValid(value);
  }
  static constexpr ResourceType ResourceType_MIN = ClientDownloadRequest_ResourceType_ResourceType_MIN;
  static constexpr ResourceType ResourceType_MAX = ClientDownloadRequest_ResourceType_ResourceType_MAX;
  static constexpr int ResourceType_ARRAYSIZE = ClientDownloadRequest_ResourceType_ResourceType_ARRAYSIZE;
  template <typename T>
  [[nodiscard]] static inline const ::std::string& ResourceType_Name(T value) {
    return ClientDownloadRequest_ResourceType_Name(value);
  }
  [[nodiscard]] static inline bool ResourceType_Parse(
      ::absl::string_view name, ResourceType* PROTOBUF_NONNULL value) {
    return ClientDownloadRequest_ResourceType_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kResourcesFieldNumber = 4,
  };
  // repeated .content_analysis.sdk.ClientDownloadRequest.Resource resources = 4;
  [[nodiscard]] int resources_size()
      const;
  private:
  int _internal_resources_size() const;

  public:
  void clear_resources() ;
  [[nodiscard]] const ::content_analysis::sdk::ClientDownloadRequest_Resource& resources(int index) const;
  [[nodiscard]] ::content_analysis::sdk::ClientDownloadRequest_Resource* PROTOBUF_NONNULL mutable_resources(int index);
  ::content_analysis::sdk::ClientDownloadRequest_Resource* PROTOBUF_NONNULL add_resources();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ClientDownloadRequest_Resource>&
  resources() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ClientDownloadRequest_Resource>* PROTOBUF_NONNULL
  mutable_resources();

  private:
  const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ClientDownloadRequest_Resource>& _internal_resources() const;
  ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ClientDownloadRequest_Resource>* PROTOBUF_NONNULL _internal_mutable_resources();

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ClientDownloadRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ClientDownloadRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::content_analysis::sdk::ClientDownloadRequest_Resource > resources_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ContentMetaData final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ContentMetaData) */ {
 public:
  inline ContentMetaData() : ContentMetaData(nullptr) {}
  ~ContentMetaData() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ContentMetaData* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ContentMetaData));
  }
#endif

  template <typename = void>
  explicit constexpr ContentMetaData(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ContentMetaData(const ContentMetaData& from) : ContentMetaData(nullptr, from) {}
  inline ContentMetaData(ContentMetaData&& from) noexcept : ContentMetaData(nullptr, ::std::move(from)) {}
  inline ContentMetaData& operator=(const ContentMetaData& from) {
    CopyFrom(from);
    return *this;
  }
  inline ContentMetaData& operator=(ContentMetaData&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ContentMetaData& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ContentMetaData>(&ContentMetaData_globals_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(ContentMetaData& a, ContentMetaData& b) { a.Swap(&b); }
  inline void Swap(ContentMetaData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ContentMetaData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ContentMetaData* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ContentMetaData>(arena);
  }
  void CopyFrom(const ContentMetaData& from);
  void MergeFrom(const ContentMetaData& from) { ContentMetaData::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return IsInitializedImpl(*this);
  }

  private:
  static bool IsInitializedImpl(const MessageLite& msg);

  public:
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ContentMetaData* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ContentMetaData"; }

  explicit ContentMetaData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ContentMetaData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContentMetaData& from);
  ContentMetaData(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ContentMetaData&& from) noexcept
      : ContentMetaData(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using PrintMetadata = ContentMetaData_PrintMetadata;

  // accessors -------------------------------------------------------
  enum : int {
    kUrlFieldNumber = 1,
    kFilenameFieldNumber = 2,
    kDigestFieldNumber = 3,
    kEmailFieldNumber = 5,
    kTabTitleFieldNumber = 9,
    kCsdFieldNumber = 4,
    kPrintMetadataFieldNumber = 11,
  };
  // optional string url = 1;
  [[nodiscard]] bool has_url()
      const;
  void clear_url() ;
  [[nodiscard]] const ::std::string& url() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_url(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_url();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_url();
  void set_allocated_url(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_url() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_url(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_url();

  public:
  // optional string filename = 2;
  [[nodiscard]] bool has_filename()
      const;
  void clear_filename() ;
  [[nodiscard]] const ::std::string& filename() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_filename(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_filename();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_filename();
  void set_allocated_filename(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_filename() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_filename(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_filename();

  public:
  // optional string digest = 3;
  [[nodiscard]] bool has_digest()
      const;
  void clear_digest() ;
  [[nodiscard]] const ::std::string& digest() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_digest(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_digest();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_digest();
  void set_allocated_digest(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_digest() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_digest(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_digest();

  public:
  // optional string email = 5;
  [[nodiscard]] bool has_email()
      const;
  void clear_email() ;
  [[nodiscard]] const ::std::string& email() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_email(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_email();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_email();
  void set_allocated_email(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_email() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_email(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_email();

  public:
  // optional string tab_title = 9;
  [[nodiscard]] bool has_tab_title()
      const;
  void clear_tab_title() ;
  [[nodiscard]] const ::std::string& tab_title() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_tab_title(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_tab_title();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_tab_title();
  void set_allocated_tab_title(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_tab_title() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_tab_title(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_tab_title();

  public:
  // optional .content_analysis.sdk.ClientDownloadRequest csd = 4;
  [[nodiscard]] bool has_csd()
      const;
  void clear_csd() ;
  [[nodiscard]] const ::content_analysis::sdk::ClientDownloadRequest& csd() const;
  [[nodiscard]] ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NULLABLE release_csd();
  ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NONNULL mutable_csd();
  void set_allocated_csd(::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_csd(::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NULLABLE unsafe_arena_release_csd();

  private:
  const ::content_analysis::sdk::ClientDownloadRequest& _internal_csd() const;
  ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NONNULL _internal_mutable_csd();

  public:
  // optional .content_analysis.sdk.ContentMetaData.PrintMetadata print_metadata = 11;
  [[nodiscard]] bool has_print_metadata()
      const;
  void clear_print_metadata() ;
  [[nodiscard]] const ::content_analysis::sdk::ContentMetaData_PrintMetadata& print_metadata() const;
  [[nodiscard]] ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NULLABLE release_print_metadata();
  ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NONNULL mutable_print_metadata();
  void set_allocated_print_metadata(::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_print_metadata(::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NULLABLE unsafe_arena_release_print_metadata();

  private:
  const ::content_analysis::sdk::ContentMetaData_PrintMetadata& _internal_print_metadata() const;
  ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NONNULL _internal_mutable_print_metadata();

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ContentMetaData)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 7,
                          2, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ContentMetaData& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr url_;
    ::google::protobuf::internal::ArenaStringPtr filename_;
    ::google::protobuf::internal::ArenaStringPtr digest_;
    ::google::protobuf::internal::ArenaStringPtr email_;
    ::google::protobuf::internal::ArenaStringPtr tab_title_;
    ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NULLABLE csd_;
    ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NULLABLE print_metadata_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ContentAnalysisResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ContentAnalysisResponse) */ {
 public:
  inline ContentAnalysisResponse() : ContentAnalysisResponse(nullptr) {}
  ~ContentAnalysisResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ContentAnalysisResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ContentAnalysisResponse));
  }
#endif

  template <typename = void>
  explicit constexpr ContentAnalysisResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ContentAnalysisResponse(const ContentAnalysisResponse& from) : ContentAnalysisResponse(nullptr, from) {}
  inline ContentAnalysisResponse(ContentAnalysisResponse&& from) noexcept : ContentAnalysisResponse(nullptr, ::std::move(from)) {}
  inline ContentAnalysisResponse& operator=(const ContentAnalysisResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ContentAnalysisResponse& operator=(ContentAnalysisResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ContentAnalysisResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ContentAnalysisResponse>(&ContentAnalysisResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 10;
  friend void swap(ContentAnalysisResponse& a, ContentAnalysisResponse& b) { a.Swap(&b); }
  inline void Swap(ContentAnalysisResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ContentAnalysisResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ContentAnalysisResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ContentAnalysisResponse>(arena);
  }
  void CopyFrom(const ContentAnalysisResponse& from);
  void MergeFrom(const ContentAnalysisResponse& from) { ContentAnalysisResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ContentAnalysisResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ContentAnalysisResponse"; }

  explicit ContentAnalysisResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ContentAnalysisResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContentAnalysisResponse& from);
  ContentAnalysisResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ContentAnalysisResponse&& from) noexcept
      : ContentAnalysisResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using Result = ContentAnalysisResponse_Result;

  // accessors -------------------------------------------------------
  enum : int {
    kResultsFieldNumber = 4,
    kRequestTokenFieldNumber = 1,
  };
  // repeated .content_analysis.sdk.ContentAnalysisResponse.Result results = 4;
  [[nodiscard]] int results_size()
      const;
  private:
  int _internal_results_size() const;

  public:
  void clear_results() ;
  [[nodiscard]] const ::content_analysis::sdk::ContentAnalysisResponse_Result& results(int index) const;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisResponse_Result* PROTOBUF_NONNULL mutable_results(int index);
  ::content_analysis::sdk::ContentAnalysisResponse_Result* PROTOBUF_NONNULL add_results();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result>&
  results() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result>* PROTOBUF_NONNULL
  mutable_results();

  private:
  const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result>& _internal_results() const;
  ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result>* PROTOBUF_NONNULL _internal_mutable_results();

  public:
  // optional string request_token = 1;
  [[nodiscard]] bool has_request_token()
      const;
  void clear_request_token() ;
  [[nodiscard]] const ::std::string& request_token() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_request_token(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_request_token();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_request_token();
  void set_allocated_request_token(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_request_token() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_request_token(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_request_token();

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ContentAnalysisResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ContentAnalysisResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::content_analysis::sdk::ContentAnalysisResponse_Result > results_;
    ::google::protobuf::internal::ArenaStringPtr request_token_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ContentAnalysisRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ContentAnalysisRequest) */ {
 public:
  inline ContentAnalysisRequest() : ContentAnalysisRequest(nullptr) {}
  ~ContentAnalysisRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ContentAnalysisRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ContentAnalysisRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ContentAnalysisRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ContentAnalysisRequest(const ContentAnalysisRequest& from) : ContentAnalysisRequest(nullptr, from) {}
  inline ContentAnalysisRequest(ContentAnalysisRequest&& from) noexcept : ContentAnalysisRequest(nullptr, ::std::move(from)) {}
  inline ContentAnalysisRequest& operator=(const ContentAnalysisRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ContentAnalysisRequest& operator=(ContentAnalysisRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ContentAnalysisRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ContentAnalysisRequest>(&ContentAnalysisRequest_globals_);
  }
  enum ContentDataCase {
    kTextContent = 13,
    kFilePath = 14,
    kPrintData = 18,
    CONTENT_DATA_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(ContentAnalysisRequest& a, ContentAnalysisRequest& b) { a.Swap(&b); }
  inline void Swap(ContentAnalysisRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ContentAnalysisRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ContentAnalysisRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ContentAnalysisRequest>(arena);
  }
  void CopyFrom(const ContentAnalysisRequest& from);
  void MergeFrom(const ContentAnalysisRequest& from) { ContentAnalysisRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return IsInitializedImpl(*this);
  }

  private:
  static bool IsInitializedImpl(const MessageLite& msg);

  public:
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ContentAnalysisRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ContentAnalysisRequest"; }

  explicit ContentAnalysisRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ContentAnalysisRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContentAnalysisRequest& from);
  ContentAnalysisRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ContentAnalysisRequest&& from) noexcept
      : ContentAnalysisRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using PrintData = ContentAnalysisRequest_PrintData;
  using Reason = ContentAnalysisRequest_Reason;
  static constexpr Reason UNKNOWN = ContentAnalysisRequest_Reason_UNKNOWN;
  static constexpr Reason CLIPBOARD_PASTE = ContentAnalysisRequest_Reason_CLIPBOARD_PASTE;
  static constexpr Reason DRAG_AND_DROP = ContentAnalysisRequest_Reason_DRAG_AND_DROP;
  static constexpr Reason FILE_PICKER_DIALOG = ContentAnalysisRequest_Reason_FILE_PICKER_DIALOG;
  static constexpr Reason PRINT_PREVIEW_PRINT = ContentAnalysisRequest_Reason_PRINT_PREVIEW_PRINT;
  static constexpr Reason SYSTEM_DIALOG_PRINT = ContentAnalysisRequest_Reason_SYSTEM_DIALOG_PRINT;
  static constexpr Reason NORMAL_DOWNLOAD = ContentAnalysisRequest_Reason_NORMAL_DOWNLOAD;
  static constexpr Reason SAVE_AS_DOWNLOAD = ContentAnalysisRequest_Reason_SAVE_AS_DOWNLOAD;
  [[nodiscard]] static inline bool Reason_IsValid(int value) {
    return ContentAnalysisRequest_Reason_IsValid(value);
  }
  static constexpr Reason Reason_MIN = ContentAnalysisRequest_Reason_Reason_MIN;
  static constexpr Reason Reason_MAX = ContentAnalysisRequest_Reason_Reason_MAX;
  static constexpr int Reason_ARRAYSIZE = ContentAnalysisRequest_Reason_Reason_ARRAYSIZE;
  template <typename T>
  [[nodiscard]] static inline const ::std::string& Reason_Name(T value) {
    return ContentAnalysisRequest_Reason_Name(value);
  }
  [[nodiscard]] static inline bool Reason_Parse(
      ::absl::string_view name, Reason* PROTOBUF_NONNULL value) {
    return ContentAnalysisRequest_Reason_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kTagsFieldNumber = 11,
    kRequestTokenFieldNumber = 5,
    kUserActionIdFieldNumber = 16,
    kRequestDataFieldNumber = 10,
    kClientMetadataFieldNumber = 12,
    kAnalysisConnectorFieldNumber = 9,
    kReasonFieldNumber = 19,
    kExpiresAtFieldNumber = 15,
    kUserActionRequestsCountFieldNumber = 17,
    kTextContentFieldNumber = 13,
    kFilePathFieldNumber = 14,
    kPrintDataFieldNumber = 18,
  };
  // repeated string tags = 11;
  [[nodiscard]] int tags_size()
      const;
  private:
  int _internal_tags_size() const;

  public:
  void clear_tags() ;
  [[nodiscard]] const ::std::string& tags(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_tags(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_tags(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_tags();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_tags(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      tags() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_tags();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_tags() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_tags();

  public:
  // optional string request_token = 5;
  [[nodiscard]] bool has_request_token()
      const;
  void clear_request_token() ;
  [[nodiscard]] const ::std::string& request_token() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_request_token(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_request_token();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_request_token();
  void set_allocated_request_token(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_request_token() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_request_token(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_request_token();

  public:
  // optional string user_action_id = 16;
  [[nodiscard]] bool has_user_action_id()
      const;
  void clear_user_action_id() ;
  [[nodiscard]] const ::std::string& user_action_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_user_action_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_user_action_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_user_action_id();
  void set_allocated_user_action_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_user_action_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_user_action_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_user_action_id();

  public:
  // optional .content_analysis.sdk.ContentMetaData request_data = 10;
  [[nodiscard]] bool has_request_data()
      const;
  void clear_request_data() ;
  [[nodiscard]] const ::content_analysis::sdk::ContentMetaData& request_data() const;
  [[nodiscard]] ::content_analysis::sdk::ContentMetaData* PROTOBUF_NULLABLE release_request_data();
  ::content_analysis::sdk::ContentMetaData* PROTOBUF_NONNULL mutable_request_data();
  void set_allocated_request_data(::content_analysis::sdk::ContentMetaData* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_request_data(::content_analysis::sdk::ContentMetaData* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ContentMetaData* PROTOBUF_NULLABLE unsafe_arena_release_request_data();

  private:
  const ::content_analysis::sdk::ContentMetaData& _internal_request_data() const;
  ::content_analysis::sdk::ContentMetaData* PROTOBUF_NONNULL _internal_mutable_request_data();

  public:
  // optional .content_analysis.sdk.ClientMetadata client_metadata = 12;
  [[nodiscard]] bool has_client_metadata()
      const;
  void clear_client_metadata() ;
  [[nodiscard]] const ::content_analysis::sdk::ClientMetadata& client_metadata() const;
  [[nodiscard]] ::content_analysis::sdk::ClientMetadata* PROTOBUF_NULLABLE release_client_metadata();
  ::content_analysis::sdk::ClientMetadata* PROTOBUF_NONNULL mutable_client_metadata();
  void set_allocated_client_metadata(::content_analysis::sdk::ClientMetadata* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_client_metadata(::content_analysis::sdk::ClientMetadata* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ClientMetadata* PROTOBUF_NULLABLE unsafe_arena_release_client_metadata();

  private:
  const ::content_analysis::sdk::ClientMetadata& _internal_client_metadata() const;
  ::content_analysis::sdk::ClientMetadata* PROTOBUF_NONNULL _internal_mutable_client_metadata();

  public:
  // optional .content_analysis.sdk.AnalysisConnector analysis_connector = 9;
  [[nodiscard]] bool has_analysis_connector()
      const;
  void clear_analysis_connector() ;
  [[nodiscard]] ::content_analysis::sdk::AnalysisConnector analysis_connector() const;
  void set_analysis_connector(::content_analysis::sdk::AnalysisConnector value);

  private:
  ::content_analysis::sdk::AnalysisConnector _internal_analysis_connector() const;
  void _internal_set_analysis_connector(::content_analysis::sdk::AnalysisConnector value);

  public:
  // optional .content_analysis.sdk.ContentAnalysisRequest.Reason reason = 19;
  [[nodiscard]] bool has_reason()
      const;
  void clear_reason() ;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisRequest_Reason reason() const;
  void set_reason(::content_analysis::sdk::ContentAnalysisRequest_Reason value);

  private:
  ::content_analysis::sdk::ContentAnalysisRequest_Reason _internal_reason() const;
  void _internal_set_reason(::content_analysis::sdk::ContentAnalysisRequest_Reason value);

  public:
  // optional int64 expires_at = 15;
  [[nodiscard]] bool has_expires_at()
      const;
  void clear_expires_at() ;
  [[nodiscard]] ::int64_t expires_at() const;
  void set_expires_at(::int64_t value);

  private:
  ::int64_t _internal_expires_at() const;
  void _internal_set_expires_at(::int64_t value);

  public:
  // optional int64 user_action_requests_count = 17;
  [[nodiscard]] bool has_user_action_requests_count()
      const;
  void clear_user_action_requests_count() ;
  [[nodiscard]] ::int64_t user_action_requests_count() const;
  void set_user_action_requests_count(::int64_t value);

  private:
  ::int64_t _internal_user_action_requests_count() const;
  void _internal_set_user_action_requests_count(::int64_t value);

  public:
  // string text_content = 13;
  [[nodiscard]] bool has_text_content()
      const;
  void clear_text_content() ;
  [[nodiscard]] const ::std::string& text_content() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_text_content(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_text_content();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_text_content();
  void set_allocated_text_content(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_text_content() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_text_content(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_text_content();

  public:
  // string file_path = 14;
  [[nodiscard]] bool has_file_path()
      const;
  void clear_file_path() ;
  [[nodiscard]] const ::std::string& file_path() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_file_path(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_file_path();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_file_path();
  void set_allocated_file_path(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_file_path() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_file_path(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_file_path();

  public:
  // .content_analysis.sdk.ContentAnalysisRequest.PrintData print_data = 18;
  [[nodiscard]] bool has_print_data()
      const;
  private:
  bool _internal_has_print_data() const;

  public:
  void clear_print_data() ;
  [[nodiscard]] const ::content_analysis::sdk::ContentAnalysisRequest_PrintData& print_data() const;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NULLABLE release_print_data();
  ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NONNULL mutable_print_data();
  void set_allocated_print_data(::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_print_data(::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NULLABLE unsafe_arena_release_print_data();

  private:
  const ::content_analysis::sdk::ContentAnalysisRequest_PrintData& _internal_print_data() const;
  ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NONNULL _internal_mutable_print_data();

  public:
  void clear_content_data();
  ContentDataCase content_data_case() const;
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ContentAnalysisRequest)
 private:
  class _Internal;
  void set_has_text_content();
  void set_has_file_path();
  void set_has_print_data();
  [[nodiscard]] inline bool has_content_data() const;
  inline void clear_has_content_data();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<4, 12,
                          5, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ContentAnalysisRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> tags_;
    ::google::protobuf::internal::ArenaStringPtr request_token_;
    ::google::protobuf::internal::ArenaStringPtr user_action_id_;
    ::content_analysis::sdk::ContentMetaData* PROTOBUF_NULLABLE request_data_;
    ::content_analysis::sdk::ClientMetadata* PROTOBUF_NULLABLE client_metadata_;
    int analysis_connector_;
    int reason_;
    ::int64_t expires_at_;
    ::int64_t user_action_requests_count_;
    union ContentDataUnion {
      constexpr ContentDataUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::internal::ArenaStringPtr text_content_;
      ::google::protobuf::internal::ArenaStringPtr file_path_;
      ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NULLABLE print_data_;
    } content_data_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AgentToChrome final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.AgentToChrome) */ {
 public:
  inline AgentToChrome() : AgentToChrome(nullptr) {}
  ~AgentToChrome() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AgentToChrome* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AgentToChrome));
  }
#endif

  template <typename = void>
  explicit constexpr AgentToChrome(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AgentToChrome(const AgentToChrome& from) : AgentToChrome(nullptr, from) {}
  inline AgentToChrome(AgentToChrome&& from) noexcept : AgentToChrome(nullptr, ::std::move(from)) {}
  inline AgentToChrome& operator=(const AgentToChrome& from) {
    CopyFrom(from);
    return *this;
  }
  inline AgentToChrome& operator=(AgentToChrome&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const AgentToChrome& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AgentToChrome>(&AgentToChrome_globals_);
  }
  static constexpr int kIndexInFileMessages = 14;
  friend void swap(AgentToChrome& a, AgentToChrome& b) { a.Swap(&b); }
  inline void Swap(AgentToChrome* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AgentToChrome* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AgentToChrome* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<AgentToChrome>(arena);
  }
  void CopyFrom(const AgentToChrome& from);
  void MergeFrom(const AgentToChrome& from) { AgentToChrome::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AgentToChrome* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.AgentToChrome"; }

  explicit AgentToChrome(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AgentToChrome(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AgentToChrome& from);
  AgentToChrome(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AgentToChrome&& from) noexcept
      : AgentToChrome(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kResponseFieldNumber = 1,
  };
  // optional .content_analysis.sdk.ContentAnalysisResponse response = 1;
  [[nodiscard]] bool has_response()
      const;
  void clear_response() ;
  [[nodiscard]] const ::content_analysis::sdk::ContentAnalysisResponse& response() const;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NULLABLE release_response();
  ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NONNULL mutable_response();
  void set_allocated_response(::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_response(::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NULLABLE unsafe_arena_release_response();

  private:
  const ::content_analysis::sdk::ContentAnalysisResponse& _internal_response() const;
  ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NONNULL _internal_mutable_response();

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.AgentToChrome)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AgentToChrome& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NULLABLE response_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ChromeToAgent final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:content_analysis.sdk.ChromeToAgent) */ {
 public:
  inline ChromeToAgent() : ChromeToAgent(nullptr) {}
  ~ChromeToAgent() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ChromeToAgent* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ChromeToAgent));
  }
#endif

  template <typename = void>
  explicit constexpr ChromeToAgent(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ChromeToAgent(const ChromeToAgent& from) : ChromeToAgent(nullptr, from) {}
  inline ChromeToAgent(ChromeToAgent&& from) noexcept : ChromeToAgent(nullptr, ::std::move(from)) {}
  inline ChromeToAgent& operator=(const ChromeToAgent& from) {
    CopyFrom(from);
    return *this;
  }
  inline ChromeToAgent& operator=(ChromeToAgent&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ChromeToAgent& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ChromeToAgent>(&ChromeToAgent_globals_);
  }
  static constexpr int kIndexInFileMessages = 13;
  friend void swap(ChromeToAgent& a, ChromeToAgent& b) { a.Swap(&b); }
  inline void Swap(ChromeToAgent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ChromeToAgent* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ChromeToAgent* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ChromeToAgent>(arena);
  }
  void CopyFrom(const ChromeToAgent& from);
  void MergeFrom(const ChromeToAgent& from) { ChromeToAgent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return IsInitializedImpl(*this);
  }

  private:
  static bool IsInitializedImpl(const MessageLite& msg);

  public:
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ChromeToAgent* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "content_analysis.sdk.ChromeToAgent"; }

  explicit ChromeToAgent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ChromeToAgent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ChromeToAgent& from);
  ChromeToAgent(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ChromeToAgent&& from) noexcept
      : ChromeToAgent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kRequestFieldNumber = 1,
    kAckFieldNumber = 2,
    kCancelFieldNumber = 3,
  };
  // optional .content_analysis.sdk.ContentAnalysisRequest request = 1;
  [[nodiscard]] bool has_request()
      const;
  void clear_request() ;
  [[nodiscard]] const ::content_analysis::sdk::ContentAnalysisRequest& request() const;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NULLABLE release_request();
  ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NONNULL mutable_request();
  void set_allocated_request(::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_request(::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NULLABLE unsafe_arena_release_request();

  private:
  const ::content_analysis::sdk::ContentAnalysisRequest& _internal_request() const;
  ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NONNULL _internal_mutable_request();

  public:
  // optional .content_analysis.sdk.ContentAnalysisAcknowledgement ack = 2;
  [[nodiscard]] bool has_ack()
      const;
  void clear_ack() ;
  [[nodiscard]] const ::content_analysis::sdk::ContentAnalysisAcknowledgement& ack() const;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NULLABLE release_ack();
  ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NONNULL mutable_ack();
  void set_allocated_ack(::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_ack(::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NULLABLE unsafe_arena_release_ack();

  private:
  const ::content_analysis::sdk::ContentAnalysisAcknowledgement& _internal_ack() const;
  ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NONNULL _internal_mutable_ack();

  public:
  // optional .content_analysis.sdk.ContentAnalysisCancelRequests cancel = 3;
  [[nodiscard]] bool has_cancel()
      const;
  void clear_cancel() ;
  [[nodiscard]] const ::content_analysis::sdk::ContentAnalysisCancelRequests& cancel() const;
  [[nodiscard]] ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NULLABLE release_cancel();
  ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NONNULL mutable_cancel();
  void set_allocated_cancel(::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_cancel(::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NULLABLE value);
  ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NULLABLE unsafe_arena_release_cancel();

  private:
  const ::content_analysis::sdk::ContentAnalysisCancelRequests& _internal_cancel() const;
  ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NONNULL _internal_mutable_cancel();

  public:
  // @@protoc_insertion_point(class_scope:content_analysis.sdk.ChromeToAgent)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          3, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ChromeToAgent& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NULLABLE request_;
    ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NULLABLE ack_;
    ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NULLABLE cancel_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_analysis_2eproto;
};

// ===================================================================




// ===================================================================


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// ContentMetaData_PrintMetadata

// optional string printer_name = 1;
inline bool ContentMetaData_PrintMetadata::has_printer_name() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void ContentMetaData_PrintMetadata::clear_printer_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.printer_name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ContentMetaData_PrintMetadata::printer_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentMetaData.PrintMetadata.printer_name)
  return _internal_printer_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentMetaData_PrintMetadata::set_printer_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.printer_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentMetaData.PrintMetadata.printer_name)
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData_PrintMetadata::mutable_printer_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_printer_name();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentMetaData.PrintMetadata.printer_name)
  return _s;
}
inline const ::std::string& ContentMetaData_PrintMetadata::_internal_printer_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.printer_name_.Get();
}
inline void ContentMetaData_PrintMetadata::_internal_set_printer_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.printer_name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData_PrintMetadata::_internal_mutable_printer_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.printer_name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentMetaData_PrintMetadata::release_printer_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentMetaData.PrintMetadata.printer_name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.printer_name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.printer_name_.Set("", GetArena());
  }
  return released;
}
inline void ContentMetaData_PrintMetadata::set_allocated_printer_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.printer_name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.printer_name_.IsDefault()) {
    _impl_.printer_name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentMetaData.PrintMetadata.printer_name)
}

// optional .content_analysis.sdk.ContentMetaData.PrintMetadata.PrinterType printer_type = 2;
inline bool ContentMetaData_PrintMetadata::has_printer_type() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void ContentMetaData_PrintMetadata::clear_printer_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.printer_type_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType ContentMetaData_PrintMetadata::printer_type() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentMetaData.PrintMetadata.printer_type)
  return _internal_printer_type();
}
inline void ContentMetaData_PrintMetadata::set_printer_type(::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType value) {
  _internal_set_printer_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentMetaData.PrintMetadata.printer_type)
}
inline ::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType ContentMetaData_PrintMetadata::_internal_printer_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType>(_impl_.printer_type_);
}
inline void ContentMetaData_PrintMetadata::_internal_set_printer_type(::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);

                                          assert(::google::protobuf::internal::ValidateEnum(
                                              value, ::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType_internal_data_));
                                          _impl_.printer_type_ = value;
}

// -------------------------------------------------------------------

// ContentMetaData

// optional string url = 1;
inline bool ContentMetaData::has_url() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void ContentMetaData::clear_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.url_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ContentMetaData::url() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentMetaData.url)
  return _internal_url();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentMetaData::set_url(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentMetaData.url)
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::mutable_url()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentMetaData.url)
  return _s;
}
inline const ::std::string& ContentMetaData::_internal_url() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.url_.Get();
}
inline void ContentMetaData::_internal_set_url(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.url_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::_internal_mutable_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.url_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentMetaData::release_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentMetaData.url)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.url_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.url_.Set("", GetArena());
  }
  return released;
}
inline void ContentMetaData::set_allocated_url(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.url_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentMetaData.url)
}

// optional string filename = 2;
inline bool ContentMetaData::has_filename() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void ContentMetaData::clear_filename() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.filename_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ContentMetaData::filename() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentMetaData.filename)
  return _internal_filename();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentMetaData::set_filename(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.filename_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentMetaData.filename)
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::mutable_filename()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_filename();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentMetaData.filename)
  return _s;
}
inline const ::std::string& ContentMetaData::_internal_filename() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.filename_.Get();
}
inline void ContentMetaData::_internal_set_filename(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.filename_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::_internal_mutable_filename() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.filename_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentMetaData::release_filename() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentMetaData.filename)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.filename_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.filename_.Set("", GetArena());
  }
  return released;
}
inline void ContentMetaData::set_allocated_filename(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.filename_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.filename_.IsDefault()) {
    _impl_.filename_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentMetaData.filename)
}

// optional string digest = 3;
inline bool ContentMetaData::has_digest() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  return value;
}
inline void ContentMetaData::clear_digest() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.digest_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& ContentMetaData::digest() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentMetaData.digest)
  return _internal_digest();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentMetaData::set_digest(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.digest_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentMetaData.digest)
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::mutable_digest()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_digest();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentMetaData.digest)
  return _s;
}
inline const ::std::string& ContentMetaData::_internal_digest() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.digest_.Get();
}
inline void ContentMetaData::_internal_set_digest(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.digest_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::_internal_mutable_digest() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.digest_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentMetaData::release_digest() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentMetaData.digest)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.digest_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.digest_.Set("", GetArena());
  }
  return released;
}
inline void ContentMetaData::set_allocated_digest(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.digest_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.digest_.IsDefault()) {
    _impl_.digest_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentMetaData.digest)
}

// optional .content_analysis.sdk.ClientDownloadRequest csd = 4;
inline bool ContentMetaData::has_csd() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
  PROTOBUF_ASSUME(!value || _impl_.csd_ != nullptr);
  return value;
}
inline void ContentMetaData::clear_csd() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.csd_ != nullptr) _impl_.csd_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline const ::content_analysis::sdk::ClientDownloadRequest& ContentMetaData::_internal_csd() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::content_analysis::sdk::ClientDownloadRequest* p = _impl_.csd_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ClientDownloadRequest>(&::content_analysis::sdk::ClientDownloadRequest_globals_);
}
inline const ::content_analysis::sdk::ClientDownloadRequest& ContentMetaData::csd() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentMetaData.csd)
  return _internal_csd();
}
inline void ContentMetaData::unsafe_arena_set_allocated_csd(
    ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.csd_);
  }
  _impl_.csd_ = reinterpret_cast<::content_analysis::sdk::ClientDownloadRequest*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.ContentMetaData.csd)
}
inline ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NULLABLE ContentMetaData::release_csd() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::content_analysis::sdk::ClientDownloadRequest* released = _impl_.csd_;
  _impl_.csd_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NULLABLE ContentMetaData::unsafe_arena_release_csd() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentMetaData.csd)

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::content_analysis::sdk::ClientDownloadRequest* temp = _impl_.csd_;
  _impl_.csd_ = nullptr;
  return temp;
}
inline ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NONNULL ContentMetaData::_internal_mutable_csd() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.csd_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ClientDownloadRequest>(GetArena());
    _impl_.csd_ = reinterpret_cast<::content_analysis::sdk::ClientDownloadRequest*>(p);
  }
  return _impl_.csd_;
}
inline ::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NONNULL ContentMetaData::mutable_csd()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::content_analysis::sdk::ClientDownloadRequest* _msg = _internal_mutable_csd();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentMetaData.csd)
  return _msg;
}
inline void ContentMetaData::set_allocated_csd(::content_analysis::sdk::ClientDownloadRequest* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.csd_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }

  _impl_.csd_ = reinterpret_cast<::content_analysis::sdk::ClientDownloadRequest*>(value);
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentMetaData.csd)
}

// optional string email = 5;
inline bool ContentMetaData::has_email() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  return value;
}
inline void ContentMetaData::clear_email() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.email_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::std::string& ContentMetaData::email() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentMetaData.email)
  return _internal_email();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentMetaData::set_email(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.email_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentMetaData.email)
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::mutable_email()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_email();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentMetaData.email)
  return _s;
}
inline const ::std::string& ContentMetaData::_internal_email() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.email_.Get();
}
inline void ContentMetaData::_internal_set_email(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.email_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::_internal_mutable_email() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.email_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentMetaData::release_email() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentMetaData.email)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.email_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.email_.Set("", GetArena());
  }
  return released;
}
inline void ContentMetaData::set_allocated_email(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.email_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.email_.IsDefault()) {
    _impl_.email_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentMetaData.email)
}

// optional string tab_title = 9;
inline bool ContentMetaData::has_tab_title() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  return value;
}
inline void ContentMetaData::clear_tab_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tab_title_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline const ::std::string& ContentMetaData::tab_title() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentMetaData.tab_title)
  return _internal_tab_title();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentMetaData::set_tab_title(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  _impl_.tab_title_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentMetaData.tab_title)
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::mutable_tab_title()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::std::string* _s = _internal_mutable_tab_title();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentMetaData.tab_title)
  return _s;
}
inline const ::std::string& ContentMetaData::_internal_tab_title() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.tab_title_.Get();
}
inline void ContentMetaData::_internal_set_tab_title(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tab_title_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentMetaData::_internal_mutable_tab_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.tab_title_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentMetaData::release_tab_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentMetaData.tab_title)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  auto* released = _impl_.tab_title_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.tab_title_.Set("", GetArena());
  }
  return released;
}
inline void ContentMetaData::set_allocated_tab_title(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  _impl_.tab_title_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.tab_title_.IsDefault()) {
    _impl_.tab_title_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentMetaData.tab_title)
}

// optional .content_analysis.sdk.ContentMetaData.PrintMetadata print_metadata = 11;
inline bool ContentMetaData::has_print_metadata() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
  PROTOBUF_ASSUME(!value || _impl_.print_metadata_ != nullptr);
  return value;
}
inline void ContentMetaData::clear_print_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.print_metadata_ != nullptr) _impl_.print_metadata_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline const ::content_analysis::sdk::ContentMetaData_PrintMetadata& ContentMetaData::_internal_print_metadata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::content_analysis::sdk::ContentMetaData_PrintMetadata* p = _impl_.print_metadata_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ContentMetaData_PrintMetadata>(&::content_analysis::sdk::ContentMetaData_PrintMetadata_globals_);
}
inline const ::content_analysis::sdk::ContentMetaData_PrintMetadata& ContentMetaData::print_metadata() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentMetaData.print_metadata)
  return _internal_print_metadata();
}
inline void ContentMetaData::unsafe_arena_set_allocated_print_metadata(
    ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.print_metadata_);
  }
  _impl_.print_metadata_ = reinterpret_cast<::content_analysis::sdk::ContentMetaData_PrintMetadata*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.ContentMetaData.print_metadata)
}
inline ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NULLABLE ContentMetaData::release_print_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::content_analysis::sdk::ContentMetaData_PrintMetadata* released = _impl_.print_metadata_;
  _impl_.print_metadata_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NULLABLE ContentMetaData::unsafe_arena_release_print_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentMetaData.print_metadata)

  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::content_analysis::sdk::ContentMetaData_PrintMetadata* temp = _impl_.print_metadata_;
  _impl_.print_metadata_ = nullptr;
  return temp;
}
inline ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NONNULL ContentMetaData::_internal_mutable_print_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.print_metadata_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ContentMetaData_PrintMetadata>(GetArena());
    _impl_.print_metadata_ = reinterpret_cast<::content_analysis::sdk::ContentMetaData_PrintMetadata*>(p);
  }
  return _impl_.print_metadata_;
}
inline ::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NONNULL ContentMetaData::mutable_print_metadata()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::content_analysis::sdk::ContentMetaData_PrintMetadata* _msg = _internal_mutable_print_metadata();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentMetaData.print_metadata)
  return _msg;
}
inline void ContentMetaData::set_allocated_print_metadata(::content_analysis::sdk::ContentMetaData_PrintMetadata* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.print_metadata_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }

  _impl_.print_metadata_ = reinterpret_cast<::content_analysis::sdk::ContentMetaData_PrintMetadata*>(value);
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentMetaData.print_metadata)
}

// -------------------------------------------------------------------

// ClientMetadata_Browser

// optional string machine_user = 4;
inline bool ClientMetadata_Browser::has_machine_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void ClientMetadata_Browser::clear_machine_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.machine_user_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ClientMetadata_Browser::machine_user() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ClientMetadata.Browser.machine_user)
  return _internal_machine_user();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ClientMetadata_Browser::set_machine_user(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.machine_user_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ClientMetadata.Browser.machine_user)
}
inline ::std::string* PROTOBUF_NONNULL ClientMetadata_Browser::mutable_machine_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_machine_user();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ClientMetadata.Browser.machine_user)
  return _s;
}
inline const ::std::string& ClientMetadata_Browser::_internal_machine_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.machine_user_.Get();
}
inline void ClientMetadata_Browser::_internal_set_machine_user(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.machine_user_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ClientMetadata_Browser::_internal_mutable_machine_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.machine_user_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ClientMetadata_Browser::release_machine_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ClientMetadata.Browser.machine_user)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.machine_user_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.machine_user_.Set("", GetArena());
  }
  return released;
}
inline void ClientMetadata_Browser::set_allocated_machine_user(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.machine_user_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.machine_user_.IsDefault()) {
    _impl_.machine_user_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ClientMetadata.Browser.machine_user)
}

// -------------------------------------------------------------------

// ClientMetadata

// optional .content_analysis.sdk.ClientMetadata.Browser browser = 1;
inline bool ClientMetadata::has_browser() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.browser_ != nullptr);
  return value;
}
inline void ClientMetadata::clear_browser() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.browser_ != nullptr) _impl_.browser_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::content_analysis::sdk::ClientMetadata_Browser& ClientMetadata::_internal_browser() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::content_analysis::sdk::ClientMetadata_Browser* p = _impl_.browser_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ClientMetadata_Browser>(&::content_analysis::sdk::ClientMetadata_Browser_globals_);
}
inline const ::content_analysis::sdk::ClientMetadata_Browser& ClientMetadata::browser() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ClientMetadata.browser)
  return _internal_browser();
}
inline void ClientMetadata::unsafe_arena_set_allocated_browser(
    ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.browser_);
  }
  _impl_.browser_ = reinterpret_cast<::content_analysis::sdk::ClientMetadata_Browser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.ClientMetadata.browser)
}
inline ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NULLABLE ClientMetadata::release_browser() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::content_analysis::sdk::ClientMetadata_Browser* released = _impl_.browser_;
  _impl_.browser_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NULLABLE ClientMetadata::unsafe_arena_release_browser() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ClientMetadata.browser)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::content_analysis::sdk::ClientMetadata_Browser* temp = _impl_.browser_;
  _impl_.browser_ = nullptr;
  return temp;
}
inline ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NONNULL ClientMetadata::_internal_mutable_browser() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.browser_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ClientMetadata_Browser>(GetArena());
    _impl_.browser_ = reinterpret_cast<::content_analysis::sdk::ClientMetadata_Browser*>(p);
  }
  return _impl_.browser_;
}
inline ::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NONNULL ClientMetadata::mutable_browser()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::content_analysis::sdk::ClientMetadata_Browser* _msg = _internal_mutable_browser();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ClientMetadata.browser)
  return _msg;
}
inline void ClientMetadata::set_allocated_browser(::content_analysis::sdk::ClientMetadata_Browser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.browser_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.browser_ = reinterpret_cast<::content_analysis::sdk::ClientMetadata_Browser*>(value);
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ClientMetadata.browser)
}

// -------------------------------------------------------------------

// ClientDownloadRequest_Resource

// required string url = 1;
inline bool ClientDownloadRequest_Resource::has_url() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void ClientDownloadRequest_Resource::clear_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.url_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ClientDownloadRequest_Resource::url() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ClientDownloadRequest.Resource.url)
  return _internal_url();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ClientDownloadRequest_Resource::set_url(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ClientDownloadRequest.Resource.url)
}
inline ::std::string* PROTOBUF_NONNULL ClientDownloadRequest_Resource::mutable_url()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ClientDownloadRequest.Resource.url)
  return _s;
}
inline const ::std::string& ClientDownloadRequest_Resource::_internal_url() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.url_.Get();
}
inline void ClientDownloadRequest_Resource::_internal_set_url(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.url_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ClientDownloadRequest_Resource::_internal_mutable_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.url_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ClientDownloadRequest_Resource::release_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ClientDownloadRequest.Resource.url)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.url_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.url_.Set("", GetArena());
  }
  return released;
}
inline void ClientDownloadRequest_Resource::set_allocated_url(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.url_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ClientDownloadRequest.Resource.url)
}

// required .content_analysis.sdk.ClientDownloadRequest.ResourceType type = 2;
inline bool ClientDownloadRequest_Resource::has_type() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void ClientDownloadRequest_Resource::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::content_analysis::sdk::ClientDownloadRequest_ResourceType ClientDownloadRequest_Resource::type() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ClientDownloadRequest.Resource.type)
  return _internal_type();
}
inline void ClientDownloadRequest_Resource::set_type(::content_analysis::sdk::ClientDownloadRequest_ResourceType value) {
  _internal_set_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ClientDownloadRequest.Resource.type)
}
inline ::content_analysis::sdk::ClientDownloadRequest_ResourceType ClientDownloadRequest_Resource::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::content_analysis::sdk::ClientDownloadRequest_ResourceType>(_impl_.type_);
}
inline void ClientDownloadRequest_Resource::_internal_set_type(::content_analysis::sdk::ClientDownloadRequest_ResourceType value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);

                                          assert(::google::protobuf::internal::ValidateEnum(
                                              value, ::content_analysis::sdk::ClientDownloadRequest_ResourceType_internal_data_));
                                          _impl_.type_ = value;
}

// -------------------------------------------------------------------

// ClientDownloadRequest

// repeated .content_analysis.sdk.ClientDownloadRequest.Resource resources = 4;
inline int ClientDownloadRequest::_internal_resources_size() const {
  return _internal_resources().size();
}
inline int ClientDownloadRequest::resources_size() const {
  return _internal_resources_size();
}
inline void ClientDownloadRequest::clear_resources() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.resources_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::content_analysis::sdk::ClientDownloadRequest_Resource& ClientDownloadRequest::resources(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ClientDownloadRequest.resources)
  return _internal_resources().Get(index);
}
inline ::content_analysis::sdk::ClientDownloadRequest_Resource* PROTOBUF_NONNULL ClientDownloadRequest::mutable_resources(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ClientDownloadRequest.resources)
  return _internal_mutable_resources()->Mutable(index);
}
inline ::content_analysis::sdk::ClientDownloadRequest_Resource* PROTOBUF_NONNULL ClientDownloadRequest::add_resources()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::content_analysis::sdk::ClientDownloadRequest_Resource* _add =
      _internal_mutable_resources()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:content_analysis.sdk.ClientDownloadRequest.resources)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ClientDownloadRequest_Resource>& ClientDownloadRequest::resources() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:content_analysis.sdk.ClientDownloadRequest.resources)
  return _internal_resources();
}
inline ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ClientDownloadRequest_Resource>* PROTOBUF_NONNULL
ClientDownloadRequest::mutable_resources() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:content_analysis.sdk.ClientDownloadRequest.resources)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_resources();
}
inline const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ClientDownloadRequest_Resource>&
ClientDownloadRequest::_internal_resources() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.resources_;
}
inline ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ClientDownloadRequest_Resource>* PROTOBUF_NONNULL
ClientDownloadRequest::_internal_mutable_resources() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.resources_;
}

// -------------------------------------------------------------------

// ContentAnalysisRequest_PrintData

// optional int64 handle = 1;
inline bool ContentAnalysisRequest_PrintData::has_handle() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void ContentAnalysisRequest_PrintData::clear_handle() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.handle_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::int64_t ContentAnalysisRequest_PrintData::handle() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.PrintData.handle)
  return _internal_handle();
}
inline void ContentAnalysisRequest_PrintData::set_handle(::int64_t value) {
  _internal_set_handle(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.PrintData.handle)
}
inline ::int64_t ContentAnalysisRequest_PrintData::_internal_handle() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.handle_;
}
inline void ContentAnalysisRequest_PrintData::_internal_set_handle(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.handle_ = value;
}

// optional int64 size = 2;
inline bool ContentAnalysisRequest_PrintData::has_size() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void ContentAnalysisRequest_PrintData::clear_size() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.size_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::int64_t ContentAnalysisRequest_PrintData::size() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.PrintData.size)
  return _internal_size();
}
inline void ContentAnalysisRequest_PrintData::set_size(::int64_t value) {
  _internal_set_size(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.PrintData.size)
}
inline ::int64_t ContentAnalysisRequest_PrintData::_internal_size() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.size_;
}
inline void ContentAnalysisRequest_PrintData::_internal_set_size(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.size_ = value;
}

// -------------------------------------------------------------------

// ContentAnalysisRequest

// optional string request_token = 5;
inline bool ContentAnalysisRequest::has_request_token() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void ContentAnalysisRequest::clear_request_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.request_token_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ContentAnalysisRequest::request_token() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.request_token)
  return _internal_request_token();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisRequest::set_request_token(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.request_token_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.request_token)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::mutable_request_token()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_request_token();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisRequest.request_token)
  return _s;
}
inline const ::std::string& ContentAnalysisRequest::_internal_request_token() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.request_token_.Get();
}
inline void ContentAnalysisRequest::_internal_set_request_token(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.request_token_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::_internal_mutable_request_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.request_token_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisRequest::release_request_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisRequest.request_token)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.request_token_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.request_token_.Set("", GetArena());
  }
  return released;
}
inline void ContentAnalysisRequest::set_allocated_request_token(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.request_token_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.request_token_.IsDefault()) {
    _impl_.request_token_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisRequest.request_token)
}

// optional .content_analysis.sdk.AnalysisConnector analysis_connector = 9;
inline bool ContentAnalysisRequest::has_analysis_connector() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
  return value;
}
inline void ContentAnalysisRequest::clear_analysis_connector() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.analysis_connector_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline ::content_analysis::sdk::AnalysisConnector ContentAnalysisRequest::analysis_connector() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.analysis_connector)
  return _internal_analysis_connector();
}
inline void ContentAnalysisRequest::set_analysis_connector(::content_analysis::sdk::AnalysisConnector value) {
  _internal_set_analysis_connector(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.analysis_connector)
}
inline ::content_analysis::sdk::AnalysisConnector ContentAnalysisRequest::_internal_analysis_connector() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::content_analysis::sdk::AnalysisConnector>(_impl_.analysis_connector_);
}
inline void ContentAnalysisRequest::_internal_set_analysis_connector(::content_analysis::sdk::AnalysisConnector value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);

                                          assert(::google::protobuf::internal::ValidateEnum(
                                              value, ::content_analysis::sdk::AnalysisConnector_internal_data_));
                                          _impl_.analysis_connector_ = value;
}

// optional .content_analysis.sdk.ContentMetaData request_data = 10;
inline bool ContentAnalysisRequest::has_request_data() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.request_data_ != nullptr);
  return value;
}
inline void ContentAnalysisRequest::clear_request_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.request_data_ != nullptr) _impl_.request_data_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::content_analysis::sdk::ContentMetaData& ContentAnalysisRequest::_internal_request_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::content_analysis::sdk::ContentMetaData* p = _impl_.request_data_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ContentMetaData>(&::content_analysis::sdk::ContentMetaData_globals_);
}
inline const ::content_analysis::sdk::ContentMetaData& ContentAnalysisRequest::request_data() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.request_data)
  return _internal_request_data();
}
inline void ContentAnalysisRequest::unsafe_arena_set_allocated_request_data(
    ::content_analysis::sdk::ContentMetaData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.request_data_);
  }
  _impl_.request_data_ = reinterpret_cast<::content_analysis::sdk::ContentMetaData*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.ContentAnalysisRequest.request_data)
}
inline ::content_analysis::sdk::ContentMetaData* PROTOBUF_NULLABLE ContentAnalysisRequest::release_request_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::content_analysis::sdk::ContentMetaData* released = _impl_.request_data_;
  _impl_.request_data_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::content_analysis::sdk::ContentMetaData* PROTOBUF_NULLABLE ContentAnalysisRequest::unsafe_arena_release_request_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisRequest.request_data)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::content_analysis::sdk::ContentMetaData* temp = _impl_.request_data_;
  _impl_.request_data_ = nullptr;
  return temp;
}
inline ::content_analysis::sdk::ContentMetaData* PROTOBUF_NONNULL ContentAnalysisRequest::_internal_mutable_request_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.request_data_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ContentMetaData>(GetArena());
    _impl_.request_data_ = reinterpret_cast<::content_analysis::sdk::ContentMetaData*>(p);
  }
  return _impl_.request_data_;
}
inline ::content_analysis::sdk::ContentMetaData* PROTOBUF_NONNULL ContentAnalysisRequest::mutable_request_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::content_analysis::sdk::ContentMetaData* _msg = _internal_mutable_request_data();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisRequest.request_data)
  return _msg;
}
inline void ContentAnalysisRequest::set_allocated_request_data(::content_analysis::sdk::ContentMetaData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.request_data_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.request_data_ = reinterpret_cast<::content_analysis::sdk::ContentMetaData*>(value);
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisRequest.request_data)
}

// repeated string tags = 11;
inline int ContentAnalysisRequest::_internal_tags_size() const {
  return _internal_tags().size();
}
inline int ContentAnalysisRequest::tags_size() const {
  return _internal_tags_size();
}
inline void ContentAnalysisRequest::clear_tags() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tags_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::add_tags()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_tags()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:content_analysis.sdk.ContentAnalysisRequest.tags)
  return _s;
}
inline const ::std::string& ContentAnalysisRequest::tags(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.tags)
  return _internal_tags().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::mutable_tags(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisRequest.tags)
  return _internal_mutable_tags()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void ContentAnalysisRequest::set_tags(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_tags()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.tags)
}
template <typename Arg_, typename... Args_>
inline void ContentAnalysisRequest::add_tags(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_tags(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:content_analysis.sdk.ContentAnalysisRequest.tags)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& ContentAnalysisRequest::tags()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:content_analysis.sdk.ContentAnalysisRequest.tags)
  return _internal_tags();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
ContentAnalysisRequest::mutable_tags() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:content_analysis.sdk.ContentAnalysisRequest.tags)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_tags();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
ContentAnalysisRequest::_internal_tags() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.tags_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
ContentAnalysisRequest::_internal_mutable_tags() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.tags_;
}

// optional .content_analysis.sdk.ClientMetadata client_metadata = 12;
inline bool ContentAnalysisRequest::has_client_metadata() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.client_metadata_ != nullptr);
  return value;
}
inline void ContentAnalysisRequest::clear_client_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.client_metadata_ != nullptr) _impl_.client_metadata_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline const ::content_analysis::sdk::ClientMetadata& ContentAnalysisRequest::_internal_client_metadata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::content_analysis::sdk::ClientMetadata* p = _impl_.client_metadata_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ClientMetadata>(&::content_analysis::sdk::ClientMetadata_globals_);
}
inline const ::content_analysis::sdk::ClientMetadata& ContentAnalysisRequest::client_metadata() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.client_metadata)
  return _internal_client_metadata();
}
inline void ContentAnalysisRequest::unsafe_arena_set_allocated_client_metadata(
    ::content_analysis::sdk::ClientMetadata* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.client_metadata_);
  }
  _impl_.client_metadata_ = reinterpret_cast<::content_analysis::sdk::ClientMetadata*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.ContentAnalysisRequest.client_metadata)
}
inline ::content_analysis::sdk::ClientMetadata* PROTOBUF_NULLABLE ContentAnalysisRequest::release_client_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::content_analysis::sdk::ClientMetadata* released = _impl_.client_metadata_;
  _impl_.client_metadata_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::content_analysis::sdk::ClientMetadata* PROTOBUF_NULLABLE ContentAnalysisRequest::unsafe_arena_release_client_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisRequest.client_metadata)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::content_analysis::sdk::ClientMetadata* temp = _impl_.client_metadata_;
  _impl_.client_metadata_ = nullptr;
  return temp;
}
inline ::content_analysis::sdk::ClientMetadata* PROTOBUF_NONNULL ContentAnalysisRequest::_internal_mutable_client_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.client_metadata_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ClientMetadata>(GetArena());
    _impl_.client_metadata_ = reinterpret_cast<::content_analysis::sdk::ClientMetadata*>(p);
  }
  return _impl_.client_metadata_;
}
inline ::content_analysis::sdk::ClientMetadata* PROTOBUF_NONNULL ContentAnalysisRequest::mutable_client_metadata()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::content_analysis::sdk::ClientMetadata* _msg = _internal_mutable_client_metadata();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisRequest.client_metadata)
  return _msg;
}
inline void ContentAnalysisRequest::set_allocated_client_metadata(::content_analysis::sdk::ClientMetadata* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.client_metadata_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.client_metadata_ = reinterpret_cast<::content_analysis::sdk::ClientMetadata*>(value);
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisRequest.client_metadata)
}

// string text_content = 13;
inline bool ContentAnalysisRequest::has_text_content() const {
  return content_data_case() == kTextContent;
}
inline void ContentAnalysisRequest::set_has_text_content() {
  _impl_._oneof_case_[0] = kTextContent;
}
inline void ContentAnalysisRequest::clear_text_content() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (content_data_case() == kTextContent) {
    _impl_.content_data_.text_content_.Destroy();
    clear_has_content_data();
  }
}
inline const ::std::string& ContentAnalysisRequest::text_content() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.text_content)
  return _internal_text_content();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisRequest::set_text_content(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (content_data_case() != kTextContent) {
    clear_content_data();

    set_has_text_content();
    _impl_.content_data_.text_content_.InitDefault();
  }
  _impl_.content_data_.text_content_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.text_content)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::mutable_text_content()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  if (content_data_case() != kTextContent) {
    clear_content_data();

    set_has_text_content();
    _impl_.content_data_.text_content_.InitDefault();
  }
  ::std::string* _s = _internal_mutable_text_content();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisRequest.text_content)
  return _s;
}
inline const ::std::string& ContentAnalysisRequest::_internal_text_content() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  if (content_data_case() != kTextContent) {
    return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  }
  return _impl_.content_data_.text_content_.Get();
}
inline void ContentAnalysisRequest::_internal_set_text_content(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.content_data_.text_content_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::_internal_mutable_text_content() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.content_data_.text_content_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisRequest::release_text_content() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisRequest.text_content)
  if (content_data_case() != kTextContent) {
    return nullptr;
  }
  clear_has_content_data();
  return _impl_.content_data_.text_content_.Release();
}
inline void ContentAnalysisRequest::set_allocated_text_content(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (has_content_data()) {
    clear_content_data();
  }
  if (value != nullptr) {
    set_has_text_content();
    _impl_.content_data_.text_content_.InitAllocated(value, GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisRequest.text_content)
}

// string file_path = 14;
inline bool ContentAnalysisRequest::has_file_path() const {
  return content_data_case() == kFilePath;
}
inline void ContentAnalysisRequest::set_has_file_path() {
  _impl_._oneof_case_[0] = kFilePath;
}
inline void ContentAnalysisRequest::clear_file_path() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (content_data_case() == kFilePath) {
    _impl_.content_data_.file_path_.Destroy();
    clear_has_content_data();
  }
}
inline const ::std::string& ContentAnalysisRequest::file_path() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.file_path)
  return _internal_file_path();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisRequest::set_file_path(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (content_data_case() != kFilePath) {
    clear_content_data();

    set_has_file_path();
    _impl_.content_data_.file_path_.InitDefault();
  }
  _impl_.content_data_.file_path_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.file_path)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::mutable_file_path()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  if (content_data_case() != kFilePath) {
    clear_content_data();

    set_has_file_path();
    _impl_.content_data_.file_path_.InitDefault();
  }
  ::std::string* _s = _internal_mutable_file_path();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisRequest.file_path)
  return _s;
}
inline const ::std::string& ContentAnalysisRequest::_internal_file_path() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  if (content_data_case() != kFilePath) {
    return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  }
  return _impl_.content_data_.file_path_.Get();
}
inline void ContentAnalysisRequest::_internal_set_file_path(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.content_data_.file_path_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::_internal_mutable_file_path() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.content_data_.file_path_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisRequest::release_file_path() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisRequest.file_path)
  if (content_data_case() != kFilePath) {
    return nullptr;
  }
  clear_has_content_data();
  return _impl_.content_data_.file_path_.Release();
}
inline void ContentAnalysisRequest::set_allocated_file_path(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (has_content_data()) {
    clear_content_data();
  }
  if (value != nullptr) {
    set_has_file_path();
    _impl_.content_data_.file_path_.InitAllocated(value, GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisRequest.file_path)
}

// .content_analysis.sdk.ContentAnalysisRequest.PrintData print_data = 18;
inline bool ContentAnalysisRequest::has_print_data() const {
  return content_data_case() == kPrintData;
}
inline bool ContentAnalysisRequest::_internal_has_print_data() const {
  return content_data_case() == kPrintData;
}
inline void ContentAnalysisRequest::set_has_print_data() {
  _impl_._oneof_case_[0] = kPrintData;
}
inline void ContentAnalysisRequest::clear_print_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (content_data_case() == kPrintData) {
    if (GetArena() == nullptr) {
      delete _impl_.content_data_.print_data_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.content_data_.print_data_ != nullptr) {
        _impl_.content_data_.print_data_->Clear();
      }
    }
    clear_has_content_data();
  }
}
inline ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NULLABLE ContentAnalysisRequest::release_print_data() {
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisRequest.print_data)
  if (content_data_case() == kPrintData) {
    clear_has_content_data();
    auto* temp = _impl_.content_data_.print_data_;
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.content_data_.print_data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::content_analysis::sdk::ContentAnalysisRequest_PrintData& ContentAnalysisRequest::_internal_print_data() const {
  return content_data_case() == kPrintData ? static_cast<const ::content_analysis::sdk::ContentAnalysisRequest_PrintData&>(*_impl_.content_data_.print_data_)
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ContentAnalysisRequest_PrintData>(&::content_analysis::sdk::ContentAnalysisRequest_PrintData_globals_);
}
inline const ::content_analysis::sdk::ContentAnalysisRequest_PrintData& ContentAnalysisRequest::print_data() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.print_data)
  return _internal_print_data();
}
inline ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NULLABLE ContentAnalysisRequest::unsafe_arena_release_print_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:content_analysis.sdk.ContentAnalysisRequest.print_data)
  if (content_data_case() == kPrintData) {
    clear_has_content_data();
    auto* temp = _impl_.content_data_.print_data_;
    _impl_.content_data_.print_data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void ContentAnalysisRequest::unsafe_arena_set_allocated_print_data(
    ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_content_data();
  if (value) {
    set_has_print_data();
    _impl_.content_data_.print_data_ = value;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.ContentAnalysisRequest.print_data)
}
inline ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NONNULL ContentAnalysisRequest::_internal_mutable_print_data() {
  if (content_data_case() != kPrintData) {
    clear_content_data();
    set_has_print_data();
    _impl_.content_data_.print_data_ = 
        ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ContentAnalysisRequest_PrintData>(GetArena());
  }
  return _impl_.content_data_.print_data_;
}
inline ::content_analysis::sdk::ContentAnalysisRequest_PrintData* PROTOBUF_NONNULL ContentAnalysisRequest::mutable_print_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::content_analysis::sdk::ContentAnalysisRequest_PrintData* _msg = _internal_mutable_print_data();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisRequest.print_data)
  return _msg;
}

// optional int64 expires_at = 15;
inline bool ContentAnalysisRequest::has_expires_at() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
  return value;
}
inline void ContentAnalysisRequest::clear_expires_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.expires_at_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
}
inline ::int64_t ContentAnalysisRequest::expires_at() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.expires_at)
  return _internal_expires_at();
}
inline void ContentAnalysisRequest::set_expires_at(::int64_t value) {
  _internal_set_expires_at(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.expires_at)
}
inline ::int64_t ContentAnalysisRequest::_internal_expires_at() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.expires_at_;
}
inline void ContentAnalysisRequest::_internal_set_expires_at(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.expires_at_ = value;
}

// optional string user_action_id = 16;
inline bool ContentAnalysisRequest::has_user_action_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  return value;
}
inline void ContentAnalysisRequest::clear_user_action_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.user_action_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& ContentAnalysisRequest::user_action_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.user_action_id)
  return _internal_user_action_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisRequest::set_user_action_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.user_action_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.user_action_id)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::mutable_user_action_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_user_action_id();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisRequest.user_action_id)
  return _s;
}
inline const ::std::string& ContentAnalysisRequest::_internal_user_action_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.user_action_id_.Get();
}
inline void ContentAnalysisRequest::_internal_set_user_action_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.user_action_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisRequest::_internal_mutable_user_action_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.user_action_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisRequest::release_user_action_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisRequest.user_action_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.user_action_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.user_action_id_.Set("", GetArena());
  }
  return released;
}
inline void ContentAnalysisRequest::set_allocated_user_action_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.user_action_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.user_action_id_.IsDefault()) {
    _impl_.user_action_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisRequest.user_action_id)
}

// optional int64 user_action_requests_count = 17;
inline bool ContentAnalysisRequest::has_user_action_requests_count() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U);
  return value;
}
inline void ContentAnalysisRequest::clear_user_action_requests_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.user_action_requests_count_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
}
inline ::int64_t ContentAnalysisRequest::user_action_requests_count() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.user_action_requests_count)
  return _internal_user_action_requests_count();
}
inline void ContentAnalysisRequest::set_user_action_requests_count(::int64_t value) {
  _internal_set_user_action_requests_count(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.user_action_requests_count)
}
inline ::int64_t ContentAnalysisRequest::_internal_user_action_requests_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.user_action_requests_count_;
}
inline void ContentAnalysisRequest::_internal_set_user_action_requests_count(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.user_action_requests_count_ = value;
}

// optional .content_analysis.sdk.ContentAnalysisRequest.Reason reason = 19;
inline bool ContentAnalysisRequest::has_reason() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
  return value;
}
inline void ContentAnalysisRequest::clear_reason() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.reason_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline ::content_analysis::sdk::ContentAnalysisRequest_Reason ContentAnalysisRequest::reason() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisRequest.reason)
  return _internal_reason();
}
inline void ContentAnalysisRequest::set_reason(::content_analysis::sdk::ContentAnalysisRequest_Reason value) {
  _internal_set_reason(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisRequest.reason)
}
inline ::content_analysis::sdk::ContentAnalysisRequest_Reason ContentAnalysisRequest::_internal_reason() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::content_analysis::sdk::ContentAnalysisRequest_Reason>(_impl_.reason_);
}
inline void ContentAnalysisRequest::_internal_set_reason(::content_analysis::sdk::ContentAnalysisRequest_Reason value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);

                                          assert(::google::protobuf::internal::ValidateEnum(
                                              value, ::content_analysis::sdk::ContentAnalysisRequest_Reason_internal_data_));
                                          _impl_.reason_ = value;
}

inline bool ContentAnalysisRequest::has_content_data() const {
  return content_data_case() != CONTENT_DATA_NOT_SET;
}
inline void ContentAnalysisRequest::clear_has_content_data() {
  _impl_._oneof_case_[0] = CONTENT_DATA_NOT_SET;
}
inline ContentAnalysisRequest::ContentDataCase ContentAnalysisRequest::content_data_case() const {
  return ContentAnalysisRequest::ContentDataCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// ContentAnalysisResponse_Result_TriggeredRule

// optional .content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.Action action = 1;
inline bool ContentAnalysisResponse_Result_TriggeredRule::has_action() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  return value;
}
inline void ContentAnalysisResponse_Result_TriggeredRule::clear_action() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.action_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action ContentAnalysisResponse_Result_TriggeredRule::action() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.action)
  return _internal_action();
}
inline void ContentAnalysisResponse_Result_TriggeredRule::set_action(::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action value) {
  _internal_set_action(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.action)
}
inline ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action ContentAnalysisResponse_Result_TriggeredRule::_internal_action() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action>(_impl_.action_);
}
inline void ContentAnalysisResponse_Result_TriggeredRule::_internal_set_action(::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);

                                          assert(::google::protobuf::internal::ValidateEnum(
                                              value, ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action_internal_data_));
                                          _impl_.action_ = value;
}

// optional string rule_name = 2;
inline bool ContentAnalysisResponse_Result_TriggeredRule::has_rule_name() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void ContentAnalysisResponse_Result_TriggeredRule::clear_rule_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rule_name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ContentAnalysisResponse_Result_TriggeredRule::rule_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_name)
  return _internal_rule_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisResponse_Result_TriggeredRule::set_rule_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.rule_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_name)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisResponse_Result_TriggeredRule::mutable_rule_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_rule_name();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_name)
  return _s;
}
inline const ::std::string& ContentAnalysisResponse_Result_TriggeredRule::_internal_rule_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rule_name_.Get();
}
inline void ContentAnalysisResponse_Result_TriggeredRule::_internal_set_rule_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rule_name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisResponse_Result_TriggeredRule::_internal_mutable_rule_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.rule_name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisResponse_Result_TriggeredRule::release_rule_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.rule_name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.rule_name_.Set("", GetArena());
  }
  return released;
}
inline void ContentAnalysisResponse_Result_TriggeredRule::set_allocated_rule_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.rule_name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.rule_name_.IsDefault()) {
    _impl_.rule_name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_name)
}

// optional string rule_id = 3;
inline bool ContentAnalysisResponse_Result_TriggeredRule::has_rule_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void ContentAnalysisResponse_Result_TriggeredRule::clear_rule_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rule_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ContentAnalysisResponse_Result_TriggeredRule::rule_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_id)
  return _internal_rule_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisResponse_Result_TriggeredRule::set_rule_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.rule_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_id)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisResponse_Result_TriggeredRule::mutable_rule_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_rule_id();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_id)
  return _s;
}
inline const ::std::string& ContentAnalysisResponse_Result_TriggeredRule::_internal_rule_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rule_id_.Get();
}
inline void ContentAnalysisResponse_Result_TriggeredRule::_internal_set_rule_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rule_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisResponse_Result_TriggeredRule::_internal_mutable_rule_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.rule_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisResponse_Result_TriggeredRule::release_rule_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.rule_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.rule_id_.Set("", GetArena());
  }
  return released;
}
inline void ContentAnalysisResponse_Result_TriggeredRule::set_allocated_rule_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.rule_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.rule_id_.IsDefault()) {
    _impl_.rule_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule.rule_id)
}

// -------------------------------------------------------------------

// ContentAnalysisResponse_Result

// optional string tag = 1;
inline bool ContentAnalysisResponse_Result::has_tag() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void ContentAnalysisResponse_Result::clear_tag() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tag_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ContentAnalysisResponse_Result::tag() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisResponse.Result.tag)
  return _internal_tag();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisResponse_Result::set_tag(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.tag_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisResponse.Result.tag)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisResponse_Result::mutable_tag()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_tag();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisResponse.Result.tag)
  return _s;
}
inline const ::std::string& ContentAnalysisResponse_Result::_internal_tag() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.tag_.Get();
}
inline void ContentAnalysisResponse_Result::_internal_set_tag(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tag_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisResponse_Result::_internal_mutable_tag() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.tag_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisResponse_Result::release_tag() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisResponse.Result.tag)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.tag_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.tag_.Set("", GetArena());
  }
  return released;
}
inline void ContentAnalysisResponse_Result::set_allocated_tag(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.tag_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.tag_.IsDefault()) {
    _impl_.tag_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisResponse.Result.tag)
}

// optional .content_analysis.sdk.ContentAnalysisResponse.Result.Status status = 2;
inline bool ContentAnalysisResponse_Result::has_status() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  return value;
}
inline void ContentAnalysisResponse_Result::clear_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.status_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::content_analysis::sdk::ContentAnalysisResponse_Result_Status ContentAnalysisResponse_Result::status() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisResponse.Result.status)
  return _internal_status();
}
inline void ContentAnalysisResponse_Result::set_status(::content_analysis::sdk::ContentAnalysisResponse_Result_Status value) {
  _internal_set_status(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisResponse.Result.status)
}
inline ::content_analysis::sdk::ContentAnalysisResponse_Result_Status ContentAnalysisResponse_Result::_internal_status() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::content_analysis::sdk::ContentAnalysisResponse_Result_Status>(_impl_.status_);
}
inline void ContentAnalysisResponse_Result::_internal_set_status(::content_analysis::sdk::ContentAnalysisResponse_Result_Status value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);

                                          assert(::google::protobuf::internal::ValidateEnum(
                                              value, ::content_analysis::sdk::ContentAnalysisResponse_Result_Status_internal_data_));
                                          _impl_.status_ = value;
}

// repeated .content_analysis.sdk.ContentAnalysisResponse.Result.TriggeredRule triggered_rules = 3;
inline int ContentAnalysisResponse_Result::_internal_triggered_rules_size() const {
  return _internal_triggered_rules().size();
}
inline int ContentAnalysisResponse_Result::triggered_rules_size() const {
  return _internal_triggered_rules_size();
}
inline void ContentAnalysisResponse_Result::clear_triggered_rules() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.triggered_rules_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule& ContentAnalysisResponse_Result::triggered_rules(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisResponse.Result.triggered_rules)
  return _internal_triggered_rules().Get(index);
}
inline ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule* PROTOBUF_NONNULL ContentAnalysisResponse_Result::mutable_triggered_rules(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisResponse.Result.triggered_rules)
  return _internal_mutable_triggered_rules()->Mutable(index);
}
inline ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule* PROTOBUF_NONNULL ContentAnalysisResponse_Result::add_triggered_rules()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule* _add =
      _internal_mutable_triggered_rules()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:content_analysis.sdk.ContentAnalysisResponse.Result.triggered_rules)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule>& ContentAnalysisResponse_Result::triggered_rules() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:content_analysis.sdk.ContentAnalysisResponse.Result.triggered_rules)
  return _internal_triggered_rules();
}
inline ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule>* PROTOBUF_NONNULL
ContentAnalysisResponse_Result::mutable_triggered_rules() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:content_analysis.sdk.ContentAnalysisResponse.Result.triggered_rules)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_triggered_rules();
}
inline const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule>&
ContentAnalysisResponse_Result::_internal_triggered_rules() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.triggered_rules_;
}
inline ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule>* PROTOBUF_NONNULL
ContentAnalysisResponse_Result::_internal_mutable_triggered_rules() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.triggered_rules_;
}

// -------------------------------------------------------------------

// ContentAnalysisResponse

// optional string request_token = 1;
inline bool ContentAnalysisResponse::has_request_token() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void ContentAnalysisResponse::clear_request_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.request_token_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ContentAnalysisResponse::request_token() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisResponse.request_token)
  return _internal_request_token();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisResponse::set_request_token(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.request_token_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisResponse.request_token)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisResponse::mutable_request_token()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_request_token();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisResponse.request_token)
  return _s;
}
inline const ::std::string& ContentAnalysisResponse::_internal_request_token() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.request_token_.Get();
}
inline void ContentAnalysisResponse::_internal_set_request_token(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.request_token_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisResponse::_internal_mutable_request_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.request_token_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisResponse::release_request_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisResponse.request_token)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.request_token_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.request_token_.Set("", GetArena());
  }
  return released;
}
inline void ContentAnalysisResponse::set_allocated_request_token(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.request_token_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.request_token_.IsDefault()) {
    _impl_.request_token_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisResponse.request_token)
}

// repeated .content_analysis.sdk.ContentAnalysisResponse.Result results = 4;
inline int ContentAnalysisResponse::_internal_results_size() const {
  return _internal_results().size();
}
inline int ContentAnalysisResponse::results_size() const {
  return _internal_results_size();
}
inline void ContentAnalysisResponse::clear_results() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.results_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::content_analysis::sdk::ContentAnalysisResponse_Result& ContentAnalysisResponse::results(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisResponse.results)
  return _internal_results().Get(index);
}
inline ::content_analysis::sdk::ContentAnalysisResponse_Result* PROTOBUF_NONNULL ContentAnalysisResponse::mutable_results(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisResponse.results)
  return _internal_mutable_results()->Mutable(index);
}
inline ::content_analysis::sdk::ContentAnalysisResponse_Result* PROTOBUF_NONNULL ContentAnalysisResponse::add_results()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::content_analysis::sdk::ContentAnalysisResponse_Result* _add =
      _internal_mutable_results()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:content_analysis.sdk.ContentAnalysisResponse.results)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result>& ContentAnalysisResponse::results() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:content_analysis.sdk.ContentAnalysisResponse.results)
  return _internal_results();
}
inline ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result>* PROTOBUF_NONNULL
ContentAnalysisResponse::mutable_results() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:content_analysis.sdk.ContentAnalysisResponse.results)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_results();
}
inline const ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result>&
ContentAnalysisResponse::_internal_results() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.results_;
}
inline ::google::protobuf::RepeatedPtrField<::content_analysis::sdk::ContentAnalysisResponse_Result>* PROTOBUF_NONNULL
ContentAnalysisResponse::_internal_mutable_results() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.results_;
}

// -------------------------------------------------------------------

// ContentAnalysisAcknowledgement

// optional string request_token = 1;
inline bool ContentAnalysisAcknowledgement::has_request_token() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void ContentAnalysisAcknowledgement::clear_request_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.request_token_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ContentAnalysisAcknowledgement::request_token() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisAcknowledgement.request_token)
  return _internal_request_token();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisAcknowledgement::set_request_token(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.request_token_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisAcknowledgement.request_token)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisAcknowledgement::mutable_request_token()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_request_token();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisAcknowledgement.request_token)
  return _s;
}
inline const ::std::string& ContentAnalysisAcknowledgement::_internal_request_token() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.request_token_.Get();
}
inline void ContentAnalysisAcknowledgement::_internal_set_request_token(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.request_token_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisAcknowledgement::_internal_mutable_request_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.request_token_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisAcknowledgement::release_request_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisAcknowledgement.request_token)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.request_token_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.request_token_.Set("", GetArena());
  }
  return released;
}
inline void ContentAnalysisAcknowledgement::set_allocated_request_token(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.request_token_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.request_token_.IsDefault()) {
    _impl_.request_token_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisAcknowledgement.request_token)
}

// optional .content_analysis.sdk.ContentAnalysisAcknowledgement.Status status = 2;
inline bool ContentAnalysisAcknowledgement::has_status() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  return value;
}
inline void ContentAnalysisAcknowledgement::clear_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.status_ = 1;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::content_analysis::sdk::ContentAnalysisAcknowledgement_Status ContentAnalysisAcknowledgement::status() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisAcknowledgement.status)
  return _internal_status();
}
inline void ContentAnalysisAcknowledgement::set_status(::content_analysis::sdk::ContentAnalysisAcknowledgement_Status value) {
  _internal_set_status(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisAcknowledgement.status)
}
inline ::content_analysis::sdk::ContentAnalysisAcknowledgement_Status ContentAnalysisAcknowledgement::_internal_status() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::content_analysis::sdk::ContentAnalysisAcknowledgement_Status>(_impl_.status_);
}
inline void ContentAnalysisAcknowledgement::_internal_set_status(::content_analysis::sdk::ContentAnalysisAcknowledgement_Status value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);

                                          assert(::google::protobuf::internal::ValidateEnum(
                                              value, ::content_analysis::sdk::ContentAnalysisAcknowledgement_Status_internal_data_));
                                          _impl_.status_ = value;
}

// optional .content_analysis.sdk.ContentAnalysisAcknowledgement.FinalAction final_action = 3;
inline bool ContentAnalysisAcknowledgement::has_final_action() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  return value;
}
inline void ContentAnalysisAcknowledgement::clear_final_action() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.final_action_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction ContentAnalysisAcknowledgement::final_action() const {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisAcknowledgement.final_action)
  return _internal_final_action();
}
inline void ContentAnalysisAcknowledgement::set_final_action(::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction value) {
  _internal_set_final_action(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisAcknowledgement.final_action)
}
inline ::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction ContentAnalysisAcknowledgement::_internal_final_action() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction>(_impl_.final_action_);
}
inline void ContentAnalysisAcknowledgement::_internal_set_final_action(::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);

                                          assert(::google::protobuf::internal::ValidateEnum(
                                              value, ::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction_internal_data_));
                                          _impl_.final_action_ = value;
}

// -------------------------------------------------------------------

// ContentAnalysisCancelRequests

// optional string user_action_id = 1;
inline bool ContentAnalysisCancelRequests::has_user_action_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  return value;
}
inline void ContentAnalysisCancelRequests::clear_user_action_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.user_action_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ContentAnalysisCancelRequests::user_action_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ContentAnalysisCancelRequests.user_action_id)
  return _internal_user_action_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ContentAnalysisCancelRequests::set_user_action_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.user_action_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:content_analysis.sdk.ContentAnalysisCancelRequests.user_action_id)
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisCancelRequests::mutable_user_action_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_user_action_id();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ContentAnalysisCancelRequests.user_action_id)
  return _s;
}
inline const ::std::string& ContentAnalysisCancelRequests::_internal_user_action_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.user_action_id_.Get();
}
inline void ContentAnalysisCancelRequests::_internal_set_user_action_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.user_action_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ContentAnalysisCancelRequests::_internal_mutable_user_action_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.user_action_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ContentAnalysisCancelRequests::release_user_action_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ContentAnalysisCancelRequests.user_action_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.user_action_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.user_action_id_.Set("", GetArena());
  }
  return released;
}
inline void ContentAnalysisCancelRequests::set_allocated_user_action_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.user_action_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.user_action_id_.IsDefault()) {
    _impl_.user_action_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ContentAnalysisCancelRequests.user_action_id)
}

// -------------------------------------------------------------------

// ChromeToAgent

// optional .content_analysis.sdk.ContentAnalysisRequest request = 1;
inline bool ChromeToAgent::has_request() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.request_ != nullptr);
  return value;
}
inline void ChromeToAgent::clear_request() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.request_ != nullptr) _impl_.request_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::content_analysis::sdk::ContentAnalysisRequest& ChromeToAgent::_internal_request() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::content_analysis::sdk::ContentAnalysisRequest* p = _impl_.request_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ContentAnalysisRequest>(&::content_analysis::sdk::ContentAnalysisRequest_globals_);
}
inline const ::content_analysis::sdk::ContentAnalysisRequest& ChromeToAgent::request() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ChromeToAgent.request)
  return _internal_request();
}
inline void ChromeToAgent::unsafe_arena_set_allocated_request(
    ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.request_);
  }
  _impl_.request_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisRequest*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.ChromeToAgent.request)
}
inline ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NULLABLE ChromeToAgent::release_request() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::content_analysis::sdk::ContentAnalysisRequest* released = _impl_.request_;
  _impl_.request_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NULLABLE ChromeToAgent::unsafe_arena_release_request() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ChromeToAgent.request)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::content_analysis::sdk::ContentAnalysisRequest* temp = _impl_.request_;
  _impl_.request_ = nullptr;
  return temp;
}
inline ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NONNULL ChromeToAgent::_internal_mutable_request() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.request_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ContentAnalysisRequest>(GetArena());
    _impl_.request_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisRequest*>(p);
  }
  return _impl_.request_;
}
inline ::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NONNULL ChromeToAgent::mutable_request()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::content_analysis::sdk::ContentAnalysisRequest* _msg = _internal_mutable_request();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ChromeToAgent.request)
  return _msg;
}
inline void ChromeToAgent::set_allocated_request(::content_analysis::sdk::ContentAnalysisRequest* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.request_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.request_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisRequest*>(value);
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ChromeToAgent.request)
}

// optional .content_analysis.sdk.ContentAnalysisAcknowledgement ack = 2;
inline bool ChromeToAgent::has_ack() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.ack_ != nullptr);
  return value;
}
inline void ChromeToAgent::clear_ack() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ack_ != nullptr) _impl_.ack_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::content_analysis::sdk::ContentAnalysisAcknowledgement& ChromeToAgent::_internal_ack() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::content_analysis::sdk::ContentAnalysisAcknowledgement* p = _impl_.ack_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ContentAnalysisAcknowledgement>(&::content_analysis::sdk::ContentAnalysisAcknowledgement_globals_);
}
inline const ::content_analysis::sdk::ContentAnalysisAcknowledgement& ChromeToAgent::ack() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ChromeToAgent.ack)
  return _internal_ack();
}
inline void ChromeToAgent::unsafe_arena_set_allocated_ack(
    ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ack_);
  }
  _impl_.ack_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisAcknowledgement*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.ChromeToAgent.ack)
}
inline ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NULLABLE ChromeToAgent::release_ack() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::content_analysis::sdk::ContentAnalysisAcknowledgement* released = _impl_.ack_;
  _impl_.ack_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NULLABLE ChromeToAgent::unsafe_arena_release_ack() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ChromeToAgent.ack)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::content_analysis::sdk::ContentAnalysisAcknowledgement* temp = _impl_.ack_;
  _impl_.ack_ = nullptr;
  return temp;
}
inline ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NONNULL ChromeToAgent::_internal_mutable_ack() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ack_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ContentAnalysisAcknowledgement>(GetArena());
    _impl_.ack_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisAcknowledgement*>(p);
  }
  return _impl_.ack_;
}
inline ::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NONNULL ChromeToAgent::mutable_ack()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::content_analysis::sdk::ContentAnalysisAcknowledgement* _msg = _internal_mutable_ack();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ChromeToAgent.ack)
  return _msg;
}
inline void ChromeToAgent::set_allocated_ack(::content_analysis::sdk::ContentAnalysisAcknowledgement* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ack_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.ack_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisAcknowledgement*>(value);
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ChromeToAgent.ack)
}

// optional .content_analysis.sdk.ContentAnalysisCancelRequests cancel = 3;
inline bool ChromeToAgent::has_cancel() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.cancel_ != nullptr);
  return value;
}
inline void ChromeToAgent::clear_cancel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cancel_ != nullptr) _impl_.cancel_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::content_analysis::sdk::ContentAnalysisCancelRequests& ChromeToAgent::_internal_cancel() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::content_analysis::sdk::ContentAnalysisCancelRequests* p = _impl_.cancel_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ContentAnalysisCancelRequests>(&::content_analysis::sdk::ContentAnalysisCancelRequests_globals_);
}
inline const ::content_analysis::sdk::ContentAnalysisCancelRequests& ChromeToAgent::cancel() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.ChromeToAgent.cancel)
  return _internal_cancel();
}
inline void ChromeToAgent::unsafe_arena_set_allocated_cancel(
    ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cancel_);
  }
  _impl_.cancel_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisCancelRequests*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.ChromeToAgent.cancel)
}
inline ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NULLABLE ChromeToAgent::release_cancel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::content_analysis::sdk::ContentAnalysisCancelRequests* released = _impl_.cancel_;
  _impl_.cancel_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NULLABLE ChromeToAgent::unsafe_arena_release_cancel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.ChromeToAgent.cancel)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::content_analysis::sdk::ContentAnalysisCancelRequests* temp = _impl_.cancel_;
  _impl_.cancel_ = nullptr;
  return temp;
}
inline ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NONNULL ChromeToAgent::_internal_mutable_cancel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cancel_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ContentAnalysisCancelRequests>(GetArena());
    _impl_.cancel_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisCancelRequests*>(p);
  }
  return _impl_.cancel_;
}
inline ::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NONNULL ChromeToAgent::mutable_cancel()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::content_analysis::sdk::ContentAnalysisCancelRequests* _msg = _internal_mutable_cancel();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.ChromeToAgent.cancel)
  return _msg;
}
inline void ChromeToAgent::set_allocated_cancel(::content_analysis::sdk::ContentAnalysisCancelRequests* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cancel_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.cancel_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisCancelRequests*>(value);
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.ChromeToAgent.cancel)
}

// -------------------------------------------------------------------

// AgentToChrome

// optional .content_analysis.sdk.ContentAnalysisResponse response = 1;
inline bool AgentToChrome::has_response() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.response_ != nullptr);
  return value;
}
inline void AgentToChrome::clear_response() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.response_ != nullptr) _impl_.response_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::content_analysis::sdk::ContentAnalysisResponse& AgentToChrome::_internal_response() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::content_analysis::sdk::ContentAnalysisResponse* p = _impl_.response_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::content_analysis::sdk::ContentAnalysisResponse>(&::content_analysis::sdk::ContentAnalysisResponse_globals_);
}
inline const ::content_analysis::sdk::ContentAnalysisResponse& AgentToChrome::response() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:content_analysis.sdk.AgentToChrome.response)
  return _internal_response();
}
inline void AgentToChrome::unsafe_arena_set_allocated_response(
    ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.response_);
  }
  _impl_.response_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisResponse*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:content_analysis.sdk.AgentToChrome.response)
}
inline ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NULLABLE AgentToChrome::release_response() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::content_analysis::sdk::ContentAnalysisResponse* released = _impl_.response_;
  _impl_.response_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NULLABLE AgentToChrome::unsafe_arena_release_response() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:content_analysis.sdk.AgentToChrome.response)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::content_analysis::sdk::ContentAnalysisResponse* temp = _impl_.response_;
  _impl_.response_ = nullptr;
  return temp;
}
inline ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NONNULL AgentToChrome::_internal_mutable_response() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.response_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::content_analysis::sdk::ContentAnalysisResponse>(GetArena());
    _impl_.response_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisResponse*>(p);
  }
  return _impl_.response_;
}
inline ::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NONNULL AgentToChrome::mutable_response()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::content_analysis::sdk::ContentAnalysisResponse* _msg = _internal_mutable_response();
  // @@protoc_insertion_point(field_mutable:content_analysis.sdk.AgentToChrome.response)
  return _msg;
}
inline void AgentToChrome::set_allocated_response(::content_analysis::sdk::ContentAnalysisResponse* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.response_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.response_ = reinterpret_cast<::content_analysis::sdk::ContentAnalysisResponse*>(value);
  // @@protoc_insertion_point(field_set_allocated:content_analysis.sdk.AgentToChrome.response)
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace sdk
}  // namespace content_analysis


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType_Parse;
  static constexpr auto kNameFunc = ::content_analysis::sdk::ContentMetaData_PrintMetadata_PrinterType_Name<int>;
};
template <>
struct is_proto_enum<::content_analysis::sdk::ClientDownloadRequest_ResourceType> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::content_analysis::sdk::ClientDownloadRequest_ResourceType> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::content_analysis::sdk::ClientDownloadRequest_ResourceType_Parse;
  static constexpr auto kNameFunc = ::content_analysis::sdk::ClientDownloadRequest_ResourceType_Name<int>;
};
template <>
struct is_proto_enum<::content_analysis::sdk::ContentAnalysisRequest_Reason> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::content_analysis::sdk::ContentAnalysisRequest_Reason> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::content_analysis::sdk::ContentAnalysisRequest_Reason_Parse;
  static constexpr auto kNameFunc = ::content_analysis::sdk::ContentAnalysisRequest_Reason_Name<int>;
};
template <>
struct is_proto_enum<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action_Parse;
  static constexpr auto kNameFunc = ::content_analysis::sdk::ContentAnalysisResponse_Result_TriggeredRule_Action_Name<int>;
};
template <>
struct is_proto_enum<::content_analysis::sdk::ContentAnalysisResponse_Result_Status> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::content_analysis::sdk::ContentAnalysisResponse_Result_Status> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::content_analysis::sdk::ContentAnalysisResponse_Result_Status_Parse;
  static constexpr auto kNameFunc = ::content_analysis::sdk::ContentAnalysisResponse_Result_Status_Name<int>;
};
template <>
struct is_proto_enum<::content_analysis::sdk::ContentAnalysisAcknowledgement_Status> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::content_analysis::sdk::ContentAnalysisAcknowledgement_Status> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::content_analysis::sdk::ContentAnalysisAcknowledgement_Status_Parse;
  static constexpr auto kNameFunc = ::content_analysis::sdk::ContentAnalysisAcknowledgement_Status_Name<int>;
};
template <>
struct is_proto_enum<::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction_Parse;
  static constexpr auto kNameFunc = ::content_analysis::sdk::ContentAnalysisAcknowledgement_FinalAction_Name<int>;
};
template <>
struct is_proto_enum<::content_analysis::sdk::AnalysisConnector> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::content_analysis::sdk::AnalysisConnector> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::content_analysis::sdk::AnalysisConnector_Parse;
  static constexpr auto kNameFunc = ::content_analysis::sdk::AnalysisConnector_Name<int>;
};

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"
// clang-format on

#endif  // analysis_2eproto_2epb_2eh
