// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: components/optimization_guide/proto/features/context_hub.proto
// Protobuf C++ Version: 7.35.1

#include "components/optimization_guide/proto/features/context_hub.pb.h"

#include <algorithm>
#include <type_traits>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/generated_message_tctable_impl.h"
#include "google/protobuf/internal_visibility.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace optimization_guide {
namespace proto {
class MemoryBankEntry::_Internal {
 public:
  using HasBits = decltype(::std::declval<MemoryBankEntry>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_._has_bits_);
};

constexpr MemoryBankEntry::ParseTableT_ MemoryBankEntry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::MemoryBankEntry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int64 id = 1 [features = {
      {::_pbi::TcParser::FastV64S1,
       {8, 4, 0,
        PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.id_)}},
      // .optimization_guide.proto.MemoryBankType type = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 6, 0,
        PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.type_)}},
      // int64 timestamp_ms = 3 [features = {
      {::_pbi::TcParser::FastV64S1,
       {24, 5, 0,
        PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.timestamp_ms_)}},
      // string url = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.url_)}},
      // string tab_title = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 2, 0,
        PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.tab_title_)}},
      // string selected_text = 6 [features = {
      {::_pbi::TcParser::FastUS1,
       {50, 3, 0,
        PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.selected_text_)}},
      // repeated string tags = 7;
      {::_pbi::TcParser::FastUR1,
       {58, 0, 0,
        PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.tags_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .optimization_guide.proto.MemoryBankType type = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.type_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // int64 timestamp_ms = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // string url = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string tab_title = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.tab_title_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string selected_text = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.selected_text_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated string tags = 7;
      {PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.tags_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
      "\50\0\0\0\3\11\15\4"
      "optimization_guide.proto.MemoryBankEntry"
      "url"
      "tab_title"
      "selected_text"
      "tags"
    }},
  };
}


inline constexpr MemoryBankEntry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        tags_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::MemoryBankEntry,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::MemoryBankEntry, _impl_.tags_)>()
         }
        ,
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tab_title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        selected_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        id_{::int64_t{0}},
        timestamp_ms_{::int64_t{0}},
        type_{static_cast< ::optimization_guide::proto::MemoryBankType >(0)} {}

template <typename>
constexpr MemoryBankEntry::MemoryBankEntry(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL MemoryBankEntry::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MemoryBankEntry(arena);
}
constexpr auto MemoryBankEntry::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MemoryBankEntry), alignof(MemoryBankEntry));
}
constexpr auto MemoryBankEntry::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &MemoryBankEntry::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<MemoryBankEntry>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &MemoryBankEntry::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<MemoryBankEntry>(), &MemoryBankEntry::ByteSizeLong,
              &MemoryBankEntry::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.MemoryBankEntry",
  };
}
struct MemoryBankEntryGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr MemoryBankEntryGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 MemoryBankEntry_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(MemoryBankEntry::InternalGenerateClassData_(
            _default, &MemoryBankEntry_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MemoryBankEntry>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~MemoryBankEntryGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MemoryBankEntry _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MemoryBankEntry>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(MemoryBankEntryGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST MemoryBankEntryGlobalsTypeInternal MemoryBankEntry_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* MemoryBankEntry_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return MemoryBankEntry_globals_.GetClassData();
#else
  return MemoryBankEntry_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class MemoryBankChatResponse::_Internal {
 public:
  using HasBits = decltype(::std::declval<MemoryBankChatResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(MemoryBankChatResponse, _impl_._has_bits_);
};

constexpr MemoryBankChatResponse::ParseTableT_ MemoryBankChatResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MemoryBankChatResponse, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::MemoryBankChatResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string text_response = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(MemoryBankChatResponse, _impl_.text_response_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string text_response = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(MemoryBankChatResponse, _impl_.text_response_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\57\15\0\0\0\0\0\0"
      "optimization_guide.proto.MemoryBankChatResponse"
      "text_response"
    }},
  };
}


inline constexpr MemoryBankChatResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        text_response_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr MemoryBankChatResponse::MemoryBankChatResponse(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL MemoryBankChatResponse::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MemoryBankChatResponse(arena);
}
constexpr auto MemoryBankChatResponse::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MemoryBankChatResponse), alignof(MemoryBankChatResponse));
}
constexpr auto MemoryBankChatResponse::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &MemoryBankChatResponse::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<MemoryBankChatResponse>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &MemoryBankChatResponse::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<MemoryBankChatResponse>(), &MemoryBankChatResponse::ByteSizeLong,
              &MemoryBankChatResponse::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(MemoryBankChatResponse, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.MemoryBankChatResponse",
  };
}
struct MemoryBankChatResponseGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr MemoryBankChatResponseGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 MemoryBankChatResponse_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(MemoryBankChatResponse::InternalGenerateClassData_(
            _default, &MemoryBankChatResponse_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MemoryBankChatResponse>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~MemoryBankChatResponseGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MemoryBankChatResponse _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MemoryBankChatResponse>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(MemoryBankChatResponseGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST MemoryBankChatResponseGlobalsTypeInternal MemoryBankChatResponse_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* MemoryBankChatResponse_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return MemoryBankChatResponse_globals_.GetClassData();
#else
  return MemoryBankChatResponse_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ContextHubAutoTodoItem::_Internal {
 public:
  using HasBits = decltype(::std::declval<ContextHubAutoTodoItem>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_._has_bits_);
};

constexpr ContextHubAutoTodoItem::ParseTableT_ ContextHubAutoTodoItem::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubAutoTodoItem>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string title = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.title_)}},
      // string description = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.description_)}},
      // string actionable_url = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 3, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.actionable_url_)}},
      // float importance_score = 4 [features = {
      {::_pbi::TcParser::FastF32S1,
       {37, 5, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.importance_score_)}},
      // .optimization_guide.proto.ContextHubAutoTodoItem.Status status = 5 [features = {
      {::_pbi::TcParser::FastV32S1,
       {40, 6, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.status_)}},
      // string id = 6 [features = {
      {::_pbi::TcParser::FastUS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.id_)}},
      // repeated string todo_ids_mergeds = 7;
      {::_pbi::TcParser::FastUR1,
       {58, 0, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.todo_ids_mergeds_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string title = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.title_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string description = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.description_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string actionable_url = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.actionable_url_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // float importance_score = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.importance_score_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // .optimization_guide.proto.ContextHubAutoTodoItem.Status status = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.status_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string id = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated string todo_ids_mergeds = 7;
      {PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.todo_ids_mergeds_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
      "\57\5\13\16\0\0\2\20"
      "optimization_guide.proto.ContextHubAutoTodoItem"
      "title"
      "description"
      "actionable_url"
      "id"
      "todo_ids_mergeds"
    }},
  };
}


inline constexpr ContextHubAutoTodoItem::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        todo_ids_mergeds_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContextHubAutoTodoItem,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubAutoTodoItem, _impl_.todo_ids_mergeds_)>()
         }
        ,
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        actionable_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        importance_score_{0},
        status_{static_cast< ::optimization_guide::proto::ContextHubAutoTodoItem_Status >(0)} {}

template <typename>
constexpr ContextHubAutoTodoItem::ContextHubAutoTodoItem(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ContextHubAutoTodoItem::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ContextHubAutoTodoItem(arena);
}
constexpr auto ContextHubAutoTodoItem::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ContextHubAutoTodoItem), alignof(ContextHubAutoTodoItem));
}
constexpr auto ContextHubAutoTodoItem::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ContextHubAutoTodoItem::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ContextHubAutoTodoItem>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ContextHubAutoTodoItem::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ContextHubAutoTodoItem>(), &ContextHubAutoTodoItem::ByteSizeLong,
              &ContextHubAutoTodoItem::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ContextHubAutoTodoItem",
  };
}
struct ContextHubAutoTodoItemGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ContextHubAutoTodoItemGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ContextHubAutoTodoItem_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ContextHubAutoTodoItem::InternalGenerateClassData_(
            _default, &ContextHubAutoTodoItem_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ContextHubAutoTodoItem>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ContextHubAutoTodoItemGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ContextHubAutoTodoItem _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ContextHubAutoTodoItem>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItemGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ContextHubAutoTodoItemGlobalsTypeInternal ContextHubAutoTodoItem_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ContextHubAutoTodoItem_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ContextHubAutoTodoItem_globals_.GetClassData();
#else
  return ContextHubAutoTodoItem_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ChatHistoryTurn::_Internal {
 public:
  using HasBits = decltype(::std::declval<ChatHistoryTurn>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_._has_bits_);
};

constexpr ChatHistoryTurn::ParseTableT_ ChatHistoryTurn::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ChatHistoryTurn>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ChatHistoryTurn.Role role = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_.role_)}},
      // string message_content = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_.message_content_)}},
      // int64 timestamp_ms = 3 [features = {
      {::_pbi::TcParser::FastV64S1,
       {24, 1, 0,
        PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_.timestamp_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ChatHistoryTurn.Role role = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_.role_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string message_content = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_.message_content_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int64 timestamp_ms = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
      "\50\0\17\0\0\0\0\0"
      "optimization_guide.proto.ChatHistoryTurn"
      "message_content"
    }},
  };
}


inline constexpr ChatHistoryTurn::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        message_content_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        role_{static_cast< ::optimization_guide::proto::ChatHistoryTurn_Role >(0)} {}

template <typename>
constexpr ChatHistoryTurn::ChatHistoryTurn(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ChatHistoryTurn::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ChatHistoryTurn(arena);
}
constexpr auto ChatHistoryTurn::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ChatHistoryTurn), alignof(ChatHistoryTurn));
}
constexpr auto ChatHistoryTurn::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ChatHistoryTurn::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ChatHistoryTurn>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ChatHistoryTurn::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ChatHistoryTurn>(), &ChatHistoryTurn::ByteSizeLong,
              &ChatHistoryTurn::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ChatHistoryTurn",
  };
}
struct ChatHistoryTurnGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ChatHistoryTurnGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ChatHistoryTurn_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ChatHistoryTurn::InternalGenerateClassData_(
            _default, &ChatHistoryTurn_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ChatHistoryTurn>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ChatHistoryTurnGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ChatHistoryTurn _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ChatHistoryTurn>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ChatHistoryTurnGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ChatHistoryTurnGlobalsTypeInternal ChatHistoryTurn_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ChatHistoryTurn_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ChatHistoryTurn_globals_.GetClassData();
#else
  return ChatHistoryTurn_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class BrowserBasedTodosResponse::_Internal {
 public:
  using HasBits = decltype(::std::declval<BrowserBasedTodosResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_._has_bits_);
};

constexpr BrowserBasedTodosResponse::ParseTableT_ BrowserBasedTodosResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::BrowserBasedTodosResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string todo_description = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.todo_description_)}},
      // int64 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV64S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.tab_id_)}},
      // .optimization_guide.proto.BrowserBasedTodosResponse.GroupType group_type = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.group_type_)}},
      // string todo_title = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.todo_title_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.tab_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .optimization_guide.proto.BrowserBasedTodosResponse.GroupType group_type = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.group_type_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string todo_title = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.todo_title_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string todo_description = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.todo_description_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\62\0\0\12\20\0\0\0"
      "optimization_guide.proto.BrowserBasedTodosResponse"
      "todo_title"
      "todo_description"
    }},
  };
}


inline constexpr BrowserBasedTodosResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        todo_title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        todo_description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tab_id_{::int64_t{0}},
        group_type_{static_cast< ::optimization_guide::proto::BrowserBasedTodosResponse_GroupType >(0)} {}

template <typename>
constexpr BrowserBasedTodosResponse::BrowserBasedTodosResponse(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL BrowserBasedTodosResponse::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BrowserBasedTodosResponse(arena);
}
constexpr auto BrowserBasedTodosResponse::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(BrowserBasedTodosResponse), alignof(BrowserBasedTodosResponse));
}
constexpr auto BrowserBasedTodosResponse::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &BrowserBasedTodosResponse::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BrowserBasedTodosResponse>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BrowserBasedTodosResponse::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BrowserBasedTodosResponse>(), &BrowserBasedTodosResponse::ByteSizeLong,
              &BrowserBasedTodosResponse::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.BrowserBasedTodosResponse",
  };
}
struct BrowserBasedTodosResponseGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BrowserBasedTodosResponseGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BrowserBasedTodosResponse_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BrowserBasedTodosResponse::InternalGenerateClassData_(
            _default, &BrowserBasedTodosResponse_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BrowserBasedTodosResponse>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BrowserBasedTodosResponseGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BrowserBasedTodosResponse _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BrowserBasedTodosResponse>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponseGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST BrowserBasedTodosResponseGlobalsTypeInternal BrowserBasedTodosResponse_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* BrowserBasedTodosResponse_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return BrowserBasedTodosResponse_globals_.GetClassData();
#else
  return BrowserBasedTodosResponse_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class AutoTodosDeduplicationResponse::_Internal {
 public:
  using HasBits = decltype(::std::declval<AutoTodosDeduplicationResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationResponse, _impl_._has_bits_);
};

constexpr AutoTodosDeduplicationResponse::ParseTableT_ AutoTodosDeduplicationResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationResponse, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AutoTodosDeduplicationResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.ContextHubAutoTodoItem deduplicated_todos = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationResponse, _impl_.deduplicated_todos_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.ContextHubAutoTodoItem deduplicated_todos = 1;
      {PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationResponse, _impl_.deduplicated_todos_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubAutoTodoItem>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContextHubAutoTodoItem_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AutoTodosDeduplicationResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        deduplicated_todos_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AutoTodosDeduplicationResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutoTodosDeduplicationResponse, _impl_.deduplicated_todos_)>()
         }
     {}

template <typename>
constexpr AutoTodosDeduplicationResponse::AutoTodosDeduplicationResponse(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AutoTodosDeduplicationResponse::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AutoTodosDeduplicationResponse(arena);
}
constexpr auto AutoTodosDeduplicationResponse::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AutoTodosDeduplicationResponse), alignof(AutoTodosDeduplicationResponse));
}
constexpr auto AutoTodosDeduplicationResponse::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AutoTodosDeduplicationResponse::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AutoTodosDeduplicationResponse>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AutoTodosDeduplicationResponse::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AutoTodosDeduplicationResponse>(), &AutoTodosDeduplicationResponse::ByteSizeLong,
              &AutoTodosDeduplicationResponse::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationResponse, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AutoTodosDeduplicationResponse",
  };
}
struct AutoTodosDeduplicationResponseGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AutoTodosDeduplicationResponseGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AutoTodosDeduplicationResponse_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AutoTodosDeduplicationResponse::InternalGenerateClassData_(
            _default, &AutoTodosDeduplicationResponse_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AutoTodosDeduplicationResponse>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AutoTodosDeduplicationResponseGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AutoTodosDeduplicationResponse _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AutoTodosDeduplicationResponse>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationResponseGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST AutoTodosDeduplicationResponseGlobalsTypeInternal AutoTodosDeduplicationResponse_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* AutoTodosDeduplicationResponse_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return AutoTodosDeduplicationResponse_globals_.GetClassData();
#else
  return AutoTodosDeduplicationResponse_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class AutoTodosDeduplicationRequest::_Internal {
 public:
  using HasBits = decltype(::std::declval<AutoTodosDeduplicationRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationRequest, _impl_._has_bits_);
};

constexpr AutoTodosDeduplicationRequest::ParseTableT_ AutoTodosDeduplicationRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationRequest, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AutoTodosDeduplicationRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.ContextHubAutoTodoItem new_todos = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationRequest, _impl_.new_todos_)}},
      // repeated .optimization_guide.proto.ContextHubAutoTodoItem existing_todos = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationRequest, _impl_.existing_todos_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.ContextHubAutoTodoItem existing_todos = 1;
      {PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationRequest, _impl_.existing_todos_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.ContextHubAutoTodoItem new_todos = 2;
      {PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationRequest, _impl_.new_todos_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubAutoTodoItem>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContextHubAutoTodoItem_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubAutoTodoItem>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContextHubAutoTodoItem_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AutoTodosDeduplicationRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        existing_todos_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AutoTodosDeduplicationRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutoTodosDeduplicationRequest, _impl_.existing_todos_)>()
         }
        ,
        new_todos_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AutoTodosDeduplicationRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutoTodosDeduplicationRequest, _impl_.new_todos_)>()
         }
     {}

template <typename>
constexpr AutoTodosDeduplicationRequest::AutoTodosDeduplicationRequest(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AutoTodosDeduplicationRequest::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AutoTodosDeduplicationRequest(arena);
}
constexpr auto AutoTodosDeduplicationRequest::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AutoTodosDeduplicationRequest), alignof(AutoTodosDeduplicationRequest));
}
constexpr auto AutoTodosDeduplicationRequest::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AutoTodosDeduplicationRequest::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AutoTodosDeduplicationRequest>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AutoTodosDeduplicationRequest::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AutoTodosDeduplicationRequest>(), &AutoTodosDeduplicationRequest::ByteSizeLong,
              &AutoTodosDeduplicationRequest::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationRequest, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AutoTodosDeduplicationRequest",
  };
}
struct AutoTodosDeduplicationRequestGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AutoTodosDeduplicationRequestGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AutoTodosDeduplicationRequest_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AutoTodosDeduplicationRequest::InternalGenerateClassData_(
            _default, &AutoTodosDeduplicationRequest_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AutoTodosDeduplicationRequest>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AutoTodosDeduplicationRequestGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AutoTodosDeduplicationRequest _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AutoTodosDeduplicationRequest>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AutoTodosDeduplicationRequestGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST AutoTodosDeduplicationRequestGlobalsTypeInternal AutoTodosDeduplicationRequest_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* AutoTodosDeduplicationRequest_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return AutoTodosDeduplicationRequest_globals_.GetClassData();
#else
  return AutoTodosDeduplicationRequest_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class EntryItem::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::EntryItem, _impl_._oneof_case_);
};

constexpr EntryItem::ParseTableT_ EntryItem::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EntryItem,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      2, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::EntryItem>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.Tab tab = 1;
      {PROTOBUF_FIELD_OFFSET(EntryItem, _impl_.item_.tab_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.MemoryBankEntry memory_bank_entry = 2;
      {PROTOBUF_FIELD_OFFSET(EntryItem, _impl_.item_.memory_bank_entry_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Tab>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Tab_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::MemoryBankEntry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::MemoryBankEntry_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr EntryItem::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : item_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
constexpr EntryItem::EntryItem(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL EntryItem::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EntryItem(arena);
}
constexpr auto EntryItem::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(EntryItem), alignof(EntryItem));
}
constexpr auto EntryItem::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &EntryItem::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<EntryItem>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &EntryItem::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<EntryItem>(), &EntryItem::ByteSizeLong,
              &EntryItem::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(EntryItem, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.EntryItem",
  };
}
struct EntryItemGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr EntryItemGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 EntryItem_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(EntryItem::InternalGenerateClassData_(
            _default, &EntryItem_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EntryItem>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~EntryItemGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EntryItem _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EntryItem>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(EntryItemGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST EntryItemGlobalsTypeInternal EntryItem_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* EntryItem_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return EntryItem_globals_.GetClassData();
#else
  return EntryItem_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class GroupResponse::_Internal {
 public:
  using HasBits = decltype(::std::declval<GroupResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_._has_bits_);
};

constexpr GroupResponse::ParseTableT_ GroupResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::GroupResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string text_response = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_.text_response_)}},
      // repeated .optimization_guide.proto.TabGroup tab_groups = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_.tab_groups_)}},
      // repeated .optimization_guide.proto.TabGroupMinimal minimal_tab_groups = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_.minimal_tab_groups_)}},
      // repeated int64 ungrouped_tab_ids = 3;
      {::_pbi::TcParser::FastV64P1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_.ungrouped_tab_ids_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.TabGroup tab_groups = 1;
      {PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_.tab_groups_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.TabGroupMinimal minimal_tab_groups = 2;
      {PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_.minimal_tab_groups_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated int64 ungrouped_tab_ids = 3;
      {PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_.ungrouped_tab_ids_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
      // string text_response = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_.text_response_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TabGroup>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TabGroup_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TabGroupMinimal>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TabGroupMinimal_globals_},
        #endif
    }},
    {{
      "\46\0\0\0\15\0\0\0"
      "optimization_guide.proto.GroupResponse"
      "text_response"
    }},
  };
}


inline constexpr GroupResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        tab_groups_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::GroupResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GroupResponse, _impl_.tab_groups_)>()
         }
        ,
        minimal_tab_groups_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::GroupResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GroupResponse, _impl_.minimal_tab_groups_)>()
         }
        ,
        ungrouped_tab_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::GroupResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GroupResponse, _impl_.ungrouped_tab_ids_)>()
         }
        ,
        _ungrouped_tab_ids_cached_byte_size_{0},
        text_response_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr GroupResponse::GroupResponse(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL GroupResponse::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GroupResponse(arena);
}
constexpr auto GroupResponse::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GroupResponse), alignof(GroupResponse));
}
constexpr auto GroupResponse::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &GroupResponse::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GroupResponse>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GroupResponse::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GroupResponse>(), &GroupResponse::ByteSizeLong,
              &GroupResponse::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GroupResponse, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.GroupResponse",
  };
}
struct GroupResponseGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GroupResponseGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GroupResponse_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GroupResponse::InternalGenerateClassData_(
            _default, &GroupResponse_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GroupResponse>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GroupResponseGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GroupResponse _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GroupResponse>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GroupResponseGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST GroupResponseGlobalsTypeInternal GroupResponse_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* GroupResponse_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return GroupResponse_globals_.GetClassData();
#else
  return GroupResponse_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ContextHubRequest::_Internal {
 public:
  using HasBits = decltype(::std::declval<ContextHubRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_._has_bits_);
};

constexpr ContextHubRequest::ParseTableT_ ContextHubRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ContextHubRequestType request_type = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 5, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.request_type_)}},
      // repeated .optimization_guide.proto.EntryItem entry_items = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.entry_items_)}},
      // repeated .optimization_guide.proto.TabGroupMinimal pre_existing_tab_groups = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 1, 1,
        PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.pre_existing_tab_groups_)}},
      // string user_command = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.user_command_)}},
      // repeated .optimization_guide.proto.ChatHistoryTurn chat_history = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 2, 2,
        PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.chat_history_)}},
      // .optimization_guide.proto.AutoTodosDeduplicationRequest auto_todos_deduplication_request = 6 [features = {
      {::_pbi::TcParser::FastMtS1,
       {50, 4, 3,
        PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.auto_todos_deduplication_request_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ContextHubRequestType request_type = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.request_type_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // repeated .optimization_guide.proto.EntryItem entry_items = 2;
      {PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.entry_items_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.TabGroupMinimal pre_existing_tab_groups = 3;
      {PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.pre_existing_tab_groups_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // string user_command = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.user_command_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .optimization_guide.proto.ChatHistoryTurn chat_history = 5;
      {PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.chat_history_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AutoTodosDeduplicationRequest auto_todos_deduplication_request = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.auto_todos_deduplication_request_), _Internal::kHasBitsOffset + 4, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::EntryItem>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::EntryItem_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TabGroupMinimal>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TabGroupMinimal_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ChatHistoryTurn>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ChatHistoryTurn_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AutoTodosDeduplicationRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AutoTodosDeduplicationRequest_globals_},
        #endif
    }},
    {{
      "\52\0\0\0\14\0\0\0"
      "optimization_guide.proto.ContextHubRequest"
      "user_command"
    }},
  };
}


inline constexpr ContextHubRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        entry_items_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContextHubRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubRequest, _impl_.entry_items_)>()
         }
        ,
        pre_existing_tab_groups_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContextHubRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubRequest, _impl_.pre_existing_tab_groups_)>()
         }
        ,
        chat_history_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContextHubRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubRequest, _impl_.chat_history_)>()
         }
        ,
        user_command_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        auto_todos_deduplication_request_{nullptr},
        request_type_{static_cast< ::optimization_guide::proto::ContextHubRequestType >(0)} {}

template <typename>
constexpr ContextHubRequest::ContextHubRequest(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ContextHubRequest::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ContextHubRequest(arena);
}
constexpr auto ContextHubRequest::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ContextHubRequest), alignof(ContextHubRequest));
}
constexpr auto ContextHubRequest::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ContextHubRequest::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ContextHubRequest>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ContextHubRequest::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ContextHubRequest>(), &ContextHubRequest::ByteSizeLong,
              &ContextHubRequest::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ContextHubRequest",
  };
}
struct ContextHubRequestGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ContextHubRequestGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ContextHubRequest_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ContextHubRequest::InternalGenerateClassData_(
            _default, &ContextHubRequest_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ContextHubRequest>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ContextHubRequestGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ContextHubRequest _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ContextHubRequest>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ContextHubRequestGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ContextHubRequestGlobalsTypeInternal ContextHubRequest_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ContextHubRequest_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ContextHubRequest_globals_.GetClassData();
#else
  return ContextHubRequest_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ContextHubResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubResponse, _impl_._oneof_case_);
};

constexpr ContextHubResponse::ParseTableT_ ContextHubResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContextHubResponse,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      4, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.GroupResponse group_response = 1;
      {PROTOBUF_FIELD_OFFSET(ContextHubResponse, _impl_.feature_response_.group_response_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.MemoryBankChatResponse memory_bank_chat_response = 2;
      {PROTOBUF_FIELD_OFFSET(ContextHubResponse, _impl_.feature_response_.memory_bank_chat_response_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.BrowserBasedTodosResponse browser_based_todos_response = 3;
      {PROTOBUF_FIELD_OFFSET(ContextHubResponse, _impl_.feature_response_.browser_based_todos_response_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AutoTodosDeduplicationResponse auto_todos_deduplication_response = 4;
      {PROTOBUF_FIELD_OFFSET(ContextHubResponse, _impl_.feature_response_.auto_todos_deduplication_response_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::GroupResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::GroupResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::MemoryBankChatResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::MemoryBankChatResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BrowserBasedTodosResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BrowserBasedTodosResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AutoTodosDeduplicationResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AutoTodosDeduplicationResponse_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ContextHubResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : feature_response_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
constexpr ContextHubResponse::ContextHubResponse(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ContextHubResponse::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ContextHubResponse(arena);
}
constexpr auto ContextHubResponse::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ContextHubResponse), alignof(ContextHubResponse));
}
constexpr auto ContextHubResponse::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ContextHubResponse::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ContextHubResponse>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ContextHubResponse::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ContextHubResponse>(), &ContextHubResponse::ByteSizeLong,
              &ContextHubResponse::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ContextHubResponse, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ContextHubResponse",
  };
}
struct ContextHubResponseGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ContextHubResponseGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ContextHubResponse_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ContextHubResponse::InternalGenerateClassData_(
            _default, &ContextHubResponse_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ContextHubResponse>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ContextHubResponseGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ContextHubResponse _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ContextHubResponse>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ContextHubResponseGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ContextHubResponseGlobalsTypeInternal ContextHubResponse_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ContextHubResponse_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ContextHubResponse_globals_.GetClassData();
#else
  return ContextHubResponse_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ContextHubLoggingData::_Internal {
 public:
  using HasBits = decltype(::std::declval<ContextHubLoggingData>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_._has_bits_);
};

constexpr ContextHubLoggingData::ParseTableT_ ContextHubLoggingData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubLoggingData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ContextHubRequest request = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_.request_)}},
      // .optimization_guide.proto.ContextHubResponse response = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_.response_)}},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_.model_execution_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ContextHubRequest request = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_.request_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ContextHubResponse response = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_.response_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_.model_execution_info_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContextHubRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContextHubResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ModelExecutionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ModelExecutionInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ContextHubLoggingData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        request_{nullptr},
        response_{nullptr},
        model_execution_info_{nullptr} {}

template <typename>
constexpr ContextHubLoggingData::ContextHubLoggingData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ContextHubLoggingData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ContextHubLoggingData(arena);
}
constexpr auto ContextHubLoggingData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ContextHubLoggingData), alignof(ContextHubLoggingData));
}
constexpr auto ContextHubLoggingData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ContextHubLoggingData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ContextHubLoggingData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ContextHubLoggingData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ContextHubLoggingData>(), &ContextHubLoggingData::ByteSizeLong,
              &ContextHubLoggingData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ContextHubLoggingData",
  };
}
struct ContextHubLoggingDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ContextHubLoggingDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ContextHubLoggingData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ContextHubLoggingData::InternalGenerateClassData_(
            _default, &ContextHubLoggingData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ContextHubLoggingData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ContextHubLoggingDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ContextHubLoggingData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ContextHubLoggingData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ContextHubLoggingDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ContextHubLoggingDataGlobalsTypeInternal ContextHubLoggingData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ContextHubLoggingData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ContextHubLoggingData_globals_.GetClassData();
#else
  return ContextHubLoggingData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace proto
}  // namespace optimization_guide
namespace optimization_guide {
namespace proto {
PROTOBUF_CONSTINIT const uint32_t ChatHistoryTurn_Role_internal_data_[] = {
    196608u, 0u, };
static const char ChatHistoryTurn_Role_names[] = {
    "ROLE_ASSISTANT"
    "ROLE_UNSPECIFIED"
    "ROLE_USER"
};

static const ::google::protobuf::internal::EnumEntry ChatHistoryTurn_Role_entries[] = {
    {{&ChatHistoryTurn_Role_names[0], 14}, 2},
    {{&ChatHistoryTurn_Role_names[14], 16}, 0},
    {{&ChatHistoryTurn_Role_names[30], 9}, 1},
};

static const int ChatHistoryTurn_Role_entries_by_number[] = {
    1,  // 0 -> ROLE_UNSPECIFIED
    2,  // 1 -> ROLE_USER
    0,  // 2 -> ROLE_ASSISTANT
};

bool ChatHistoryTurn_Role_Parse(::absl::string_view name,
                                  ChatHistoryTurn_Role* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ChatHistoryTurn_Role_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<ChatHistoryTurn_Role>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ChatHistoryTurn_Role_strings[3] = {};

const ::std::string& ChatHistoryTurn_Role_Name(ChatHistoryTurn_Role value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ChatHistoryTurn_Role_entries, ChatHistoryTurn_Role_entries_by_number, 3,
      ChatHistoryTurn_Role_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ChatHistoryTurn_Role_entries,
                                  ChatHistoryTurn_Role_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ChatHistoryTurn_Role_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ContextHubAutoTodoItem_Status_internal_data_[] = {
    262144u, 0u, };
static const char ContextHubAutoTodoItem_Status_names[] = {
    "STATUS_ACTIVE"
    "STATUS_COMPLETED"
    "STATUS_DISMISSED"
    "STATUS_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry ContextHubAutoTodoItem_Status_entries[] = {
    {{&ContextHubAutoTodoItem_Status_names[0], 13}, 1},
    {{&ContextHubAutoTodoItem_Status_names[13], 16}, 2},
    {{&ContextHubAutoTodoItem_Status_names[29], 16}, 3},
    {{&ContextHubAutoTodoItem_Status_names[45], 18}, 0},
};

static const int ContextHubAutoTodoItem_Status_entries_by_number[] = {
    3,  // 0 -> STATUS_UNSPECIFIED
    0,  // 1 -> STATUS_ACTIVE
    1,  // 2 -> STATUS_COMPLETED
    2,  // 3 -> STATUS_DISMISSED
};

bool ContextHubAutoTodoItem_Status_Parse(::absl::string_view name,
                                  ContextHubAutoTodoItem_Status* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ContextHubAutoTodoItem_Status_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<ContextHubAutoTodoItem_Status>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ContextHubAutoTodoItem_Status_strings[4] = {};

const ::std::string& ContextHubAutoTodoItem_Status_Name(ContextHubAutoTodoItem_Status value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ContextHubAutoTodoItem_Status_entries, ContextHubAutoTodoItem_Status_entries_by_number, 4,
      ContextHubAutoTodoItem_Status_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ContextHubAutoTodoItem_Status_entries,
                                  ContextHubAutoTodoItem_Status_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ContextHubAutoTodoItem_Status_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t BrowserBasedTodosResponse_GroupType_internal_data_[] = {
    327680u, 0u, };
static const char BrowserBasedTodosResponse_GroupType_names[] = {
    "GROUP_TYPE_NUDGE_TO_CLOSE"
    "GROUP_TYPE_READING_LIST"
    "GROUP_TYPE_SHOPPING_CART"
    "GROUP_TYPE_UNFINISHED"
    "GROUP_TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry BrowserBasedTodosResponse_GroupType_entries[] = {
    {{&BrowserBasedTodosResponse_GroupType_names[0], 25}, 2},
    {{&BrowserBasedTodosResponse_GroupType_names[25], 23}, 1},
    {{&BrowserBasedTodosResponse_GroupType_names[48], 24}, 4},
    {{&BrowserBasedTodosResponse_GroupType_names[72], 21}, 3},
    {{&BrowserBasedTodosResponse_GroupType_names[93], 22}, 0},
};

static const int BrowserBasedTodosResponse_GroupType_entries_by_number[] = {
    4,  // 0 -> GROUP_TYPE_UNSPECIFIED
    1,  // 1 -> GROUP_TYPE_READING_LIST
    0,  // 2 -> GROUP_TYPE_NUDGE_TO_CLOSE
    3,  // 3 -> GROUP_TYPE_UNFINISHED
    2,  // 4 -> GROUP_TYPE_SHOPPING_CART
};

bool BrowserBasedTodosResponse_GroupType_Parse(::absl::string_view name,
                                  BrowserBasedTodosResponse_GroupType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      BrowserBasedTodosResponse_GroupType_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<BrowserBasedTodosResponse_GroupType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    BrowserBasedTodosResponse_GroupType_strings[5] = {};

const ::std::string& BrowserBasedTodosResponse_GroupType_Name(BrowserBasedTodosResponse_GroupType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      BrowserBasedTodosResponse_GroupType_entries, BrowserBasedTodosResponse_GroupType_entries_by_number, 5,
      BrowserBasedTodosResponse_GroupType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(BrowserBasedTodosResponse_GroupType_entries,
                                  BrowserBasedTodosResponse_GroupType_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : BrowserBasedTodosResponse_GroupType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ContextHubRequestType_internal_data_[] = {
    327680u, 0u, };
static const char ContextHubRequestType_names[] = {
    "CONTEXT_HUB_REQUEST_TYPE_AUTO_TODOS_DEDUPLICATION"
    "CONTEXT_HUB_REQUEST_TYPE_BROWSER_BASED_TODOS"
    "CONTEXT_HUB_REQUEST_TYPE_GROUPING"
    "CONTEXT_HUB_REQUEST_TYPE_MEMORY_BANK_CHAT"
    "CONTEXT_HUB_REQUEST_TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry ContextHubRequestType_entries[] = {
    {{&ContextHubRequestType_names[0], 49}, 4},
    {{&ContextHubRequestType_names[49], 44}, 3},
    {{&ContextHubRequestType_names[93], 33}, 1},
    {{&ContextHubRequestType_names[126], 41}, 2},
    {{&ContextHubRequestType_names[167], 36}, 0},
};

static const int ContextHubRequestType_entries_by_number[] = {
    4,  // 0 -> CONTEXT_HUB_REQUEST_TYPE_UNSPECIFIED
    2,  // 1 -> CONTEXT_HUB_REQUEST_TYPE_GROUPING
    3,  // 2 -> CONTEXT_HUB_REQUEST_TYPE_MEMORY_BANK_CHAT
    1,  // 3 -> CONTEXT_HUB_REQUEST_TYPE_BROWSER_BASED_TODOS
    0,  // 4 -> CONTEXT_HUB_REQUEST_TYPE_AUTO_TODOS_DEDUPLICATION
};

bool ContextHubRequestType_Parse(::absl::string_view name,
                                  ContextHubRequestType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ContextHubRequestType_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<ContextHubRequestType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ContextHubRequestType_strings[5] = {};

const ::std::string& ContextHubRequestType_Name(ContextHubRequestType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ContextHubRequestType_entries, ContextHubRequestType_entries_by_number, 5,
      ContextHubRequestType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ContextHubRequestType_entries,
                                  ContextHubRequestType_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ContextHubRequestType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t MemoryBankType_internal_data_[] = {
    196608u, 0u, };
static const char MemoryBankType_names[] = {
    "MEMORY_BANK_TYPE_TAB"
    "MEMORY_BANK_TYPE_TEXT_SELECTION"
    "MEMORY_BANK_TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry MemoryBankType_entries[] = {
    {{&MemoryBankType_names[0], 20}, 1},
    {{&MemoryBankType_names[20], 31}, 2},
    {{&MemoryBankType_names[51], 28}, 0},
};

static const int MemoryBankType_entries_by_number[] = {
    2,  // 0 -> MEMORY_BANK_TYPE_UNSPECIFIED
    0,  // 1 -> MEMORY_BANK_TYPE_TAB
    1,  // 2 -> MEMORY_BANK_TYPE_TEXT_SELECTION
};

bool MemoryBankType_Parse(::absl::string_view name,
                                  MemoryBankType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      MemoryBankType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<MemoryBankType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    MemoryBankType_strings[3] = {};

const ::std::string& MemoryBankType_Name(MemoryBankType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      MemoryBankType_entries, MemoryBankType_entries_by_number, 3,
      MemoryBankType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(MemoryBankType_entries,
                                  MemoryBankType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : MemoryBankType_strings[idx].get();
}
// ===================================================================

void ContextHubLoggingData::clear_model_execution_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.model_execution_info_ != nullptr) _impl_.model_execution_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
ContextHubLoggingData::ContextHubLoggingData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextHubLoggingData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ContextHubLoggingData)
}
PROTOBUF_NDEBUG_INLINE ContextHubLoggingData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ContextHubLoggingData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

ContextHubLoggingData::ContextHubLoggingData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ContextHubLoggingData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextHubLoggingData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ContextHubLoggingData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.request_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_)
                : nullptr;
  _impl_.response_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_)
                : nullptr;
  _impl_.model_execution_info_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.model_execution_info_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ContextHubLoggingData)
}
PROTOBUF_NDEBUG_INLINE ContextHubLoggingData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ContextHubLoggingData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, request_),
           0,
           offsetof(Impl_, model_execution_info_) -
               offsetof(Impl_, request_) +
               sizeof(Impl_::model_execution_info_));
}
ContextHubLoggingData::~ContextHubLoggingData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ContextHubLoggingData)
  SharedDtor(*this);
}
inline void ContextHubLoggingData::SharedDtor(MessageLite& self) {
  ContextHubLoggingData& this_ = static_cast<ContextHubLoggingData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.request_;
  delete this_._impl_.response_;
  delete this_._impl_.model_execution_info_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContextHubLoggingData_class_data_ =
    ContextHubLoggingData::InternalGenerateClassData_(ContextHubLoggingData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContextHubLoggingData::GetClassData() const {
  return ContextHubLoggingData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContextHubLoggingData::GetClassData() const {
  return ContextHubLoggingData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ContextHubLoggingData::ParseTableT_
    ContextHubLoggingData::_table_ =
        ContextHubLoggingData::InternalGenerateParseTable_(ContextHubLoggingData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ContextHubLoggingData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ContextHubLoggingData)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.request_ != nullptr);
      _impl_.request_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.response_ != nullptr);
      _impl_.response_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.model_execution_info_ != nullptr);
      _impl_.model_execution_info_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ContextHubLoggingData::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ContextHubLoggingData& this_ = static_cast<const ContextHubLoggingData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ContextHubLoggingData::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ContextHubLoggingData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.ContextHubLoggingData)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ContextHubRequest request = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.request_, this_._impl_.request_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.ContextHubResponse response = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.response_, this_._impl_.response_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.model_execution_info_, this_._impl_.model_execution_info_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ContextHubLoggingData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ContextHubLoggingData::ByteSizeLong(const MessageLite& base) {
  const ContextHubLoggingData& this_ = static_cast<const ContextHubLoggingData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ContextHubLoggingData::ByteSizeLong() const {
  const ContextHubLoggingData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ContextHubLoggingData)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // .optimization_guide.proto.ContextHubRequest request = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_);
    }
    // .optimization_guide.proto.ContextHubResponse response = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.response_);
    }
    // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.model_execution_info_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ContextHubLoggingData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContextHubLoggingData*>(&to_msg);
  auto& from = static_cast<const ContextHubLoggingData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContextHubLoggingData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.request_ != nullptr);
      if (_this->_impl_.request_ == nullptr) {
        _this->_impl_.request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_);
      } else {
        _this->_impl_.request_->MergeFrom(*from._impl_.request_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.response_ != nullptr);
      if (_this->_impl_.response_ == nullptr) {
        _this->_impl_.response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_);
      } else {
        _this->_impl_.response_->MergeFrom(*from._impl_.response_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.model_execution_info_ != nullptr);
      if (_this->_impl_.model_execution_info_ == nullptr) {
        _this->_impl_.model_execution_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.model_execution_info_);
      } else {
        _this->_impl_.model_execution_info_->MergeFrom(*from._impl_.model_execution_info_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ContextHubLoggingData::CopyFrom(const ContextHubLoggingData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.ContextHubLoggingData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ContextHubLoggingData::InternalSwap(ContextHubLoggingData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_.model_execution_info_)
      + sizeof(ContextHubLoggingData::_impl_.model_execution_info_)
      - PROTOBUF_FIELD_OFFSET(ContextHubLoggingData, _impl_.request_)>(
          reinterpret_cast<char*>(&_impl_.request_),
          reinterpret_cast<char*>(&other->_impl_.request_));
}

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

void ContextHubRequest::clear_pre_existing_tab_groups() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pre_existing_tab_groups_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
ContextHubRequest::ContextHubRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextHubRequest_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ContextHubRequest)
}
PROTOBUF_NDEBUG_INLINE ContextHubRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ContextHubRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        entry_items_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ContextHubRequest,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubRequest, _impl_.entry_items_)>()
          , from.entry_items_
        }
        ,
        pre_existing_tab_groups_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ContextHubRequest,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubRequest, _impl_.pre_existing_tab_groups_)>()
          , from.pre_existing_tab_groups_
        }
        ,
        chat_history_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ContextHubRequest,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubRequest, _impl_.chat_history_)>()
          , from.chat_history_
        }
        ,
        user_command_(arena, from.user_command_) {}

ContextHubRequest::ContextHubRequest(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ContextHubRequest& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextHubRequest_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ContextHubRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.auto_todos_deduplication_request_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.auto_todos_deduplication_request_)
                : nullptr;
  _impl_.request_type_ = from._impl_.request_type_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ContextHubRequest)
}
PROTOBUF_NDEBUG_INLINE ContextHubRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        entry_items_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContextHubRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubRequest, _impl_.entry_items_)>()
         }
        ,
        pre_existing_tab_groups_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContextHubRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubRequest, _impl_.pre_existing_tab_groups_)>()
         }
        ,
        chat_history_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContextHubRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubRequest, _impl_.chat_history_)>()
         }
        ,
        user_command_(arena) {}

inline void ContextHubRequest::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, auto_todos_deduplication_request_),
           0,
           offsetof(Impl_, request_type_) -
               offsetof(Impl_, auto_todos_deduplication_request_) +
               sizeof(Impl_::request_type_));
}
ContextHubRequest::~ContextHubRequest() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ContextHubRequest)
  SharedDtor(*this);
}
inline void ContextHubRequest::SharedDtor(MessageLite& self) {
  ContextHubRequest& this_ = static_cast<ContextHubRequest&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.user_command_.Destroy();
  delete this_._impl_.auto_todos_deduplication_request_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContextHubRequest_class_data_ =
    ContextHubRequest::InternalGenerateClassData_(ContextHubRequest_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContextHubRequest::GetClassData() const {
  return ContextHubRequest_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContextHubRequest::GetClassData() const {
  return ContextHubRequest_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ContextHubRequest::ParseTableT_
    ContextHubRequest::_table_ =
        ContextHubRequest::InternalGenerateParseTable_(ContextHubRequest_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ContextHubRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ContextHubRequest)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.entry_items_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.pre_existing_tab_groups_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.chat_history_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.user_command_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.auto_todos_deduplication_request_ != nullptr);
      _impl_.auto_todos_deduplication_request_->Clear();
    }
  }
  _impl_.request_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ContextHubRequest::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ContextHubRequest& this_ = static_cast<const ContextHubRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ContextHubRequest::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ContextHubRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.ContextHubRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ContextHubRequestType request_type = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_request_type(), target);
  }

  // repeated .optimization_guide.proto.EntryItem entry_items = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_entry_items_size());
         i < n; i++) {
      const auto& repfield = this_._internal_entry_items().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .optimization_guide.proto.TabGroupMinimal pre_existing_tab_groups = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_pre_existing_tab_groups_size());
         i < n; i++) {
      const auto& repfield = this_._internal_pre_existing_tab_groups().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // string user_command = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_user_command();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ContextHubRequest.user_command");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // repeated .optimization_guide.proto.ChatHistoryTurn chat_history = 5;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_chat_history_size());
         i < n; i++) {
      const auto& repfield = this_._internal_chat_history().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // .optimization_guide.proto.AutoTodosDeduplicationRequest auto_todos_deduplication_request = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.auto_todos_deduplication_request_, this_._impl_.auto_todos_deduplication_request_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ContextHubRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ContextHubRequest::ByteSizeLong(const MessageLite& base) {
  const ContextHubRequest& this_ = static_cast<const ContextHubRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ContextHubRequest::ByteSizeLong() const {
  const ContextHubRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ContextHubRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    // repeated .optimization_guide.proto.EntryItem entry_items = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_entry_items_size();
      for (const auto& msg : this_._internal_entry_items()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.TabGroupMinimal pre_existing_tab_groups = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_pre_existing_tab_groups_size();
      for (const auto& msg : this_._internal_pre_existing_tab_groups()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.ChatHistoryTurn chat_history = 5;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_chat_history_size();
      for (const auto& msg : this_._internal_chat_history()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string user_command = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_user_command());
    }
    // .optimization_guide.proto.AutoTodosDeduplicationRequest auto_todos_deduplication_request = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.auto_todos_deduplication_request_);
    }
    // .optimization_guide.proto.ContextHubRequestType request_type = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_request_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ContextHubRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContextHubRequest*>(&to_msg);
  auto& from = static_cast<const ContextHubRequest&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContextHubRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_entry_items()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_entry_items());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_pre_existing_tab_groups()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_pre_existing_tab_groups());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_chat_history()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_chat_history());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_user_command(from._internal_user_command());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.auto_todos_deduplication_request_ != nullptr);
      if (_this->_impl_.auto_todos_deduplication_request_ == nullptr) {
        _this->_impl_.auto_todos_deduplication_request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.auto_todos_deduplication_request_);
      } else {
        _this->_impl_.auto_todos_deduplication_request_->MergeFrom(*from._impl_.auto_todos_deduplication_request_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.request_type_ = from._impl_.request_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ContextHubRequest::CopyFrom(const ContextHubRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.ContextHubRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ContextHubRequest::InternalSwap(ContextHubRequest* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.entry_items_.InternalSwap(&other->_impl_.entry_items_);
  _impl_.pre_existing_tab_groups_.InternalSwap(&other->_impl_.pre_existing_tab_groups_);
  _impl_.chat_history_.InternalSwap(&other->_impl_.chat_history_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.user_command_, &other->_impl_.user_command_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.request_type_)
      + sizeof(ContextHubRequest::_impl_.request_type_)
      - PROTOBUF_FIELD_OFFSET(ContextHubRequest, _impl_.auto_todos_deduplication_request_)>(
          reinterpret_cast<char*>(&_impl_.auto_todos_deduplication_request_),
          reinterpret_cast<char*>(&other->_impl_.auto_todos_deduplication_request_));
}

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

void EntryItem::set_allocated_tab(::optimization_guide::proto::Tab* PROTOBUF_NULLABLE tab) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_item();
  if (tab) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(tab)->GetArena();
    if (message_arena != submessage_arena) {
      tab = ::google::protobuf::internal::GetOwnedMessage(message_arena, tab, submessage_arena);
    }
    set_has_tab();
    _impl_.item_.tab_ = tab;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.EntryItem.tab)
}
void EntryItem::clear_tab() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (item_case() == kTab) {
    if (GetArena() == nullptr) {
      delete _impl_.item_.tab_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.item_.tab_ != nullptr) {
        _impl_.item_.tab_->Clear();
      }
    }
    clear_has_item();
  }
}
void EntryItem::set_allocated_memory_bank_entry(::optimization_guide::proto::MemoryBankEntry* PROTOBUF_NULLABLE memory_bank_entry) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_item();
  if (memory_bank_entry) {
    ::google::protobuf::Arena* submessage_arena = memory_bank_entry->GetArena();
    if (message_arena != submessage_arena) {
      memory_bank_entry = ::google::protobuf::internal::GetOwnedMessage(message_arena, memory_bank_entry, submessage_arena);
    }
    set_has_memory_bank_entry();
    _impl_.item_.memory_bank_entry_ = memory_bank_entry;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.EntryItem.memory_bank_entry)
}
EntryItem::EntryItem(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EntryItem_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.EntryItem)
}
PROTOBUF_NDEBUG_INLINE EntryItem::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::EntryItem& from_msg)
      : item_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

EntryItem::EntryItem(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const EntryItem& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EntryItem_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EntryItem* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (item_case()) {
    case ITEM_NOT_SET:
      break;
      case kTab:
        _impl_.item_.tab_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.item_.tab_);
        break;
      case kMemoryBankEntry:
        _impl_.item_.memory_bank_entry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.item_.memory_bank_entry_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.EntryItem)
}
PROTOBUF_NDEBUG_INLINE EntryItem::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : item_{},
        _cached_size_{0},
        _oneof_case_{} {}

inline void EntryItem::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
EntryItem::~EntryItem() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.EntryItem)
  SharedDtor(*this);
}
inline void EntryItem::SharedDtor(MessageLite& self) {
  EntryItem& this_ = static_cast<EntryItem&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  if (this_.has_item()) {
    this_.clear_item();
  }
  this_._impl_.~Impl_();
}

void EntryItem::clear_item() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.EntryItem)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (item_case()) {
    case kTab: {
      if (GetArena() == nullptr) {
        delete _impl_.item_.tab_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.item_.tab_ != nullptr) {
          _impl_.item_.tab_->Clear();
        }
      }
      break;
    }
    case kMemoryBankEntry: {
      if (GetArena() == nullptr) {
        delete _impl_.item_.memory_bank_entry_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.item_.memory_bank_entry_ != nullptr) {
          _impl_.item_.memory_bank_entry_->Clear();
        }
      }
      break;
    }
    case ITEM_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = ITEM_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite EntryItem_class_data_ =
    EntryItem::InternalGenerateClassData_(EntryItem_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EntryItem::GetClassData() const {
  return EntryItem_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EntryItem::GetClassData() const {
  return EntryItem_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const EntryItem::ParseTableT_
    EntryItem::_table_ =
        EntryItem::InternalGenerateParseTable_(EntryItem_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void EntryItem::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.EntryItem)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_item();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL EntryItem::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const EntryItem& this_ = static_cast<const EntryItem&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL EntryItem::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const EntryItem& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.EntryItem)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  switch (this_.item_case()) {
    case kTab: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, *this_._impl_.item_.tab_, this_._impl_.item_.tab_->GetCachedSize(), target,
          stream);
      break;
    }
    case kMemoryBankEntry: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.item_.memory_bank_entry_, this_._impl_.item_.memory_bank_entry_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.EntryItem)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EntryItem::ByteSizeLong(const MessageLite& base) {
  const EntryItem& this_ = static_cast<const EntryItem&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EntryItem::ByteSizeLong() const {
  const EntryItem& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.EntryItem)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  switch (this_.item_case()) {
    // .optimization_guide.proto.Tab tab = 1;
    case kTab: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.item_.tab_);
      break;
    }
    // .optimization_guide.proto.MemoryBankEntry memory_bank_entry = 2;
    case kMemoryBankEntry: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.item_.memory_bank_entry_);
      break;
    }
    case ITEM_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void EntryItem::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EntryItem*>(&to_msg);
  auto& from = static_cast<const EntryItem&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.EntryItem)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_item();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kTab: {
        if (oneof_needs_init) {
          _this->_impl_.item_.tab_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.item_.tab_);
        } else {
          _this->_impl_.item_.tab_->MergeFrom(*from._impl_.item_.tab_);
        }
        break;
      }
      case kMemoryBankEntry: {
        if (oneof_needs_init) {
          _this->_impl_.item_.memory_bank_entry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.item_.memory_bank_entry_);
        } else {
          _this->_impl_.item_.memory_bank_entry_->MergeFrom(*from._impl_.item_.memory_bank_entry_);
        }
        break;
      }
      case ITEM_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void EntryItem::CopyFrom(const EntryItem& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.EntryItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void EntryItem::InternalSwap(EntryItem* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.item_, other->_impl_.item_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

MemoryBankEntry::MemoryBankEntry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MemoryBankEntry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.MemoryBankEntry)
}
PROTOBUF_NDEBUG_INLINE MemoryBankEntry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::MemoryBankEntry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        tags_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::MemoryBankEntry,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::MemoryBankEntry, _impl_.tags_)>()
          , from.tags_
        }
        ,
        url_(arena, from.url_),
        tab_title_(arena, from.tab_title_),
        selected_text_(arena, from.selected_text_) {}

MemoryBankEntry::MemoryBankEntry(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const MemoryBankEntry& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MemoryBankEntry_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MemoryBankEntry* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, id_),
           offsetof(Impl_, type_) -
               offsetof(Impl_, id_) +
               sizeof(Impl_::type_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.MemoryBankEntry)
}
PROTOBUF_NDEBUG_INLINE MemoryBankEntry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        tags_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::MemoryBankEntry,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::MemoryBankEntry, _impl_.tags_)>()
         }
        ,
        url_(arena),
        tab_title_(arena),
        selected_text_(arena) {}

inline void MemoryBankEntry::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, id_),
           0,
           offsetof(Impl_, type_) -
               offsetof(Impl_, id_) +
               sizeof(Impl_::type_));
}
MemoryBankEntry::~MemoryBankEntry() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.MemoryBankEntry)
  SharedDtor(*this);
}
inline void MemoryBankEntry::SharedDtor(MessageLite& self) {
  MemoryBankEntry& this_ = static_cast<MemoryBankEntry&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  this_._impl_.tab_title_.Destroy();
  this_._impl_.selected_text_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite MemoryBankEntry_class_data_ =
    MemoryBankEntry::InternalGenerateClassData_(MemoryBankEntry_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MemoryBankEntry::GetClassData() const {
  return MemoryBankEntry_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MemoryBankEntry::GetClassData() const {
  return MemoryBankEntry_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const MemoryBankEntry::ParseTableT_
    MemoryBankEntry::_table_ =
        MemoryBankEntry::InternalGenerateParseTable_(MemoryBankEntry_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void MemoryBankEntry::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.MemoryBankEntry)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.tags_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.tab_title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.selected_text_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000070U)) {
    ::memset(&_impl_.id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.type_) -
        reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL MemoryBankEntry::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const MemoryBankEntry& this_ = static_cast<const MemoryBankEntry&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL MemoryBankEntry::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const MemoryBankEntry& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.MemoryBankEntry)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // int64 id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_id(), target);
  }

  // .optimization_guide.proto.MemoryBankType type = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_type(), target);
  }

  // int64 timestamp_ms = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // string url = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MemoryBankEntry.url");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // string tab_title = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_tab_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MemoryBankEntry.tab_title");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // string selected_text = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_selected_text();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MemoryBankEntry.selected_text");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // repeated string tags = 7;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_tags_size(); i < n; ++i) {
      const auto& s = this_._internal_tags().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MemoryBankEntry.tags");
      target = stream->WriteString(7, s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.MemoryBankEntry)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MemoryBankEntry::ByteSizeLong(const MessageLite& base) {
  const MemoryBankEntry& this_ = static_cast<const MemoryBankEntry&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MemoryBankEntry::ByteSizeLong() const {
  const MemoryBankEntry& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.MemoryBankEntry)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    // repeated string tags = 7;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_tags().size());
      for (int i = 0, n = this_._internal_tags().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_tags().Get(i));
      }
    }
    // string url = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // string tab_title = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_tab_title());
    }
    // string selected_text = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_selected_text());
    }
    // int64 id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_id());
    }
    // int64 timestamp_ms = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // .optimization_guide.proto.MemoryBankType type = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void MemoryBankEntry::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MemoryBankEntry*>(&to_msg);
  auto& from = static_cast<const MemoryBankEntry&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.MemoryBankEntry)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_tags()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_tags());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_tab_title(from._internal_tab_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_selected_text(from._internal_selected_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void MemoryBankEntry::CopyFrom(const MemoryBankEntry& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.MemoryBankEntry)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void MemoryBankEntry::InternalSwap(MemoryBankEntry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.tags_.InternalSwap(&other->_impl_.tags_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tab_title_, &other->_impl_.tab_title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.selected_text_, &other->_impl_.selected_text_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.type_)
      + sizeof(MemoryBankEntry::_impl_.type_)
      - PROTOBUF_FIELD_OFFSET(MemoryBankEntry, _impl_.id_)>(
          reinterpret_cast<char*>(&_impl_.id_),
          reinterpret_cast<char*>(&other->_impl_.id_));
}

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

ChatHistoryTurn::ChatHistoryTurn(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ChatHistoryTurn_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ChatHistoryTurn)
}
PROTOBUF_NDEBUG_INLINE ChatHistoryTurn::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ChatHistoryTurn& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        message_content_(arena, from.message_content_) {}

ChatHistoryTurn::ChatHistoryTurn(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ChatHistoryTurn& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ChatHistoryTurn_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ChatHistoryTurn* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, role_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::role_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ChatHistoryTurn)
}
PROTOBUF_NDEBUG_INLINE ChatHistoryTurn::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        message_content_(arena) {}

inline void ChatHistoryTurn::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, role_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::role_));
}
ChatHistoryTurn::~ChatHistoryTurn() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ChatHistoryTurn)
  SharedDtor(*this);
}
inline void ChatHistoryTurn::SharedDtor(MessageLite& self) {
  ChatHistoryTurn& this_ = static_cast<ChatHistoryTurn&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.message_content_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ChatHistoryTurn_class_data_ =
    ChatHistoryTurn::InternalGenerateClassData_(ChatHistoryTurn_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ChatHistoryTurn::GetClassData() const {
  return ChatHistoryTurn_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ChatHistoryTurn::GetClassData() const {
  return ChatHistoryTurn_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ChatHistoryTurn::ParseTableT_
    ChatHistoryTurn::_table_ =
        ChatHistoryTurn::InternalGenerateParseTable_(ChatHistoryTurn_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ChatHistoryTurn::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ChatHistoryTurn)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.message_content_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.role_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.role_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ChatHistoryTurn::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ChatHistoryTurn& this_ = static_cast<const ChatHistoryTurn&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ChatHistoryTurn::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ChatHistoryTurn& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.ChatHistoryTurn)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ChatHistoryTurn.Role role = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_role(), target);
  }

  // string message_content = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_message_content();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ChatHistoryTurn.message_content");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // int64 timestamp_ms = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_timestamp_ms(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ChatHistoryTurn)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ChatHistoryTurn::ByteSizeLong(const MessageLite& base) {
  const ChatHistoryTurn& this_ = static_cast<const ChatHistoryTurn&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ChatHistoryTurn::ByteSizeLong() const {
  const ChatHistoryTurn& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ChatHistoryTurn)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // string message_content = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_message_content());
    }
    // int64 timestamp_ms = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // .optimization_guide.proto.ChatHistoryTurn.Role role = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_role());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ChatHistoryTurn::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ChatHistoryTurn*>(&to_msg);
  auto& from = static_cast<const ChatHistoryTurn&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ChatHistoryTurn)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_message_content(from._internal_message_content());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.role_ = from._impl_.role_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ChatHistoryTurn::CopyFrom(const ChatHistoryTurn& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.ChatHistoryTurn)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ChatHistoryTurn::InternalSwap(ChatHistoryTurn* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.message_content_, &other->_impl_.message_content_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_.role_)
      + sizeof(ChatHistoryTurn::_impl_.role_)
      - PROTOBUF_FIELD_OFFSET(ChatHistoryTurn, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

AutoTodosDeduplicationRequest::AutoTodosDeduplicationRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutoTodosDeduplicationRequest_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AutoTodosDeduplicationRequest)
}
PROTOBUF_NDEBUG_INLINE AutoTodosDeduplicationRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AutoTodosDeduplicationRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        existing_todos_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AutoTodosDeduplicationRequest,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutoTodosDeduplicationRequest, _impl_.existing_todos_)>()
          , from.existing_todos_
        }
        ,
        new_todos_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AutoTodosDeduplicationRequest,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutoTodosDeduplicationRequest, _impl_.new_todos_)>()
          , from.new_todos_
        }
     {}

AutoTodosDeduplicationRequest::AutoTodosDeduplicationRequest(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AutoTodosDeduplicationRequest& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutoTodosDeduplicationRequest_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AutoTodosDeduplicationRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AutoTodosDeduplicationRequest)
}
PROTOBUF_NDEBUG_INLINE AutoTodosDeduplicationRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        existing_todos_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AutoTodosDeduplicationRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutoTodosDeduplicationRequest, _impl_.existing_todos_)>()
         }
        ,
        new_todos_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AutoTodosDeduplicationRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutoTodosDeduplicationRequest, _impl_.new_todos_)>()
         }
     {}

inline void AutoTodosDeduplicationRequest::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AutoTodosDeduplicationRequest::~AutoTodosDeduplicationRequest() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AutoTodosDeduplicationRequest)
  SharedDtor(*this);
}
inline void AutoTodosDeduplicationRequest::SharedDtor(MessageLite& self) {
  AutoTodosDeduplicationRequest& this_ = static_cast<AutoTodosDeduplicationRequest&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AutoTodosDeduplicationRequest_class_data_ =
    AutoTodosDeduplicationRequest::InternalGenerateClassData_(AutoTodosDeduplicationRequest_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutoTodosDeduplicationRequest::GetClassData() const {
  return AutoTodosDeduplicationRequest_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutoTodosDeduplicationRequest::GetClassData() const {
  return AutoTodosDeduplicationRequest_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AutoTodosDeduplicationRequest::ParseTableT_
    AutoTodosDeduplicationRequest::_table_ =
        AutoTodosDeduplicationRequest::InternalGenerateParseTable_(AutoTodosDeduplicationRequest_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AutoTodosDeduplicationRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AutoTodosDeduplicationRequest)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.existing_todos_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.new_todos_.Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL AutoTodosDeduplicationRequest::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const AutoTodosDeduplicationRequest& this_ = static_cast<const AutoTodosDeduplicationRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL AutoTodosDeduplicationRequest::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const AutoTodosDeduplicationRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.AutoTodosDeduplicationRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.ContextHubAutoTodoItem existing_todos = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_existing_todos_size());
         i < n; i++) {
      const auto& repfield = this_._internal_existing_todos().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .optimization_guide.proto.ContextHubAutoTodoItem new_todos = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_new_todos_size());
         i < n; i++) {
      const auto& repfield = this_._internal_new_todos().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AutoTodosDeduplicationRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AutoTodosDeduplicationRequest::ByteSizeLong(const MessageLite& base) {
  const AutoTodosDeduplicationRequest& this_ = static_cast<const AutoTodosDeduplicationRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AutoTodosDeduplicationRequest::ByteSizeLong() const {
  const AutoTodosDeduplicationRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AutoTodosDeduplicationRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .optimization_guide.proto.ContextHubAutoTodoItem existing_todos = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_existing_todos_size();
      for (const auto& msg : this_._internal_existing_todos()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.ContextHubAutoTodoItem new_todos = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_new_todos_size();
      for (const auto& msg : this_._internal_new_todos()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AutoTodosDeduplicationRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AutoTodosDeduplicationRequest*>(&to_msg);
  auto& from = static_cast<const AutoTodosDeduplicationRequest&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AutoTodosDeduplicationRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_existing_todos()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_existing_todos());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_new_todos()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_new_todos());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void AutoTodosDeduplicationRequest::CopyFrom(const AutoTodosDeduplicationRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.AutoTodosDeduplicationRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void AutoTodosDeduplicationRequest::InternalSwap(AutoTodosDeduplicationRequest* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.existing_todos_.InternalSwap(&other->_impl_.existing_todos_);
  _impl_.new_todos_.InternalSwap(&other->_impl_.new_todos_);
}

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

ContextHubAutoTodoItem::ContextHubAutoTodoItem(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextHubAutoTodoItem_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ContextHubAutoTodoItem)
}
PROTOBUF_NDEBUG_INLINE ContextHubAutoTodoItem::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ContextHubAutoTodoItem& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        todo_ids_mergeds_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ContextHubAutoTodoItem,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubAutoTodoItem, _impl_.todo_ids_mergeds_)>()
          , from.todo_ids_mergeds_
        }
        ,
        title_(arena, from.title_),
        description_(arena, from.description_),
        actionable_url_(arena, from.actionable_url_),
        id_(arena, from.id_) {}

ContextHubAutoTodoItem::ContextHubAutoTodoItem(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ContextHubAutoTodoItem& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextHubAutoTodoItem_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ContextHubAutoTodoItem* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, importance_score_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, importance_score_),
           offsetof(Impl_, status_) -
               offsetof(Impl_, importance_score_) +
               sizeof(Impl_::status_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ContextHubAutoTodoItem)
}
PROTOBUF_NDEBUG_INLINE ContextHubAutoTodoItem::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        todo_ids_mergeds_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContextHubAutoTodoItem,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContextHubAutoTodoItem, _impl_.todo_ids_mergeds_)>()
         }
        ,
        title_(arena),
        description_(arena),
        actionable_url_(arena),
        id_(arena) {}

inline void ContextHubAutoTodoItem::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, importance_score_),
           0,
           offsetof(Impl_, status_) -
               offsetof(Impl_, importance_score_) +
               sizeof(Impl_::status_));
}
ContextHubAutoTodoItem::~ContextHubAutoTodoItem() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ContextHubAutoTodoItem)
  SharedDtor(*this);
}
inline void ContextHubAutoTodoItem::SharedDtor(MessageLite& self) {
  ContextHubAutoTodoItem& this_ = static_cast<ContextHubAutoTodoItem&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.title_.Destroy();
  this_._impl_.description_.Destroy();
  this_._impl_.actionable_url_.Destroy();
  this_._impl_.id_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContextHubAutoTodoItem_class_data_ =
    ContextHubAutoTodoItem::InternalGenerateClassData_(ContextHubAutoTodoItem_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContextHubAutoTodoItem::GetClassData() const {
  return ContextHubAutoTodoItem_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContextHubAutoTodoItem::GetClassData() const {
  return ContextHubAutoTodoItem_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ContextHubAutoTodoItem::ParseTableT_
    ContextHubAutoTodoItem::_table_ =
        ContextHubAutoTodoItem::InternalGenerateParseTable_(ContextHubAutoTodoItem_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ContextHubAutoTodoItem::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ContextHubAutoTodoItem)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.todo_ids_mergeds_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.description_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.actionable_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.id_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000060U)) {
    ::memset(&_impl_.importance_score_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.status_) -
        reinterpret_cast<char*>(&_impl_.importance_score_)) + sizeof(_impl_.status_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ContextHubAutoTodoItem::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ContextHubAutoTodoItem& this_ = static_cast<const ContextHubAutoTodoItem&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ContextHubAutoTodoItem::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ContextHubAutoTodoItem& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.ContextHubAutoTodoItem)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string title = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ContextHubAutoTodoItem.title");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string description = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ContextHubAutoTodoItem.description");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string actionable_url = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_actionable_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ContextHubAutoTodoItem.actionable_url");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // float importance_score = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        4, this_._internal_importance_score(), target);
  }

  // .optimization_guide.proto.ContextHubAutoTodoItem.Status status = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_status(), target);
  }

  // string id = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_id();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ContextHubAutoTodoItem.id");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // repeated string todo_ids_mergeds = 7;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_todo_ids_mergeds_size(); i < n; ++i) {
      const auto& s = this_._internal_todo_ids_mergeds().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ContextHubAutoTodoItem.todo_ids_mergeds");
      target = stream->WriteString(7, s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ContextHubAutoTodoItem)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ContextHubAutoTodoItem::ByteSizeLong(const MessageLite& base) {
  const ContextHubAutoTodoItem& this_ = static_cast<const ContextHubAutoTodoItem&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ContextHubAutoTodoItem::ByteSizeLong() const {
  const ContextHubAutoTodoItem& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ContextHubAutoTodoItem)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000020U & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x0000005fU)) {
    // repeated string todo_ids_mergeds = 7;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_todo_ids_mergeds().size());
      for (int i = 0, n = this_._internal_todo_ids_mergeds().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_todo_ids_mergeds().Get(i));
      }
    }
    // string title = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_title());
    }
    // string description = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_description());
    }
    // string actionable_url = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_actionable_url());
    }
    // string id = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_id());
    }
    // .optimization_guide.proto.ContextHubAutoTodoItem.Status status = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_status());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ContextHubAutoTodoItem::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContextHubAutoTodoItem*>(&to_msg);
  auto& from = static_cast<const ContextHubAutoTodoItem&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContextHubAutoTodoItem)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_todo_ids_mergeds()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_todo_ids_mergeds());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_title(from._internal_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_description(from._internal_description());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_actionable_url(from._internal_actionable_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_id(from._internal_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.importance_score_ = from._impl_.importance_score_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.status_ = from._impl_.status_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ContextHubAutoTodoItem::CopyFrom(const ContextHubAutoTodoItem& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.ContextHubAutoTodoItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ContextHubAutoTodoItem::InternalSwap(ContextHubAutoTodoItem* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.todo_ids_mergeds_.InternalSwap(&other->_impl_.todo_ids_mergeds_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.actionable_url_, &other->_impl_.actionable_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, &other->_impl_.id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.status_)
      + sizeof(ContextHubAutoTodoItem::_impl_.status_)
      - PROTOBUF_FIELD_OFFSET(ContextHubAutoTodoItem, _impl_.importance_score_)>(
          reinterpret_cast<char*>(&_impl_.importance_score_),
          reinterpret_cast<char*>(&other->_impl_.importance_score_));
}

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

void ContextHubResponse::set_allocated_group_response(::optimization_guide::proto::GroupResponse* PROTOBUF_NULLABLE group_response) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature_response();
  if (group_response) {
    ::google::protobuf::Arena* submessage_arena = group_response->GetArena();
    if (message_arena != submessage_arena) {
      group_response = ::google::protobuf::internal::GetOwnedMessage(message_arena, group_response, submessage_arena);
    }
    set_has_group_response();
    _impl_.feature_response_.group_response_ = group_response;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContextHubResponse.group_response)
}
void ContextHubResponse::set_allocated_memory_bank_chat_response(::optimization_guide::proto::MemoryBankChatResponse* PROTOBUF_NULLABLE memory_bank_chat_response) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature_response();
  if (memory_bank_chat_response) {
    ::google::protobuf::Arena* submessage_arena = memory_bank_chat_response->GetArena();
    if (message_arena != submessage_arena) {
      memory_bank_chat_response = ::google::protobuf::internal::GetOwnedMessage(message_arena, memory_bank_chat_response, submessage_arena);
    }
    set_has_memory_bank_chat_response();
    _impl_.feature_response_.memory_bank_chat_response_ = memory_bank_chat_response;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContextHubResponse.memory_bank_chat_response)
}
void ContextHubResponse::set_allocated_browser_based_todos_response(::optimization_guide::proto::BrowserBasedTodosResponse* PROTOBUF_NULLABLE browser_based_todos_response) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature_response();
  if (browser_based_todos_response) {
    ::google::protobuf::Arena* submessage_arena = browser_based_todos_response->GetArena();
    if (message_arena != submessage_arena) {
      browser_based_todos_response = ::google::protobuf::internal::GetOwnedMessage(message_arena, browser_based_todos_response, submessage_arena);
    }
    set_has_browser_based_todos_response();
    _impl_.feature_response_.browser_based_todos_response_ = browser_based_todos_response;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContextHubResponse.browser_based_todos_response)
}
void ContextHubResponse::set_allocated_auto_todos_deduplication_response(::optimization_guide::proto::AutoTodosDeduplicationResponse* PROTOBUF_NULLABLE auto_todos_deduplication_response) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature_response();
  if (auto_todos_deduplication_response) {
    ::google::protobuf::Arena* submessage_arena = auto_todos_deduplication_response->GetArena();
    if (message_arena != submessage_arena) {
      auto_todos_deduplication_response = ::google::protobuf::internal::GetOwnedMessage(message_arena, auto_todos_deduplication_response, submessage_arena);
    }
    set_has_auto_todos_deduplication_response();
    _impl_.feature_response_.auto_todos_deduplication_response_ = auto_todos_deduplication_response;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContextHubResponse.auto_todos_deduplication_response)
}
ContextHubResponse::ContextHubResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextHubResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ContextHubResponse)
}
PROTOBUF_NDEBUG_INLINE ContextHubResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ContextHubResponse& from_msg)
      : feature_response_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

ContextHubResponse::ContextHubResponse(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ContextHubResponse& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextHubResponse_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ContextHubResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (feature_response_case()) {
    case FEATURE_RESPONSE_NOT_SET:
      break;
      case kGroupResponse:
        _impl_.feature_response_.group_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_response_.group_response_);
        break;
      case kMemoryBankChatResponse:
        _impl_.feature_response_.memory_bank_chat_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_response_.memory_bank_chat_response_);
        break;
      case kBrowserBasedTodosResponse:
        _impl_.feature_response_.browser_based_todos_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_response_.browser_based_todos_response_);
        break;
      case kAutoTodosDeduplicationResponse:
        _impl_.feature_response_.auto_todos_deduplication_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_response_.auto_todos_deduplication_response_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ContextHubResponse)
}
PROTOBUF_NDEBUG_INLINE ContextHubResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : feature_response_{},
        _cached_size_{0},
        _oneof_case_{} {}

inline void ContextHubResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ContextHubResponse::~ContextHubResponse() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ContextHubResponse)
  SharedDtor(*this);
}
inline void ContextHubResponse::SharedDtor(MessageLite& self) {
  ContextHubResponse& this_ = static_cast<ContextHubResponse&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  if (this_.has_feature_response()) {
    this_.clear_feature_response();
  }
  this_._impl_.~Impl_();
}

void ContextHubResponse::clear_feature_response() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.ContextHubResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (feature_response_case()) {
    case kGroupResponse: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_response_.group_response_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_response_.group_response_ != nullptr) {
          _impl_.feature_response_.group_response_->Clear();
        }
      }
      break;
    }
    case kMemoryBankChatResponse: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_response_.memory_bank_chat_response_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_response_.memory_bank_chat_response_ != nullptr) {
          _impl_.feature_response_.memory_bank_chat_response_->Clear();
        }
      }
      break;
    }
    case kBrowserBasedTodosResponse: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_response_.browser_based_todos_response_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_response_.browser_based_todos_response_ != nullptr) {
          _impl_.feature_response_.browser_based_todos_response_->Clear();
        }
      }
      break;
    }
    case kAutoTodosDeduplicationResponse: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_response_.auto_todos_deduplication_response_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_response_.auto_todos_deduplication_response_ != nullptr) {
          _impl_.feature_response_.auto_todos_deduplication_response_->Clear();
        }
      }
      break;
    }
    case FEATURE_RESPONSE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = FEATURE_RESPONSE_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContextHubResponse_class_data_ =
    ContextHubResponse::InternalGenerateClassData_(ContextHubResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContextHubResponse::GetClassData() const {
  return ContextHubResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContextHubResponse::GetClassData() const {
  return ContextHubResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ContextHubResponse::ParseTableT_
    ContextHubResponse::_table_ =
        ContextHubResponse::InternalGenerateParseTable_(ContextHubResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ContextHubResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ContextHubResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_feature_response();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ContextHubResponse::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ContextHubResponse& this_ = static_cast<const ContextHubResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ContextHubResponse::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ContextHubResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.ContextHubResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  switch (this_.feature_response_case()) {
    case kGroupResponse: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, *this_._impl_.feature_response_.group_response_, this_._impl_.feature_response_.group_response_->GetCachedSize(), target,
          stream);
      break;
    }
    case kMemoryBankChatResponse: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.feature_response_.memory_bank_chat_response_, this_._impl_.feature_response_.memory_bank_chat_response_->GetCachedSize(), target,
          stream);
      break;
    }
    case kBrowserBasedTodosResponse: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.feature_response_.browser_based_todos_response_, this_._impl_.feature_response_.browser_based_todos_response_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAutoTodosDeduplicationResponse: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.feature_response_.auto_todos_deduplication_response_, this_._impl_.feature_response_.auto_todos_deduplication_response_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ContextHubResponse)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ContextHubResponse::ByteSizeLong(const MessageLite& base) {
  const ContextHubResponse& this_ = static_cast<const ContextHubResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ContextHubResponse::ByteSizeLong() const {
  const ContextHubResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ContextHubResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  switch (this_.feature_response_case()) {
    // .optimization_guide.proto.GroupResponse group_response = 1;
    case kGroupResponse: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_response_.group_response_);
      break;
    }
    // .optimization_guide.proto.MemoryBankChatResponse memory_bank_chat_response = 2;
    case kMemoryBankChatResponse: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_response_.memory_bank_chat_response_);
      break;
    }
    // .optimization_guide.proto.BrowserBasedTodosResponse browser_based_todos_response = 3;
    case kBrowserBasedTodosResponse: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_response_.browser_based_todos_response_);
      break;
    }
    // .optimization_guide.proto.AutoTodosDeduplicationResponse auto_todos_deduplication_response = 4;
    case kAutoTodosDeduplicationResponse: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_response_.auto_todos_deduplication_response_);
      break;
    }
    case FEATURE_RESPONSE_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ContextHubResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContextHubResponse*>(&to_msg);
  auto& from = static_cast<const ContextHubResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContextHubResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_feature_response();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kGroupResponse: {
        if (oneof_needs_init) {
          _this->_impl_.feature_response_.group_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_response_.group_response_);
        } else {
          _this->_impl_.feature_response_.group_response_->CheckTypeAndMergeFrom(*from._impl_.feature_response_.group_response_);
        }
        break;
      }
      case kMemoryBankChatResponse: {
        if (oneof_needs_init) {
          _this->_impl_.feature_response_.memory_bank_chat_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_response_.memory_bank_chat_response_);
        } else {
          _this->_impl_.feature_response_.memory_bank_chat_response_->CheckTypeAndMergeFrom(*from._impl_.feature_response_.memory_bank_chat_response_);
        }
        break;
      }
      case kBrowserBasedTodosResponse: {
        if (oneof_needs_init) {
          _this->_impl_.feature_response_.browser_based_todos_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_response_.browser_based_todos_response_);
        } else {
          _this->_impl_.feature_response_.browser_based_todos_response_->CheckTypeAndMergeFrom(*from._impl_.feature_response_.browser_based_todos_response_);
        }
        break;
      }
      case kAutoTodosDeduplicationResponse: {
        if (oneof_needs_init) {
          _this->_impl_.feature_response_.auto_todos_deduplication_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_response_.auto_todos_deduplication_response_);
        } else {
          _this->_impl_.feature_response_.auto_todos_deduplication_response_->CheckTypeAndMergeFrom(*from._impl_.feature_response_.auto_todos_deduplication_response_);
        }
        break;
      }
      case FEATURE_RESPONSE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ContextHubResponse::CopyFrom(const ContextHubResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.ContextHubResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ContextHubResponse::InternalSwap(ContextHubResponse* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.feature_response_, other->_impl_.feature_response_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

void GroupResponse::clear_tab_groups() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tab_groups_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
void GroupResponse::clear_minimal_tab_groups() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.minimal_tab_groups_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
GroupResponse::GroupResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GroupResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.GroupResponse)
}
PROTOBUF_NDEBUG_INLINE GroupResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::GroupResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        tab_groups_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::GroupResponse,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GroupResponse, _impl_.tab_groups_)>()
          , from.tab_groups_
        }
        ,
        minimal_tab_groups_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::GroupResponse,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GroupResponse, _impl_.minimal_tab_groups_)>()
          , from.minimal_tab_groups_
        }
        ,
        ungrouped_tab_ids_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::GroupResponse,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GroupResponse, _impl_.ungrouped_tab_ids_)>()
          , from.ungrouped_tab_ids_
        }
        ,
        _ungrouped_tab_ids_cached_byte_size_{0},
        text_response_(arena, from.text_response_) {}

GroupResponse::GroupResponse(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const GroupResponse& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GroupResponse_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GroupResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.GroupResponse)
}
PROTOBUF_NDEBUG_INLINE GroupResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        tab_groups_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::GroupResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GroupResponse, _impl_.tab_groups_)>()
         }
        ,
        minimal_tab_groups_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::GroupResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GroupResponse, _impl_.minimal_tab_groups_)>()
         }
        ,
        ungrouped_tab_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::GroupResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GroupResponse, _impl_.ungrouped_tab_ids_)>()
         }
        ,
        _ungrouped_tab_ids_cached_byte_size_{0},
        text_response_(arena) {}

inline void GroupResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GroupResponse::~GroupResponse() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.GroupResponse)
  SharedDtor(*this);
}
inline void GroupResponse::SharedDtor(MessageLite& self) {
  GroupResponse& this_ = static_cast<GroupResponse&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.text_response_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite GroupResponse_class_data_ =
    GroupResponse::InternalGenerateClassData_(GroupResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GroupResponse::GetClassData() const {
  return GroupResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GroupResponse::GetClassData() const {
  return GroupResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GroupResponse::ParseTableT_
    GroupResponse::_table_ =
        GroupResponse::InternalGenerateParseTable_(GroupResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GroupResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.GroupResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.tab_groups_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.minimal_tab_groups_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.ungrouped_tab_ids_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.text_response_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL GroupResponse::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const GroupResponse& this_ = static_cast<const GroupResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL GroupResponse::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const GroupResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.GroupResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.TabGroup tab_groups = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_tab_groups_size());
         i < n; i++) {
      const auto& repfield = this_._internal_tab_groups().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .optimization_guide.proto.TabGroupMinimal minimal_tab_groups = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_minimal_tab_groups_size());
         i < n; i++) {
      const auto& repfield = this_._internal_minimal_tab_groups().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated int64 ungrouped_tab_ids = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    {
      int byte_size = this_._impl_._ungrouped_tab_ids_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt64Packed(
            3, this_._internal_ungrouped_tab_ids(), byte_size, target);
      }
    }
  }

  // string text_response = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_text_response();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.GroupResponse.text_response");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.GroupResponse)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GroupResponse::ByteSizeLong(const MessageLite& base) {
  const GroupResponse& this_ = static_cast<const GroupResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GroupResponse::ByteSizeLong() const {
  const GroupResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.GroupResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // repeated .optimization_guide.proto.TabGroup tab_groups = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_tab_groups_size();
      for (const auto& msg : this_._internal_tab_groups()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.TabGroupMinimal minimal_tab_groups = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_minimal_tab_groups_size();
      for (const auto& msg : this_._internal_minimal_tab_groups()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated int64 ungrouped_tab_ids = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
              this_._internal_ungrouped_tab_ids(), 1,
              this_._impl_._ungrouped_tab_ids_cached_byte_size_);
    }
    // string text_response = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text_response());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void GroupResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GroupResponse*>(&to_msg);
  auto& from = static_cast<const GroupResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.GroupResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_tab_groups()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_tab_groups());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_minimal_tab_groups()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_minimal_tab_groups());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_ungrouped_tab_ids()->MergeFrom(from._internal_ungrouped_tab_ids());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_text_response(from._internal_text_response());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void GroupResponse::CopyFrom(const GroupResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.GroupResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void GroupResponse::InternalSwap(GroupResponse* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.tab_groups_.InternalSwap(&other->_impl_.tab_groups_);
  _impl_.minimal_tab_groups_.InternalSwap(&other->_impl_.minimal_tab_groups_);
  _impl_.ungrouped_tab_ids_.InternalSwap(&other->_impl_.ungrouped_tab_ids_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.text_response_, &other->_impl_.text_response_, arena);
}

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

MemoryBankChatResponse::MemoryBankChatResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MemoryBankChatResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.MemoryBankChatResponse)
}
PROTOBUF_NDEBUG_INLINE MemoryBankChatResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::MemoryBankChatResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        text_response_(arena, from.text_response_) {}

MemoryBankChatResponse::MemoryBankChatResponse(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const MemoryBankChatResponse& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MemoryBankChatResponse_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MemoryBankChatResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.MemoryBankChatResponse)
}
PROTOBUF_NDEBUG_INLINE MemoryBankChatResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        text_response_(arena) {}

inline void MemoryBankChatResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
MemoryBankChatResponse::~MemoryBankChatResponse() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.MemoryBankChatResponse)
  SharedDtor(*this);
}
inline void MemoryBankChatResponse::SharedDtor(MessageLite& self) {
  MemoryBankChatResponse& this_ = static_cast<MemoryBankChatResponse&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.text_response_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite MemoryBankChatResponse_class_data_ =
    MemoryBankChatResponse::InternalGenerateClassData_(MemoryBankChatResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MemoryBankChatResponse::GetClassData() const {
  return MemoryBankChatResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MemoryBankChatResponse::GetClassData() const {
  return MemoryBankChatResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const MemoryBankChatResponse::ParseTableT_
    MemoryBankChatResponse::_table_ =
        MemoryBankChatResponse::InternalGenerateParseTable_(MemoryBankChatResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void MemoryBankChatResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.MemoryBankChatResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.text_response_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL MemoryBankChatResponse::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const MemoryBankChatResponse& this_ = static_cast<const MemoryBankChatResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL MemoryBankChatResponse::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const MemoryBankChatResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.MemoryBankChatResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string text_response = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_text_response();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MemoryBankChatResponse.text_response");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.MemoryBankChatResponse)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MemoryBankChatResponse::ByteSizeLong(const MessageLite& base) {
  const MemoryBankChatResponse& this_ = static_cast<const MemoryBankChatResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MemoryBankChatResponse::ByteSizeLong() const {
  const MemoryBankChatResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.MemoryBankChatResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

   {
    // string text_response = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text_response());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void MemoryBankChatResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MemoryBankChatResponse*>(&to_msg);
  auto& from = static_cast<const MemoryBankChatResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.MemoryBankChatResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_set_text_response(from._internal_text_response());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void MemoryBankChatResponse::CopyFrom(const MemoryBankChatResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.MemoryBankChatResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void MemoryBankChatResponse::InternalSwap(MemoryBankChatResponse* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.text_response_, &other->_impl_.text_response_, arena);
}

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

BrowserBasedTodosResponse::BrowserBasedTodosResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BrowserBasedTodosResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.BrowserBasedTodosResponse)
}
PROTOBUF_NDEBUG_INLINE BrowserBasedTodosResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::BrowserBasedTodosResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        todo_title_(arena, from.todo_title_),
        todo_description_(arena, from.todo_description_) {}

BrowserBasedTodosResponse::BrowserBasedTodosResponse(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const BrowserBasedTodosResponse& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BrowserBasedTodosResponse_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  BrowserBasedTodosResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, tab_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, tab_id_),
           offsetof(Impl_, group_type_) -
               offsetof(Impl_, tab_id_) +
               sizeof(Impl_::group_type_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.BrowserBasedTodosResponse)
}
PROTOBUF_NDEBUG_INLINE BrowserBasedTodosResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        todo_title_(arena),
        todo_description_(arena) {}

inline void BrowserBasedTodosResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, tab_id_),
           0,
           offsetof(Impl_, group_type_) -
               offsetof(Impl_, tab_id_) +
               sizeof(Impl_::group_type_));
}
BrowserBasedTodosResponse::~BrowserBasedTodosResponse() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.BrowserBasedTodosResponse)
  SharedDtor(*this);
}
inline void BrowserBasedTodosResponse::SharedDtor(MessageLite& self) {
  BrowserBasedTodosResponse& this_ = static_cast<BrowserBasedTodosResponse&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.todo_title_.Destroy();
  this_._impl_.todo_description_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BrowserBasedTodosResponse_class_data_ =
    BrowserBasedTodosResponse::InternalGenerateClassData_(BrowserBasedTodosResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BrowserBasedTodosResponse::GetClassData() const {
  return BrowserBasedTodosResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BrowserBasedTodosResponse::GetClassData() const {
  return BrowserBasedTodosResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BrowserBasedTodosResponse::ParseTableT_
    BrowserBasedTodosResponse::_table_ =
        BrowserBasedTodosResponse::InternalGenerateParseTable_(BrowserBasedTodosResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BrowserBasedTodosResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.BrowserBasedTodosResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.todo_title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.todo_description_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
    ::memset(&_impl_.tab_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.group_type_) -
        reinterpret_cast<char*>(&_impl_.tab_id_)) + sizeof(_impl_.group_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL BrowserBasedTodosResponse::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const BrowserBasedTodosResponse& this_ = static_cast<const BrowserBasedTodosResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL BrowserBasedTodosResponse::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const BrowserBasedTodosResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.BrowserBasedTodosResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // int64 tab_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_tab_id(), target);
  }

  // .optimization_guide.proto.BrowserBasedTodosResponse.GroupType group_type = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_group_type(), target);
  }

  // string todo_title = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_todo_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.BrowserBasedTodosResponse.todo_title");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string todo_description = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_todo_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.BrowserBasedTodosResponse.todo_description");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.BrowserBasedTodosResponse)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BrowserBasedTodosResponse::ByteSizeLong(const MessageLite& base) {
  const BrowserBasedTodosResponse& this_ = static_cast<const BrowserBasedTodosResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BrowserBasedTodosResponse::ByteSizeLong() const {
  const BrowserBasedTodosResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.BrowserBasedTodosResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // string todo_title = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_todo_title());
    }
    // string todo_description = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_todo_description());
    }
    // int64 tab_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_tab_id());
    }
    // .optimization_guide.proto.BrowserBasedTodosResponse.GroupType group_type = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_group_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void BrowserBasedTodosResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BrowserBasedTodosResponse*>(&to_msg);
  auto& from = static_cast<const BrowserBasedTodosResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.BrowserBasedTodosResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_todo_title(from._internal_todo_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_todo_description(from._internal_todo_description());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.group_type_ = from._impl_.group_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void BrowserBasedTodosResponse::CopyFrom(const BrowserBasedTodosResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.BrowserBasedTodosResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void BrowserBasedTodosResponse::InternalSwap(BrowserBasedTodosResponse* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.todo_title_, &other->_impl_.todo_title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.todo_description_, &other->_impl_.todo_description_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.group_type_)
      + sizeof(BrowserBasedTodosResponse::_impl_.group_type_)
      - PROTOBUF_FIELD_OFFSET(BrowserBasedTodosResponse, _impl_.tab_id_)>(
          reinterpret_cast<char*>(&_impl_.tab_id_),
          reinterpret_cast<char*>(&other->_impl_.tab_id_));
}

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

AutoTodosDeduplicationResponse::AutoTodosDeduplicationResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutoTodosDeduplicationResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AutoTodosDeduplicationResponse)
}
PROTOBUF_NDEBUG_INLINE AutoTodosDeduplicationResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AutoTodosDeduplicationResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        deduplicated_todos_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AutoTodosDeduplicationResponse,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutoTodosDeduplicationResponse, _impl_.deduplicated_todos_)>()
          , from.deduplicated_todos_
        }
     {}

AutoTodosDeduplicationResponse::AutoTodosDeduplicationResponse(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AutoTodosDeduplicationResponse& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutoTodosDeduplicationResponse_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AutoTodosDeduplicationResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AutoTodosDeduplicationResponse)
}
PROTOBUF_NDEBUG_INLINE AutoTodosDeduplicationResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        deduplicated_todos_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AutoTodosDeduplicationResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutoTodosDeduplicationResponse, _impl_.deduplicated_todos_)>()
         }
     {}

inline void AutoTodosDeduplicationResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AutoTodosDeduplicationResponse::~AutoTodosDeduplicationResponse() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AutoTodosDeduplicationResponse)
  SharedDtor(*this);
}
inline void AutoTodosDeduplicationResponse::SharedDtor(MessageLite& self) {
  AutoTodosDeduplicationResponse& this_ = static_cast<AutoTodosDeduplicationResponse&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AutoTodosDeduplicationResponse_class_data_ =
    AutoTodosDeduplicationResponse::InternalGenerateClassData_(AutoTodosDeduplicationResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutoTodosDeduplicationResponse::GetClassData() const {
  return AutoTodosDeduplicationResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutoTodosDeduplicationResponse::GetClassData() const {
  return AutoTodosDeduplicationResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AutoTodosDeduplicationResponse::ParseTableT_
    AutoTodosDeduplicationResponse::_table_ =
        AutoTodosDeduplicationResponse::InternalGenerateParseTable_(AutoTodosDeduplicationResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AutoTodosDeduplicationResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AutoTodosDeduplicationResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.deduplicated_todos_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL AutoTodosDeduplicationResponse::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const AutoTodosDeduplicationResponse& this_ = static_cast<const AutoTodosDeduplicationResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL AutoTodosDeduplicationResponse::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const AutoTodosDeduplicationResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.AutoTodosDeduplicationResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.ContextHubAutoTodoItem deduplicated_todos = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_deduplicated_todos_size());
         i < n; i++) {
      const auto& repfield = this_._internal_deduplicated_todos().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AutoTodosDeduplicationResponse)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AutoTodosDeduplicationResponse::ByteSizeLong(const MessageLite& base) {
  const AutoTodosDeduplicationResponse& this_ = static_cast<const AutoTodosDeduplicationResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AutoTodosDeduplicationResponse::ByteSizeLong() const {
  const AutoTodosDeduplicationResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AutoTodosDeduplicationResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .optimization_guide.proto.ContextHubAutoTodoItem deduplicated_todos = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_deduplicated_todos_size();
      for (const auto& msg : this_._internal_deduplicated_todos()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AutoTodosDeduplicationResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AutoTodosDeduplicationResponse*>(&to_msg);
  auto& from = static_cast<const AutoTodosDeduplicationResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AutoTodosDeduplicationResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_mutable_deduplicated_todos()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_deduplicated_todos());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void AutoTodosDeduplicationResponse::CopyFrom(const AutoTodosDeduplicationResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.AutoTodosDeduplicationResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void AutoTodosDeduplicationResponse::InternalSwap(AutoTodosDeduplicationResponse* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.deduplicated_todos_.InternalSwap(&other->_impl_.deduplicated_todos_);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace proto
}  // namespace optimization_guide
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
