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

#include "components/optimization_guide/proto/features/actions_data.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 YieldToUserAction::_Internal {
 public:
};

constexpr YieldToUserAction::ParseTableT_ YieldToUserAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(YieldToUserAction,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // 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::YieldToUserAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr YieldToUserAction::YieldToUserAction(::_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 YieldToUserAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) YieldToUserAction(arena);
}
constexpr auto YieldToUserAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(YieldToUserAction), alignof(YieldToUserAction));
}
constexpr auto YieldToUserAction::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
          &YieldToUserAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<YieldToUserAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &YieldToUserAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<YieldToUserAction>(), &YieldToUserAction::ByteSizeLong,
              &YieldToUserAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(YieldToUserAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.YieldToUserAction",
  };
}
struct YieldToUserActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr YieldToUserActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 YieldToUserAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(YieldToUserAction::InternalGenerateClassData_(
            _default, &YieldToUserAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<YieldToUserAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~YieldToUserActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) YieldToUserAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<YieldToUserAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(YieldToUserActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr WindowObservation::ParseTableT_ WindowObservation::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WindowObservation, _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::WindowObservation>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated int32 tab_ids = 4;
      {::_pbi::TcParser::FastV32P1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.tab_ids_)}},
      // int32 id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.id_)}},
      // int32 activated_tab_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.activated_tab_id_)}},
      // bool active = 3 [features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.active_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 activated_tab_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.activated_tab_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool active = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.active_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // repeated int32 tab_ids = 4;
      {PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.tab_ids_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr WindowObservation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        tab_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::WindowObservation,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::WindowObservation, _impl_.tab_ids_)>()
         }
        ,
        _tab_ids_cached_byte_size_{0},
        id_{0},
        activated_tab_id_{0},
        active_{false} {}

template <typename>
constexpr WindowObservation::WindowObservation(::_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 WindowObservation::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WindowObservation(arena);
}
constexpr auto WindowObservation::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(WindowObservation), alignof(WindowObservation));
}
constexpr auto WindowObservation::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
          &WindowObservation::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WindowObservation>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WindowObservation::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WindowObservation>(), &WindowObservation::ByteSizeLong,
              &WindowObservation::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.WindowObservation",
  };
}
struct WindowObservationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WindowObservationGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WindowObservation_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WindowObservation::InternalGenerateClassData_(
            _default, &WindowObservation_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WindowObservation>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WindowObservationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WindowObservation _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WindowObservation>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WindowObservationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr WaitAction::ParseTableT_ WaitAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WaitAction, _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
      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::WaitAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 observe_tab_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(WaitAction, _impl_.observe_tab_id_)}},
      // int32 wait_time_ms = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(WaitAction, _impl_.wait_time_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 wait_time_ms = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(WaitAction, _impl_.wait_time_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 observe_tab_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(WaitAction, _impl_.observe_tab_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr WaitAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        wait_time_ms_{0},
        observe_tab_id_{0} {}

template <typename>
constexpr WaitAction::WaitAction(::_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 WaitAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WaitAction(arena);
}
constexpr auto WaitAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(WaitAction), alignof(WaitAction));
}
constexpr auto WaitAction::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
          &WaitAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WaitAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WaitAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WaitAction>(), &WaitAction::ByteSizeLong,
              &WaitAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WaitAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.WaitAction",
  };
}
struct WaitActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WaitActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WaitAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WaitAction::InternalGenerateClassData_(
            _default, &WaitAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WaitAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WaitActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WaitAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WaitAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WaitActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TranslatePageAction::ParseTableT_ TranslatePageAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TranslatePageAction, _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
      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::TranslatePageAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(TranslatePageAction, _impl_.tab_id_)}},
      // string target_language = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TranslatePageAction, _impl_.target_language_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string target_language = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TranslatePageAction, _impl_.target_language_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int32 tab_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(TranslatePageAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
      "\54\17\0\0\0\0\0\0"
      "optimization_guide.proto.TranslatePageAction"
      "target_language"
    }},
  };
}


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

template <typename>
constexpr TranslatePageAction::TranslatePageAction(::_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 TranslatePageAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TranslatePageAction(arena);
}
constexpr auto TranslatePageAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TranslatePageAction), alignof(TranslatePageAction));
}
constexpr auto TranslatePageAction::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
          &TranslatePageAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TranslatePageAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TranslatePageAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TranslatePageAction>(), &TranslatePageAction::ByteSizeLong,
              &TranslatePageAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TranslatePageAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TranslatePageAction",
  };
}
struct TranslatePageActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TranslatePageActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TranslatePageAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TranslatePageAction::InternalGenerateClassData_(
            _default, &TranslatePageAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TranslatePageAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TranslatePageActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TranslatePageAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TranslatePageAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TranslatePageActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SeekMediaAction::ParseTableT_ SeekMediaAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SeekMediaAction, _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
      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::SeekMediaAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int64 seek_time_milliseconds = 2 [features = {
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(SeekMediaAction, _impl_.seek_time_milliseconds_)}},
      // int64 seek_time_microseconds = 1 [deprecated = true, features = {
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(SeekMediaAction, _impl_.seek_time_microseconds_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 seek_time_microseconds = 1 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(SeekMediaAction, _impl_.seek_time_microseconds_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // int64 seek_time_milliseconds = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(SeekMediaAction, _impl_.seek_time_milliseconds_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SeekMediaAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        seek_time_microseconds_{::int64_t{0}},
        seek_time_milliseconds_{::int64_t{0}} {}

template <typename>
constexpr SeekMediaAction::SeekMediaAction(::_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 SeekMediaAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SeekMediaAction(arena);
}
constexpr auto SeekMediaAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SeekMediaAction), alignof(SeekMediaAction));
}
constexpr auto SeekMediaAction::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
          &SeekMediaAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SeekMediaAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SeekMediaAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SeekMediaAction>(), &SeekMediaAction::ByteSizeLong,
              &SeekMediaAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SeekMediaAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.SeekMediaAction",
  };
}
struct SeekMediaActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SeekMediaActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SeekMediaAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SeekMediaAction::InternalGenerateClassData_(
            _default, &SeekMediaAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SeekMediaAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SeekMediaActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SeekMediaAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SeekMediaAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SeekMediaActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScreenshotCollectionOptions::ParseTableT_ ScreenshotCollectionOptions::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _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::ScreenshotCollectionOptions>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.CompressionQuality compression_quality = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_.compression_quality_)}},
      // int32 max_width = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_.max_width_)}},
      // int32 max_height = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_.max_height_)}},
      // .optimization_guide.proto.ScreenshotImageFormat screenshot_format = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_.screenshot_format_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 max_width = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_.max_width_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 max_height = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_.max_height_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.ScreenshotImageFormat screenshot_format = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_.screenshot_format_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.CompressionQuality compression_quality = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_.compression_quality_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr ScreenshotCollectionOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        max_width_{0},
        max_height_{0},
        screenshot_format_{static_cast< ::optimization_guide::proto::ScreenshotImageFormat >(0)},
        compression_quality_{static_cast< ::optimization_guide::proto::CompressionQuality >(0)} {}

template <typename>
constexpr ScreenshotCollectionOptions::ScreenshotCollectionOptions(::_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 ScreenshotCollectionOptions::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScreenshotCollectionOptions(arena);
}
constexpr auto ScreenshotCollectionOptions::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ScreenshotCollectionOptions), alignof(ScreenshotCollectionOptions));
}
constexpr auto ScreenshotCollectionOptions::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
          &ScreenshotCollectionOptions::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScreenshotCollectionOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScreenshotCollectionOptions::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScreenshotCollectionOptions>(), &ScreenshotCollectionOptions::ByteSizeLong,
              &ScreenshotCollectionOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ScreenshotCollectionOptions",
  };
}
struct ScreenshotCollectionOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScreenshotCollectionOptionsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScreenshotCollectionOptions_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScreenshotCollectionOptions::InternalGenerateClassData_(
            _default, &ScreenshotCollectionOptions_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScreenshotCollectionOptions>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScreenshotCollectionOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScreenshotCollectionOptions _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScreenshotCollectionOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ScreenshotCollectionOptionsGlobalsTypeInternal ScreenshotCollectionOptions_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ScreenshotCollectionOptions_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ScreenshotCollectionOptions_globals_.GetClassData();
#else
  return ScreenshotCollectionOptions_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PlayMediaAction::_Internal {
 public:
};

constexpr PlayMediaAction::ParseTableT_ PlayMediaAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PlayMediaAction,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // 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::PlayMediaAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr PlayMediaAction::PlayMediaAction(::_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 PlayMediaAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PlayMediaAction(arena);
}
constexpr auto PlayMediaAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PlayMediaAction), alignof(PlayMediaAction));
}
constexpr auto PlayMediaAction::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
          &PlayMediaAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PlayMediaAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PlayMediaAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PlayMediaAction>(), &PlayMediaAction::ByteSizeLong,
              &PlayMediaAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PlayMediaAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.PlayMediaAction",
  };
}
struct PlayMediaActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PlayMediaActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PlayMediaAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PlayMediaAction::InternalGenerateClassData_(
            _default, &PlayMediaAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PlayMediaAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PlayMediaActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PlayMediaAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PlayMediaAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PlayMediaActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PlayMediaActionGlobalsTypeInternal PlayMediaAction_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PlayMediaAction_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PlayMediaAction_globals_.GetClassData();
#else
  return PlayMediaAction_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PauseMediaAction::_Internal {
 public:
};

constexpr PauseMediaAction::ParseTableT_ PauseMediaAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PauseMediaAction,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // 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::PauseMediaAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr PauseMediaAction::PauseMediaAction(::_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 PauseMediaAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PauseMediaAction(arena);
}
constexpr auto PauseMediaAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PauseMediaAction), alignof(PauseMediaAction));
}
constexpr auto PauseMediaAction::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
          &PauseMediaAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PauseMediaAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PauseMediaAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PauseMediaAction>(), &PauseMediaAction::ByteSizeLong,
              &PauseMediaAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PauseMediaAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.PauseMediaAction",
  };
}
struct PauseMediaActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PauseMediaActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PauseMediaAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PauseMediaAction::InternalGenerateClassData_(
            _default, &PauseMediaAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PauseMediaAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PauseMediaActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PauseMediaAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PauseMediaAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PauseMediaActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr NavigateAction::ParseTableT_ NavigateAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NavigateAction, _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
      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::NavigateAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(NavigateAction, _impl_.tab_id_)}},
      // string url = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(NavigateAction, _impl_.url_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string url = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(NavigateAction, _impl_.url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int32 tab_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(NavigateAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
      "\47\3\0\0\0\0\0\0"
      "optimization_guide.proto.NavigateAction"
      "url"
    }},
  };
}


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

template <typename>
constexpr NavigateAction::NavigateAction(::_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 NavigateAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) NavigateAction(arena);
}
constexpr auto NavigateAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(NavigateAction), alignof(NavigateAction));
}
constexpr auto NavigateAction::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
          &NavigateAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<NavigateAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &NavigateAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<NavigateAction>(), &NavigateAction::ByteSizeLong,
              &NavigateAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(NavigateAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.NavigateAction",
  };
}
struct NavigateActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr NavigateActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 NavigateAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(NavigateAction::InternalGenerateClassData_(
            _default, &NavigateAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<NavigateAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~NavigateActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) NavigateAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<NavigateAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(NavigateActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr LoadAndExtractContentAction::ParseTableT_ LoadAndExtractContentAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(LoadAndExtractContentAction, _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::LoadAndExtractContentAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated string urls = 1;
      {::_pbi::TcParser::FastUR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(LoadAndExtractContentAction, _impl_.urls_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated string urls = 1;
      {PROTOBUF_FIELD_OFFSET(LoadAndExtractContentAction, _impl_.urls_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
      "\64\4\0\0\0\0\0\0"
      "optimization_guide.proto.LoadAndExtractContentAction"
      "urls"
    }},
  };
}


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

template <typename>
constexpr LoadAndExtractContentAction::LoadAndExtractContentAction(::_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 LoadAndExtractContentAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) LoadAndExtractContentAction(arena);
}
constexpr auto LoadAndExtractContentAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(LoadAndExtractContentAction), alignof(LoadAndExtractContentAction));
}
constexpr auto LoadAndExtractContentAction::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
          &LoadAndExtractContentAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<LoadAndExtractContentAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &LoadAndExtractContentAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<LoadAndExtractContentAction>(), &LoadAndExtractContentAction::ByteSizeLong,
              &LoadAndExtractContentAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(LoadAndExtractContentAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.LoadAndExtractContentAction",
  };
}
struct LoadAndExtractContentActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr LoadAndExtractContentActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 LoadAndExtractContentAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(LoadAndExtractContentAction::InternalGenerateClassData_(
            _default, &LoadAndExtractContentAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<LoadAndExtractContentAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~LoadAndExtractContentActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) LoadAndExtractContentAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<LoadAndExtractContentAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(LoadAndExtractContentActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr HistoryForwardAction::ParseTableT_ HistoryForwardAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(HistoryForwardAction, _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::HistoryForwardAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(HistoryForwardAction, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(HistoryForwardAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr HistoryForwardAction::HistoryForwardAction(::_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 HistoryForwardAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) HistoryForwardAction(arena);
}
constexpr auto HistoryForwardAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(HistoryForwardAction), alignof(HistoryForwardAction));
}
constexpr auto HistoryForwardAction::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
          &HistoryForwardAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<HistoryForwardAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &HistoryForwardAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<HistoryForwardAction>(), &HistoryForwardAction::ByteSizeLong,
              &HistoryForwardAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(HistoryForwardAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.HistoryForwardAction",
  };
}
struct HistoryForwardActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr HistoryForwardActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 HistoryForwardAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(HistoryForwardAction::InternalGenerateClassData_(
            _default, &HistoryForwardAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<HistoryForwardAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~HistoryForwardActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) HistoryForwardAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<HistoryForwardAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(HistoryForwardActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr HistoryBackAction::ParseTableT_ HistoryBackAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(HistoryBackAction, _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::HistoryBackAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(HistoryBackAction, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(HistoryBackAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr HistoryBackAction::HistoryBackAction(::_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 HistoryBackAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) HistoryBackAction(arena);
}
constexpr auto HistoryBackAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(HistoryBackAction), alignof(HistoryBackAction));
}
constexpr auto HistoryBackAction::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
          &HistoryBackAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<HistoryBackAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &HistoryBackAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<HistoryBackAction>(), &HistoryBackAction::ByteSizeLong,
              &HistoryBackAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(HistoryBackAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.HistoryBackAction",
  };
}
struct HistoryBackActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr HistoryBackActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 HistoryBackAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(HistoryBackAction::InternalGenerateClassData_(
            _default, &HistoryBackAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<HistoryBackAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~HistoryBackActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) HistoryBackAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<HistoryBackAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(HistoryBackActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST HistoryBackActionGlobalsTypeInternal HistoryBackAction_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* HistoryBackAction_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return HistoryBackAction_globals_.GetClassData();
#else
  return HistoryBackAction_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class CreateWindowAction::_Internal {
 public:
};

constexpr CreateWindowAction::ParseTableT_ CreateWindowAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CreateWindowAction,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // 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::CreateWindowAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr CreateWindowAction::CreateWindowAction(::_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 CreateWindowAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CreateWindowAction(arena);
}
constexpr auto CreateWindowAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CreateWindowAction), alignof(CreateWindowAction));
}
constexpr auto CreateWindowAction::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
          &CreateWindowAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CreateWindowAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CreateWindowAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CreateWindowAction>(), &CreateWindowAction::ByteSizeLong,
              &CreateWindowAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CreateWindowAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.CreateWindowAction",
  };
}
struct CreateWindowActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CreateWindowActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CreateWindowAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CreateWindowAction::InternalGenerateClassData_(
            _default, &CreateWindowAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CreateWindowAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CreateWindowActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CreateWindowAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CreateWindowAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CreateWindowActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr CreateTabAction::ParseTableT_ CreateTabAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CreateTabAction, _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
      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::CreateTabAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // bool foreground = 2 [features = {
      {::_pbi::TcParser::FastV8S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(CreateTabAction, _impl_.foreground_)}},
      // int32 window_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(CreateTabAction, _impl_.window_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 window_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(CreateTabAction, _impl_.window_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool foreground = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(CreateTabAction, _impl_.foreground_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr CreateTabAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        window_id_{0},
        foreground_{false} {}

template <typename>
constexpr CreateTabAction::CreateTabAction(::_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 CreateTabAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CreateTabAction(arena);
}
constexpr auto CreateTabAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CreateTabAction), alignof(CreateTabAction));
}
constexpr auto CreateTabAction::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
          &CreateTabAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CreateTabAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CreateTabAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CreateTabAction>(), &CreateTabAction::ByteSizeLong,
              &CreateTabAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CreateTabAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.CreateTabAction",
  };
}
struct CreateTabActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CreateTabActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CreateTabAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CreateTabAction::InternalGenerateClassData_(
            _default, &CreateTabAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CreateTabAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CreateTabActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CreateTabAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CreateTabAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CreateTabActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr CloseWindowAction::ParseTableT_ CloseWindowAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CloseWindowAction, _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::CloseWindowAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 window_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(CloseWindowAction, _impl_.window_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 window_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(CloseWindowAction, _impl_.window_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr CloseWindowAction::CloseWindowAction(::_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 CloseWindowAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CloseWindowAction(arena);
}
constexpr auto CloseWindowAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CloseWindowAction), alignof(CloseWindowAction));
}
constexpr auto CloseWindowAction::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
          &CloseWindowAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CloseWindowAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CloseWindowAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CloseWindowAction>(), &CloseWindowAction::ByteSizeLong,
              &CloseWindowAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CloseWindowAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.CloseWindowAction",
  };
}
struct CloseWindowActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CloseWindowActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CloseWindowAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CloseWindowAction::InternalGenerateClassData_(
            _default, &CloseWindowAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CloseWindowAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CloseWindowActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CloseWindowAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CloseWindowAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CloseWindowActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr CloseTabAction::ParseTableT_ CloseTabAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CloseTabAction, _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::CloseTabAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(CloseTabAction, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(CloseTabAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr CloseTabAction::CloseTabAction(::_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 CloseTabAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CloseTabAction(arena);
}
constexpr auto CloseTabAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CloseTabAction), alignof(CloseTabAction));
}
constexpr auto CloseTabAction::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
          &CloseTabAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CloseTabAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CloseTabAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CloseTabAction>(), &CloseTabAction::ByteSizeLong,
              &CloseTabAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CloseTabAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.CloseTabAction",
  };
}
struct CloseTabActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CloseTabActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CloseTabAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CloseTabAction::InternalGenerateClassData_(
            _default, &CloseTabAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CloseTabAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CloseTabActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CloseTabAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CloseTabAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CloseTabActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BrowserStartTaskResult::ParseTableT_ BrowserStartTaskResult::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BrowserStartTaskResult, _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::BrowserStartTaskResult>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 task_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(BrowserStartTaskResult, _impl_.task_id_)}},
      // int32 tab_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(BrowserStartTaskResult, _impl_.tab_id_)}},
      // .optimization_guide.proto.BrowserStartTaskResult.StartTaskStatus status = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(BrowserStartTaskResult, _impl_.status_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 task_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(BrowserStartTaskResult, _impl_.task_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 tab_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(BrowserStartTaskResult, _impl_.tab_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.BrowserStartTaskResult.StartTaskStatus status = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(BrowserStartTaskResult, _impl_.status_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr BrowserStartTaskResult::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        task_id_{0},
        tab_id_{0},
        status_{static_cast< ::optimization_guide::proto::BrowserStartTaskResult_StartTaskStatus >(0)} {}

template <typename>
constexpr BrowserStartTaskResult::BrowserStartTaskResult(::_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 BrowserStartTaskResult::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BrowserStartTaskResult(arena);
}
constexpr auto BrowserStartTaskResult::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(BrowserStartTaskResult), alignof(BrowserStartTaskResult));
}
constexpr auto BrowserStartTaskResult::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
          &BrowserStartTaskResult::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BrowserStartTaskResult>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BrowserStartTaskResult::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BrowserStartTaskResult>(), &BrowserStartTaskResult::ByteSizeLong,
              &BrowserStartTaskResult::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BrowserStartTaskResult, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.BrowserStartTaskResult",
  };
}
struct BrowserStartTaskResultGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BrowserStartTaskResultGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BrowserStartTaskResult_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BrowserStartTaskResult::InternalGenerateClassData_(
            _default, &BrowserStartTaskResult_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BrowserStartTaskResult>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BrowserStartTaskResultGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BrowserStartTaskResult _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BrowserStartTaskResult>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BrowserStartTaskResultGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BrowserStartTask::ParseTableT_ BrowserStartTask::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BrowserStartTask, _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::BrowserStartTask>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(BrowserStartTask, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(BrowserStartTask, _impl_.tab_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr BrowserStartTask::BrowserStartTask(::_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 BrowserStartTask::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BrowserStartTask(arena);
}
constexpr auto BrowserStartTask::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(BrowserStartTask), alignof(BrowserStartTask));
}
constexpr auto BrowserStartTask::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
          &BrowserStartTask::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BrowserStartTask>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BrowserStartTask::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BrowserStartTask>(), &BrowserStartTask::ByteSizeLong,
              &BrowserStartTask::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BrowserStartTask, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.BrowserStartTask",
  };
}
struct BrowserStartTaskGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BrowserStartTaskGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BrowserStartTask_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BrowserStartTask::InternalGenerateClassData_(
            _default, &BrowserStartTask_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BrowserStartTask>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BrowserStartTaskGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BrowserStartTask _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BrowserStartTask>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BrowserStartTaskGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ActivateWindowAction::ParseTableT_ ActivateWindowAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActivateWindowAction, _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::ActivateWindowAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 window_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActivateWindowAction, _impl_.window_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 window_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ActivateWindowAction, _impl_.window_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr ActivateWindowAction::ActivateWindowAction(::_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 ActivateWindowAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActivateWindowAction(arena);
}
constexpr auto ActivateWindowAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActivateWindowAction), alignof(ActivateWindowAction));
}
constexpr auto ActivateWindowAction::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
          &ActivateWindowAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActivateWindowAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActivateWindowAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActivateWindowAction>(), &ActivateWindowAction::ByteSizeLong,
              &ActivateWindowAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActivateWindowAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActivateWindowAction",
  };
}
struct ActivateWindowActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActivateWindowActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActivateWindowAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActivateWindowAction::InternalGenerateClassData_(
            _default, &ActivateWindowAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActivateWindowAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActivateWindowActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActivateWindowAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActivateWindowAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActivateWindowActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ActivateTabAction::ParseTableT_ ActivateTabAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActivateTabAction, _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::ActivateTabAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActivateTabAction, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ActivateTabAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr ActivateTabAction::ActivateTabAction(::_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 ActivateTabAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActivateTabAction(arena);
}
constexpr auto ActivateTabAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActivateTabAction), alignof(ActivateTabAction));
}
constexpr auto ActivateTabAction::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
          &ActivateTabAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActivateTabAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActivateTabAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActivateTabAction>(), &ActivateTabAction::ByteSizeLong,
              &ActivateTabAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActivateTabAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActivateTabAction",
  };
}
struct ActivateTabActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActivateTabActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActivateTabAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActivateTabAction::InternalGenerateClassData_(
            _default, &ActivateTabAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActivateTabAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActivateTabActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActivateTabAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActivateTabAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActivateTabActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::ParseTableT_ ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency, _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::ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency, _impl_.id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency(::_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 ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency(arena);
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency), alignof(ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency));
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::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
          &ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency>(), &ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::ByteSizeLong,
              &ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ScreenshotLatency",
  };
}
struct ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatencyGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatencyGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::InternalGenerateClassData_(
            _default, &ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatencyGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatencyGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::ParseTableT_ ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency, _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::ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 action_index = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency, _impl_.action_index_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 action_index = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency, _impl_.action_index_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency(::_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 ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency(arena);
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency), alignof(ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency));
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::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
          &ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency>(), &ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::ByteSizeLong,
              &ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.PageStabilizationLatency",
  };
}
struct ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatencyGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatencyGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::InternalGenerateClassData_(
            _default, &ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatencyGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatencyGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::ParseTableT_ ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency, _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::ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency, _impl_.id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency(::_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 ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency(arena);
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency), alignof(ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency));
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::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
          &ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency>(), &ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::ByteSizeLong,
              &ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.AnnotatedPageContentLatency",
  };
}
struct ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatencyGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatencyGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::InternalGenerateClassData_(
            _default, &ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatencyGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatencyGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ActionsResult_LatencyInformation_LatencyStep_ActionLatency::ParseTableT_ ActionsResult_LatencyInformation_LatencyStep_ActionLatency::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ActionLatency, _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::ActionsResult_LatencyInformation_LatencyStep_ActionLatency>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 action_index = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ActionLatency, _impl_.action_index_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 action_index = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ActionLatency, _impl_.action_index_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr ActionsResult_LatencyInformation_LatencyStep_ActionLatency::ActionsResult_LatencyInformation_LatencyStep_ActionLatency(::_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 ActionsResult_LatencyInformation_LatencyStep_ActionLatency::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActionsResult_LatencyInformation_LatencyStep_ActionLatency(arena);
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep_ActionLatency::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActionsResult_LatencyInformation_LatencyStep_ActionLatency), alignof(ActionsResult_LatencyInformation_LatencyStep_ActionLatency));
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep_ActionLatency::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
          &ActionsResult_LatencyInformation_LatencyStep_ActionLatency::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActionsResult_LatencyInformation_LatencyStep_ActionLatency>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActionsResult_LatencyInformation_LatencyStep_ActionLatency::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActionsResult_LatencyInformation_LatencyStep_ActionLatency>(), &ActionsResult_LatencyInformation_LatencyStep_ActionLatency::ByteSizeLong,
              &ActionsResult_LatencyInformation_LatencyStep_ActionLatency::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ActionLatency, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ActionLatency",
  };
}
struct ActionsResult_LatencyInformation_LatencyStep_ActionLatencyGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionsResult_LatencyInformation_LatencyStep_ActionLatencyGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActionsResult_LatencyInformation_LatencyStep_ActionLatency_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActionsResult_LatencyInformation_LatencyStep_ActionLatency::InternalGenerateClassData_(
            _default, &ActionsResult_LatencyInformation_LatencyStep_ActionLatency_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep_ActionLatency>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionsResult_LatencyInformation_LatencyStep_ActionLatencyGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActionsResult_LatencyInformation_LatencyStep_ActionLatency _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep_ActionLatency>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep_ActionLatencyGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScriptToolAction::ParseTableT_ ScriptToolAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScriptToolAction, _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
      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::ScriptToolAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string input_arguments = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.input_arguments_)}},
      // .optimization_guide.proto.DocumentIdentifier document_identifier = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 2, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.document_identifier_)}},
      // int32 tab_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.tab_id_)}},
      // string tool_name = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.tool_name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.DocumentIdentifier document_identifier = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.document_identifier_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 tab_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // string tool_name = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.tool_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string input_arguments = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.input_arguments_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DocumentIdentifier>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DocumentIdentifier_globals_},
        #endif
    }},
    {{
      "\51\0\0\11\17\0\0\0"
      "optimization_guide.proto.ScriptToolAction"
      "tool_name"
      "input_arguments"
    }},
  };
}


inline constexpr ScriptToolAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        tool_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        input_arguments_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        document_identifier_{nullptr},
        tab_id_{0} {}

template <typename>
constexpr ScriptToolAction::ScriptToolAction(::_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 ScriptToolAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScriptToolAction(arena);
}
constexpr auto ScriptToolAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ScriptToolAction), alignof(ScriptToolAction));
}
constexpr auto ScriptToolAction::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
          &ScriptToolAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScriptToolAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScriptToolAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScriptToolAction>(), &ScriptToolAction::ByteSizeLong,
              &ScriptToolAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ScriptToolAction",
  };
}
struct ScriptToolActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScriptToolActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScriptToolAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScriptToolAction::InternalGenerateClassData_(
            _default, &ScriptToolAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScriptToolAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScriptToolActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScriptToolAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScriptToolAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScriptToolActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ScriptToolActionGlobalsTypeInternal ScriptToolAction_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ScriptToolAction_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ScriptToolAction_globals_.GetClassData();
#else
  return ScriptToolAction_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class MediaControlAction::_Internal {
 public:
  using HasBits = decltype(::std::declval<MediaControlAction>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(MediaControlAction, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::MediaControlAction, _impl_._oneof_case_);
};

constexpr MediaControlAction::ParseTableT_ MediaControlAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MediaControlAction, _impl_._has_bits_),
      0, // no _extensions_
      5, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967265,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // 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::MediaControlAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 0, 0,
        PROTOBUF_FIELD_OFFSET(MediaControlAction, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 tab_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaControlAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.PlayMediaAction play = 3;
      {PROTOBUF_FIELD_OFFSET(MediaControlAction, _impl_.media_control_action_.play_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PauseMediaAction pause = 4;
      {PROTOBUF_FIELD_OFFSET(MediaControlAction, _impl_.media_control_action_.pause_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.SeekMediaAction seek = 5;
      {PROTOBUF_FIELD_OFFSET(MediaControlAction, _impl_.media_control_action_.seek_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PlayMediaAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PlayMediaAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PauseMediaAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PauseMediaAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SeekMediaAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SeekMediaAction_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

template <typename>
constexpr MediaControlAction::MediaControlAction(::_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 MediaControlAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MediaControlAction(arena);
}
constexpr auto MediaControlAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(MediaControlAction), alignof(MediaControlAction));
}
constexpr auto MediaControlAction::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
          &MediaControlAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<MediaControlAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &MediaControlAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<MediaControlAction>(), &MediaControlAction::ByteSizeLong,
              &MediaControlAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(MediaControlAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.MediaControlAction",
  };
}
struct MediaControlActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr MediaControlActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 MediaControlAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(MediaControlAction::InternalGenerateClassData_(
            _default, &MediaControlAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MediaControlAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~MediaControlActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MediaControlAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MediaControlAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(MediaControlActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST MediaControlActionGlobalsTypeInternal MediaControlAction_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* MediaControlAction_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return MediaControlAction_globals_.GetClassData();
#else
  return MediaControlAction_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ActionsResult_LatencyInformation_LatencyStep::_Internal {
 public:
  using HasBits = decltype(::std::declval<ActionsResult_LatencyInformation_LatencyStep>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep, _impl_._oneof_case_);
};

constexpr ActionsResult_LatencyInformation_LatencyStep::ParseTableT_ ActionsResult_LatencyInformation_LatencyStep::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_._has_bits_),
      0, // no _extensions_
      6, 8,  // 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::ActionsResult_LatencyInformation_LatencyStep>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 latency_stop_ms = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_.latency_stop_ms_)}},
      // int32 latency_start_ms = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_.latency_start_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 latency_start_ms = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_.latency_start_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 latency_stop_ms = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_.latency_stop_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ActionLatency action = 3;
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_.step_.action_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.PageStabilizationLatency page_stabilization = 4;
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_.step_.page_stabilization_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.AnnotatedPageContentLatency annotated_page_content = 5;
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_.step_.annotated_page_content_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ScreenshotLatency screenshot = 6;
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_.step_.screenshot_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_ActionLatency>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_ActionLatency_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ActionsResult_LatencyInformation_LatencyStep::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        latency_start_ms_{0},
        latency_stop_ms_{0},
        step_{},
        _oneof_case_{} {}

template <typename>
constexpr ActionsResult_LatencyInformation_LatencyStep::ActionsResult_LatencyInformation_LatencyStep(::_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 ActionsResult_LatencyInformation_LatencyStep::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActionsResult_LatencyInformation_LatencyStep(arena);
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActionsResult_LatencyInformation_LatencyStep), alignof(ActionsResult_LatencyInformation_LatencyStep));
}
constexpr auto ActionsResult_LatencyInformation_LatencyStep::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
          &ActionsResult_LatencyInformation_LatencyStep::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActionsResult_LatencyInformation_LatencyStep>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActionsResult_LatencyInformation_LatencyStep::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActionsResult_LatencyInformation_LatencyStep>(), &ActionsResult_LatencyInformation_LatencyStep::ByteSizeLong,
              &ActionsResult_LatencyInformation_LatencyStep::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep",
  };
}
struct ActionsResult_LatencyInformation_LatencyStepGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionsResult_LatencyInformation_LatencyStepGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActionsResult_LatencyInformation_LatencyStep_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActionsResult_LatencyInformation_LatencyStep::InternalGenerateClassData_(
            _default, &ActionsResult_LatencyInformation_LatencyStep_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionsResult_LatencyInformation_LatencyStepGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActionsResult_LatencyInformation_LatencyStep _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation_LatencyStep>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStepGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ActionTarget::ParseTableT_ ActionTarget::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActionTarget, _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
      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::ActionTarget>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 content_node_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(ActionTarget, _impl_.content_node_id_)}},
      // .optimization_guide.proto.Coordinate coordinate = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActionTarget, _impl_.coordinate_)}},
      // .optimization_guide.proto.DocumentIdentifier document_identifier = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 1, 1,
        PROTOBUF_FIELD_OFFSET(ActionTarget, _impl_.document_identifier_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 content_node_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionTarget, _impl_.content_node_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.Coordinate coordinate = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionTarget, _impl_.coordinate_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.DocumentIdentifier document_identifier = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionTarget, _impl_.document_identifier_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Coordinate>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Coordinate_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DocumentIdentifier>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DocumentIdentifier_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ActionTarget::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        coordinate_{nullptr},
        document_identifier_{nullptr},
        content_node_id_{0} {}

template <typename>
constexpr ActionTarget::ActionTarget(::_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 ActionTarget::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActionTarget(arena);
}
constexpr auto ActionTarget::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActionTarget), alignof(ActionTarget));
}
constexpr auto ActionTarget::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
          &ActionTarget::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActionTarget>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActionTarget::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActionTarget>(), &ActionTarget::ByteSizeLong,
              &ActionTarget::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActionTarget, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActionTarget",
  };
}
struct ActionTargetGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionTargetGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActionTarget_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActionTarget::InternalGenerateClassData_(
            _default, &ActionTarget_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActionTarget>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionTargetGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActionTarget _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActionTarget>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionTargetGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TypeAction::ParseTableT_ TypeAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TypeAction, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // 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::TypeAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.target_)}},
      // string text = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.text_)}},
      // bool follow_by_enter = 3 [features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.follow_by_enter_)}},
      // .optimization_guide.proto.TypeAction.TypeMode mode = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.mode_)}},
      // int32 tab_id = 5 [features = {
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.tab_id_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.target_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string text = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.text_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // bool follow_by_enter = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.follow_by_enter_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.TypeAction.TypeMode mode = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.mode_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // int32 tab_id = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
      "\43\0\4\0\0\0\0\0"
      "optimization_guide.proto.TypeAction"
      "text"
    }},
  };
}


inline constexpr TypeAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        target_{nullptr},
        follow_by_enter_{false},
        mode_{static_cast< ::optimization_guide::proto::TypeAction_TypeMode >(0)},
        tab_id_{0} {}

template <typename>
constexpr TypeAction::TypeAction(::_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 TypeAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeAction(arena);
}
constexpr auto TypeAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TypeAction), alignof(TypeAction));
}
constexpr auto TypeAction::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
          &TypeAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TypeAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TypeAction>(), &TypeAction::ByteSizeLong,
              &TypeAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TypeAction",
  };
}
struct TypeActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TypeActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TypeAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TypeAction::InternalGenerateClassData_(
            _default, &TypeAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TypeAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TypeActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TypeAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TypeAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TypeActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SelectAction::ParseTableT_ SelectAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SelectAction, _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
      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::SelectAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(SelectAction, _impl_.target_)}},
      // string value = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(SelectAction, _impl_.value_)}},
      // int32 tab_id = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(SelectAction, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(SelectAction, _impl_.target_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string value = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(SelectAction, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int32 tab_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(SelectAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
      "\45\0\5\0\0\0\0\0"
      "optimization_guide.proto.SelectAction"
      "value"
    }},
  };
}


inline constexpr SelectAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        target_{nullptr},
        tab_id_{0} {}

template <typename>
constexpr SelectAction::SelectAction(::_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 SelectAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SelectAction(arena);
}
constexpr auto SelectAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SelectAction), alignof(SelectAction));
}
constexpr auto SelectAction::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
          &SelectAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SelectAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SelectAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SelectAction>(), &SelectAction::ByteSizeLong,
              &SelectAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SelectAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.SelectAction",
  };
}
struct SelectActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SelectActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SelectAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SelectAction::InternalGenerateClassData_(
            _default, &SelectAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SelectAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SelectActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SelectAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SelectAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SelectActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScrollToAction::ParseTableT_ ScrollToAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScrollToAction, _impl_._has_bits_),
      0, // no _extensions_
      4, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967283,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // 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::ScrollToAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 1, 0,
        PROTOBUF_FIELD_OFFSET(ScrollToAction, _impl_.tab_id_)}},
      // .optimization_guide.proto.ActionTarget target = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(ScrollToAction, _impl_.target_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ActionTarget target = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollToAction, _impl_.target_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 tab_id = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollToAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ScrollToAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_{nullptr},
        tab_id_{0} {}

template <typename>
constexpr ScrollToAction::ScrollToAction(::_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 ScrollToAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScrollToAction(arena);
}
constexpr auto ScrollToAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ScrollToAction), alignof(ScrollToAction));
}
constexpr auto ScrollToAction::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
          &ScrollToAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScrollToAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScrollToAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScrollToAction>(), &ScrollToAction::ByteSizeLong,
              &ScrollToAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScrollToAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ScrollToAction",
  };
}
struct ScrollToActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScrollToActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScrollToAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScrollToAction::InternalGenerateClassData_(
            _default, &ScrollToAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScrollToAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScrollToActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScrollToAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScrollToAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScrollToActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScrollAction::ParseTableT_ ScrollAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScrollAction, _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
      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::ScrollAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_.tab_id_)}},
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_.target_)}},
      // .optimization_guide.proto.ScrollAction.ScrollDirection direction = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_.direction_)}},
      // float distance = 3 [features = {
      {::_pbi::TcParser::FastF32S1,
       {29, 2, 0,
        PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_.distance_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_.target_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ScrollAction.ScrollDirection direction = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_.direction_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // float distance = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_.distance_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // int32 tab_id = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ScrollAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_{nullptr},
        direction_{static_cast< ::optimization_guide::proto::ScrollAction_ScrollDirection >(0)},
        distance_{0},
        tab_id_{0} {}

template <typename>
constexpr ScrollAction::ScrollAction(::_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 ScrollAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScrollAction(arena);
}
constexpr auto ScrollAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ScrollAction), alignof(ScrollAction));
}
constexpr auto ScrollAction::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
          &ScrollAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScrollAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScrollAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScrollAction>(), &ScrollAction::ByteSizeLong,
              &ScrollAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ScrollAction",
  };
}
struct ScrollActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScrollActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScrollAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScrollAction::InternalGenerateClassData_(
            _default, &ScrollAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScrollAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScrollActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScrollAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScrollAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScrollActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr MoveMouseAction::ParseTableT_ MoveMouseAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MoveMouseAction, _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
      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::MoveMouseAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(MoveMouseAction, _impl_.tab_id_)}},
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(MoveMouseAction, _impl_.target_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(MoveMouseAction, _impl_.target_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 tab_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(MoveMouseAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr MoveMouseAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_{nullptr},
        tab_id_{0} {}

template <typename>
constexpr MoveMouseAction::MoveMouseAction(::_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 MoveMouseAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MoveMouseAction(arena);
}
constexpr auto MoveMouseAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(MoveMouseAction), alignof(MoveMouseAction));
}
constexpr auto MoveMouseAction::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
          &MoveMouseAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<MoveMouseAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &MoveMouseAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<MoveMouseAction>(), &MoveMouseAction::ByteSizeLong,
              &MoveMouseAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(MoveMouseAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.MoveMouseAction",
  };
}
struct MoveMouseActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr MoveMouseActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 MoveMouseAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(MoveMouseAction::InternalGenerateClassData_(
            _default, &MoveMouseAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MoveMouseAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~MoveMouseActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MoveMouseAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MoveMouseAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(MoveMouseActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FormFillingRequest::ParseTableT_ FormFillingRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FormFillingRequest, _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
      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::FormFillingRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .optimization_guide.proto.ActionTarget trigger_fields = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(FormFillingRequest, _impl_.trigger_fields_)}},
      // .optimization_guide.proto.FormFillingRequest.RequestedData requested_data = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(FormFillingRequest, _impl_.requested_data_)}},
      // string section_label = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(FormFillingRequest, _impl_.section_label_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.ActionTarget trigger_fields = 1;
      {PROTOBUF_FIELD_OFFSET(FormFillingRequest, _impl_.trigger_fields_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.FormFillingRequest.RequestedData requested_data = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFillingRequest, _impl_.requested_data_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string section_label = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFillingRequest, _impl_.section_label_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
      "\53\0\0\15\0\0\0\0"
      "optimization_guide.proto.FormFillingRequest"
      "section_label"
    }},
  };
}


inline constexpr FormFillingRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        trigger_fields_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FormFillingRequest,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormFillingRequest, _impl_.trigger_fields_)>()
         }
        ,
        section_label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        requested_data_{static_cast< ::optimization_guide::proto::FormFillingRequest_RequestedData >(0)} {}

template <typename>
constexpr FormFillingRequest::FormFillingRequest(::_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 FormFillingRequest::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FormFillingRequest(arena);
}
constexpr auto FormFillingRequest::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FormFillingRequest), alignof(FormFillingRequest));
}
constexpr auto FormFillingRequest::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
          &FormFillingRequest::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FormFillingRequest>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FormFillingRequest::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FormFillingRequest>(), &FormFillingRequest::ByteSizeLong,
              &FormFillingRequest::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FormFillingRequest, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.FormFillingRequest",
  };
}
struct FormFillingRequestGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FormFillingRequestGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FormFillingRequest_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FormFillingRequest::InternalGenerateClassData_(
            _default, &FormFillingRequest_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FormFillingRequest>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FormFillingRequestGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FormFillingRequest _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FormFillingRequest>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FormFillingRequestGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr DragAndReleaseAction::ParseTableT_ DragAndReleaseAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DragAndReleaseAction, _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
      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::DragAndReleaseAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ActionTarget from_target = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DragAndReleaseAction, _impl_.from_target_)}},
      // .optimization_guide.proto.ActionTarget to_target = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(DragAndReleaseAction, _impl_.to_target_)}},
      // int32 tab_id = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(DragAndReleaseAction, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ActionTarget from_target = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(DragAndReleaseAction, _impl_.from_target_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ActionTarget to_target = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(DragAndReleaseAction, _impl_.to_target_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 tab_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(DragAndReleaseAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr DragAndReleaseAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        from_target_{nullptr},
        to_target_{nullptr},
        tab_id_{0} {}

template <typename>
constexpr DragAndReleaseAction::DragAndReleaseAction(::_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 DragAndReleaseAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DragAndReleaseAction(arena);
}
constexpr auto DragAndReleaseAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DragAndReleaseAction), alignof(DragAndReleaseAction));
}
constexpr auto DragAndReleaseAction::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
          &DragAndReleaseAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DragAndReleaseAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DragAndReleaseAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DragAndReleaseAction>(), &DragAndReleaseAction::ByteSizeLong,
              &DragAndReleaseAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DragAndReleaseAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.DragAndReleaseAction",
  };
}
struct DragAndReleaseActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DragAndReleaseActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DragAndReleaseAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DragAndReleaseAction::InternalGenerateClassData_(
            _default, &DragAndReleaseAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DragAndReleaseAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DragAndReleaseActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DragAndReleaseAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DragAndReleaseAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DragAndReleaseActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ClickAction::ParseTableT_ ClickAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ClickAction, _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
      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::ClickAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 tab_id = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(ClickAction, _impl_.tab_id_)}},
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ClickAction, _impl_.target_)}},
      // .optimization_guide.proto.ClickAction.ClickType click_type = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(ClickAction, _impl_.click_type_)}},
      // .optimization_guide.proto.ClickAction.ClickCount click_count = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(ClickAction, _impl_.click_count_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ActionTarget target = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ClickAction, _impl_.target_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ClickAction.ClickType click_type = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ClickAction, _impl_.click_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.ClickAction.ClickCount click_count = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ClickAction, _impl_.click_count_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // int32 tab_id = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ClickAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ClickAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_{nullptr},
        click_type_{static_cast< ::optimization_guide::proto::ClickAction_ClickType >(0)},
        click_count_{static_cast< ::optimization_guide::proto::ClickAction_ClickCount >(0)},
        tab_id_{0} {}

template <typename>
constexpr ClickAction::ClickAction(::_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 ClickAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ClickAction(arena);
}
constexpr auto ClickAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ClickAction), alignof(ClickAction));
}
constexpr auto ClickAction::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
          &ClickAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ClickAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ClickAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ClickAction>(), &ClickAction::ByteSizeLong,
              &ClickAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ClickAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ClickAction",
  };
}
struct ClickActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ClickActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ClickAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ClickAction::InternalGenerateClassData_(
            _default, &ClickAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ClickAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ClickActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ClickAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ClickAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ClickActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AttemptOtpFillingAction::ParseTableT_ AttemptOtpFillingAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _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
      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::AttemptOtpFillingAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.AttemptOtpFillingAction.OtpType predicted_otp_type = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.predicted_otp_type_)}},
      // int32 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.tab_id_)}},
      // repeated .optimization_guide.proto.ActionTarget target_fields = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.target_fields_)}},
      // bool for_signin = 3 [features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.for_signin_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .optimization_guide.proto.ActionTarget target_fields = 2;
      {PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.target_fields_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // bool for_signin = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.for_signin_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.AttemptOtpFillingAction.OtpType predicted_otp_type = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.predicted_otp_type_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AttemptOtpFillingAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_fields_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AttemptOtpFillingAction,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AttemptOtpFillingAction, _impl_.target_fields_)>()
         }
        ,
        tab_id_{0},
        for_signin_{false},
        predicted_otp_type_{static_cast< ::optimization_guide::proto::AttemptOtpFillingAction_OtpType >(0)} {}

template <typename>
constexpr AttemptOtpFillingAction::AttemptOtpFillingAction(::_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 AttemptOtpFillingAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AttemptOtpFillingAction(arena);
}
constexpr auto AttemptOtpFillingAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AttemptOtpFillingAction), alignof(AttemptOtpFillingAction));
}
constexpr auto AttemptOtpFillingAction::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
          &AttemptOtpFillingAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AttemptOtpFillingAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AttemptOtpFillingAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AttemptOtpFillingAction>(), &AttemptOtpFillingAction::ByteSizeLong,
              &AttemptOtpFillingAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AttemptOtpFillingAction",
  };
}
struct AttemptOtpFillingActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AttemptOtpFillingActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AttemptOtpFillingAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AttemptOtpFillingAction::InternalGenerateClassData_(
            _default, &AttemptOtpFillingAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AttemptOtpFillingAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AttemptOtpFillingActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AttemptOtpFillingAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AttemptOtpFillingAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AttemptOtpFillingActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AttemptLoginAction_LoginTarget::ParseTableT_ AttemptLoginAction_LoginTarget::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AttemptLoginAction_LoginTarget, _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
      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::AttemptLoginAction_LoginTarget>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ActionTarget target = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AttemptLoginAction_LoginTarget, _impl_.target_)}},
      // .optimization_guide.proto.AttemptLoginAction.LoginTarget.LoginType login_type = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(AttemptLoginAction_LoginTarget, _impl_.login_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.AttemptLoginAction.LoginTarget.LoginType login_type = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AttemptLoginAction_LoginTarget, _impl_.login_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.ActionTarget target = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(AttemptLoginAction_LoginTarget, _impl_.target_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionTarget_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AttemptLoginAction_LoginTarget::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_{nullptr},
        login_type_{static_cast< ::optimization_guide::proto::AttemptLoginAction_LoginTarget_LoginType >(0)} {}

template <typename>
constexpr AttemptLoginAction_LoginTarget::AttemptLoginAction_LoginTarget(::_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 AttemptLoginAction_LoginTarget::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AttemptLoginAction_LoginTarget(arena);
}
constexpr auto AttemptLoginAction_LoginTarget::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AttemptLoginAction_LoginTarget), alignof(AttemptLoginAction_LoginTarget));
}
constexpr auto AttemptLoginAction_LoginTarget::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
          &AttemptLoginAction_LoginTarget::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AttemptLoginAction_LoginTarget>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AttemptLoginAction_LoginTarget::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AttemptLoginAction_LoginTarget>(), &AttemptLoginAction_LoginTarget::ByteSizeLong,
              &AttemptLoginAction_LoginTarget::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AttemptLoginAction_LoginTarget, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AttemptLoginAction.LoginTarget",
  };
}
struct AttemptLoginAction_LoginTargetGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AttemptLoginAction_LoginTargetGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AttemptLoginAction_LoginTarget_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AttemptLoginAction_LoginTarget::InternalGenerateClassData_(
            _default, &AttemptLoginAction_LoginTarget_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AttemptLoginAction_LoginTarget>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AttemptLoginAction_LoginTargetGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AttemptLoginAction_LoginTarget _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AttemptLoginAction_LoginTarget>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AttemptLoginAction_LoginTargetGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ActionsResult_LatencyInformation::ParseTableT_ ActionsResult_LatencyInformation::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation, _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::ActionsResult_LatencyInformation>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep latency_steps = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation, _impl_.latency_steps_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep latency_steps = 1;
      {PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation, _impl_.latency_steps_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

template <typename>
constexpr ActionsResult_LatencyInformation::ActionsResult_LatencyInformation(::_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 ActionsResult_LatencyInformation::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActionsResult_LatencyInformation(arena);
}
constexpr auto ActionsResult_LatencyInformation::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ActionsResult_LatencyInformation), alignof(ActionsResult_LatencyInformation));
}
constexpr auto ActionsResult_LatencyInformation::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
          &ActionsResult_LatencyInformation::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActionsResult_LatencyInformation>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActionsResult_LatencyInformation::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActionsResult_LatencyInformation>(), &ActionsResult_LatencyInformation::ByteSizeLong,
              &ActionsResult_LatencyInformation::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActionsResult.LatencyInformation",
  };
}
struct ActionsResult_LatencyInformationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionsResult_LatencyInformationGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActionsResult_LatencyInformation_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActionsResult_LatencyInformation::InternalGenerateClassData_(
            _default, &ActionsResult_LatencyInformation_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionsResult_LatencyInformationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActionsResult_LatencyInformation _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult_LatencyInformation>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AttemptLoginAction::ParseTableT_ AttemptLoginAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AttemptLoginAction, _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
      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::AttemptLoginAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.AttemptLoginAction.LoginTarget login_targets = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AttemptLoginAction, _impl_.login_targets_)}},
      // int32 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(AttemptLoginAction, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AttemptLoginAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .optimization_guide.proto.AttemptLoginAction.LoginTarget login_targets = 2;
      {PROTOBUF_FIELD_OFFSET(AttemptLoginAction, _impl_.login_targets_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AttemptLoginAction_LoginTarget>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AttemptLoginAction_LoginTarget_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

template <typename>
constexpr AttemptLoginAction::AttemptLoginAction(::_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 AttemptLoginAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AttemptLoginAction(arena);
}
constexpr auto AttemptLoginAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AttemptLoginAction), alignof(AttemptLoginAction));
}
constexpr auto AttemptLoginAction::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
          &AttemptLoginAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AttemptLoginAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AttemptLoginAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AttemptLoginAction>(), &AttemptLoginAction::ByteSizeLong,
              &AttemptLoginAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AttemptLoginAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AttemptLoginAction",
  };
}
struct AttemptLoginActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AttemptLoginActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AttemptLoginAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AttemptLoginAction::InternalGenerateClassData_(
            _default, &AttemptLoginAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AttemptLoginAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AttemptLoginActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AttemptLoginAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AttemptLoginAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AttemptLoginActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AttemptFormFillingAction::ParseTableT_ AttemptFormFillingAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AttemptFormFillingAction, _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
      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::AttemptFormFillingAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.FormFillingRequest form_filling_requests = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AttemptFormFillingAction, _impl_.form_filling_requests_)}},
      // int32 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(AttemptFormFillingAction, _impl_.tab_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AttemptFormFillingAction, _impl_.tab_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .optimization_guide.proto.FormFillingRequest form_filling_requests = 2;
      {PROTOBUF_FIELD_OFFSET(AttemptFormFillingAction, _impl_.form_filling_requests_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FormFillingRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FormFillingRequest_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

template <typename>
constexpr AttemptFormFillingAction::AttemptFormFillingAction(::_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 AttemptFormFillingAction::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AttemptFormFillingAction(arena);
}
constexpr auto AttemptFormFillingAction::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AttemptFormFillingAction), alignof(AttemptFormFillingAction));
}
constexpr auto AttemptFormFillingAction::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
          &AttemptFormFillingAction::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AttemptFormFillingAction>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AttemptFormFillingAction::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AttemptFormFillingAction>(), &AttemptFormFillingAction::ByteSizeLong,
              &AttemptFormFillingAction::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AttemptFormFillingAction, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AttemptFormFillingAction",
  };
}
struct AttemptFormFillingActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AttemptFormFillingActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AttemptFormFillingAction_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AttemptFormFillingAction::InternalGenerateClassData_(
            _default, &AttemptFormFillingAction_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AttemptFormFillingAction>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AttemptFormFillingActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AttemptFormFillingAction _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AttemptFormFillingAction>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AttemptFormFillingActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Action::ParseTableT_ Action::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Action,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      25, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4261412864,  // skipmap
      offsetof(ParseTableT_, field_entries),
      25,  // num_field_entries
      25,  // 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::Action>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ClickAction click = 1;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.click_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.TypeAction type = 2;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.type_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ScrollAction scroll = 3;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.scroll_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.MoveMouseAction move_mouse = 4;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.move_mouse_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.DragAndReleaseAction drag_and_release = 5;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.drag_and_release_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.SelectAction select = 6;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.select_), _Internal::kOneofCaseOffset + 0, 5, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.NavigateAction navigate = 7;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.navigate_), _Internal::kOneofCaseOffset + 0, 6, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.HistoryBackAction back = 8;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.back_), _Internal::kOneofCaseOffset + 0, 7, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.HistoryForwardAction forward = 9;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.forward_), _Internal::kOneofCaseOffset + 0, 8, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.WaitAction wait = 10;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.wait_), _Internal::kOneofCaseOffset + 0, 9, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.CreateTabAction create_tab = 11;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.create_tab_), _Internal::kOneofCaseOffset + 0, 10, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.CloseTabAction close_tab = 12;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.close_tab_), _Internal::kOneofCaseOffset + 0, 11, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ActivateTabAction activate_tab = 13;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.activate_tab_), _Internal::kOneofCaseOffset + 0, 12, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.CreateWindowAction create_window = 14;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.create_window_), _Internal::kOneofCaseOffset + 0, 13, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.CloseWindowAction close_window = 15;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.close_window_), _Internal::kOneofCaseOffset + 0, 14, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ActivateWindowAction activate_window = 16;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.activate_window_), _Internal::kOneofCaseOffset + 0, 15, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.YieldToUserAction yield_to_user = 17;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.yield_to_user_), _Internal::kOneofCaseOffset + 0, 16, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AttemptLoginAction attempt_login = 18;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.attempt_login_), _Internal::kOneofCaseOffset + 0, 17, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ScrollToAction scroll_to = 19;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.scroll_to_), _Internal::kOneofCaseOffset + 0, 18, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ScriptToolAction script_tool = 20;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.script_tool_), _Internal::kOneofCaseOffset + 0, 19, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.MediaControlAction media_control = 21;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.media_control_), _Internal::kOneofCaseOffset + 0, 20, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AttemptFormFillingAction attempt_form_filling = 22;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.attempt_form_filling_), _Internal::kOneofCaseOffset + 0, 21, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.LoadAndExtractContentAction load_and_extract_content = 23;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.load_and_extract_content_), _Internal::kOneofCaseOffset + 0, 22, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AttemptOtpFillingAction attempt_otp_filling = 24;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.attempt_otp_filling_), _Internal::kOneofCaseOffset + 0, 23, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.TranslatePageAction translate_page = 25;
      {PROTOBUF_FIELD_OFFSET(Action, _impl_.action_.translate_page_), _Internal::kOneofCaseOffset + 0, 24, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ClickAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ClickAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TypeAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TypeAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScrollAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScrollAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::MoveMouseAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::MoveMouseAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DragAndReleaseAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DragAndReleaseAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SelectAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SelectAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::NavigateAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::NavigateAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::HistoryBackAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::HistoryBackAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::HistoryForwardAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::HistoryForwardAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WaitAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WaitAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::CreateTabAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::CreateTabAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::CloseTabAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::CloseTabAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActivateTabAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActivateTabAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::CreateWindowAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::CreateWindowAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::CloseWindowAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::CloseWindowAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActivateWindowAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActivateWindowAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::YieldToUserAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::YieldToUserAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AttemptLoginAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AttemptLoginAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScrollToAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScrollToAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScriptToolAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScriptToolAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::MediaControlAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::MediaControlAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AttemptFormFillingAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AttemptFormFillingAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::LoadAndExtractContentAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::LoadAndExtractContentAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AttemptOtpFillingAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AttemptOtpFillingAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TranslatePageAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TranslatePageAction_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

template <typename>
constexpr Action::Action(::_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 Action::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Action(arena);
}
constexpr auto Action::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Action), alignof(Action));
}
constexpr auto Action::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
          &Action::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Action>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Action::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Action>(), &Action::ByteSizeLong,
              &Action::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Action, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Action",
  };
}
struct ActionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Action_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Action::InternalGenerateClassData_(
            _default, &Action_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Action>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Action _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Action>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SecurityMetadata::ParseTableT_ SecurityMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SecurityMetadata, _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
      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::SecurityMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.AgentContainerConfig agent_container_config = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SecurityMetadata, _impl_.agent_container_config_)}},
      // repeated string added_writable_mainframe_origins = 1;
      {::_pbi::TcParser::FastUR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SecurityMetadata, _impl_.added_writable_mainframe_origins_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated string added_writable_mainframe_origins = 1;
      {PROTOBUF_FIELD_OFFSET(SecurityMetadata, _impl_.added_writable_mainframe_origins_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
      // .optimization_guide.proto.AgentContainerConfig agent_container_config = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(SecurityMetadata, _impl_.agent_container_config_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AgentContainerConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AgentContainerConfig_globals_},
        #endif
    }},
    {{
      "\51\40\0\0\0\0\0\0"
      "optimization_guide.proto.SecurityMetadata"
      "added_writable_mainframe_origins"
    }},
  };
}


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

template <typename>
constexpr SecurityMetadata::SecurityMetadata(::_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 SecurityMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SecurityMetadata(arena);
}
constexpr auto SecurityMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SecurityMetadata), alignof(SecurityMetadata));
}
constexpr auto SecurityMetadata::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
          &SecurityMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SecurityMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SecurityMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SecurityMetadata>(), &SecurityMetadata::ByteSizeLong,
              &SecurityMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SecurityMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.SecurityMetadata",
  };
}
struct SecurityMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SecurityMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SecurityMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SecurityMetadata::InternalGenerateClassData_(
            _default, &SecurityMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SecurityMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SecurityMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SecurityMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SecurityMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SecurityMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TaskMetadata::ParseTableT_ TaskMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TaskMetadata, _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::TaskMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.SecurityMetadata security = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TaskMetadata, _impl_.security_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.SecurityMetadata security = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TaskMetadata, _impl_.security_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SecurityMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SecurityMetadata_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr TaskMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        security_{nullptr} {}

template <typename>
constexpr TaskMetadata::TaskMetadata(::_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 TaskMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TaskMetadata(arena);
}
constexpr auto TaskMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TaskMetadata), alignof(TaskMetadata));
}
constexpr auto TaskMetadata::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
          &TaskMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TaskMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TaskMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TaskMetadata>(), &TaskMetadata::ByteSizeLong,
              &TaskMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TaskMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TaskMetadata",
  };
}
struct TaskMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TaskMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TaskMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TaskMetadata::InternalGenerateClassData_(
            _default, &TaskMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TaskMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TaskMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TaskMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TaskMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TaskMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Actions::ParseTableT_ Actions::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Actions, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // 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::Actions>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .optimization_guide.proto.Action actions = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Actions, _impl_.actions_)}},
      // int32 task_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(Actions, _impl_.task_id_)}},
      // bool skip_async_observation_collection = 3 [features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(Actions, _impl_.skip_async_observation_collection_)}},
      // .optimization_guide.proto.TaskMetadata task_metadata = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 1, 1,
        PROTOBUF_FIELD_OFFSET(Actions, _impl_.task_metadata_)}},
      // .optimization_guide.proto.ScreenshotCollectionOptions screenshot_options = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 2, 2,
        PROTOBUF_FIELD_OFFSET(Actions, _impl_.screenshot_options_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.Action actions = 1;
      {PROTOBUF_FIELD_OFFSET(Actions, _impl_.actions_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 task_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Actions, _impl_.task_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool skip_async_observation_collection = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(Actions, _impl_.skip_async_observation_collection_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.TaskMetadata task_metadata = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(Actions, _impl_.task_metadata_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ScreenshotCollectionOptions screenshot_options = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(Actions, _impl_.screenshot_options_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Action>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Action_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TaskMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TaskMetadata_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScreenshotCollectionOptions>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScreenshotCollectionOptions_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr Actions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        actions_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::Actions,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::Actions, _impl_.actions_)>()
         }
        ,
        task_metadata_{nullptr},
        screenshot_options_{nullptr},
        task_id_{0},
        skip_async_observation_collection_{false} {}

template <typename>
constexpr Actions::Actions(::_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 Actions::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Actions(arena);
}
constexpr auto Actions::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Actions), alignof(Actions));
}
constexpr auto Actions::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
          &Actions::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Actions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Actions::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Actions>(), &Actions::ByteSizeLong,
              &Actions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Actions, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Actions",
  };
}
struct ActionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Actions_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Actions::InternalGenerateClassData_(
            _default, &Actions_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Actions>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Actions _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Actions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TabObservation::ParseTableT_ TabObservation::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TabObservation, _impl_._has_bits_),
      0, // no _extensions_
      9, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966784,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // 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::TabObservation>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 5, 0,
        PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.id_)}},
      // .optimization_guide.proto.AnnotatedPageContent annotated_page_content = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.annotated_page_content_)}},
      // bytes screenshot = 3 [features = {
      {::_pbi::TcParser::FastBS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.screenshot_)}},
      // string screenshot_mime_type = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.screenshot_mime_type_)}},
      // .optimization_guide.proto.TabObservation.TabObservationResult result = 5 [features = {
      {::_pbi::TcParser::FastV32S1,
       {40, 6, 0,
        PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.result_)}},
      // .optimization_guide.proto.PageMetadata metadata = 6 [features = {
      {::_pbi::TcParser::FastMtS1,
       {50, 3, 1,
        PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.metadata_)}},
      // .optimization_guide.proto.TabObservation.AnnotatedPageContentResult annotated_page_content_result = 7 [features = {
      {::_pbi::TcParser::FastV32S1,
       {56, 7, 0,
        PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.annotated_page_content_result_)}},
      // .optimization_guide.proto.TabObservation.ScreenshotResult screenshot_result = 8 [features = {
      {::_pbi::TcParser::FastV32S1,
       {64, 8, 0,
        PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.screenshot_result_)}},
      // .optimization_guide.proto.ScreenshotInfo screenshot_info = 9 [features = {
      {::_pbi::TcParser::FastMtS1,
       {74, 4, 2,
        PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.screenshot_info_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.id_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.AnnotatedPageContent annotated_page_content = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.annotated_page_content_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // bytes screenshot = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.screenshot_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string screenshot_mime_type = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.screenshot_mime_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.TabObservation.TabObservationResult result = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.result_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.PageMetadata metadata = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.metadata_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.TabObservation.AnnotatedPageContentResult annotated_page_content_result = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.annotated_page_content_result_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.TabObservation.ScreenshotResult screenshot_result = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.screenshot_result_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.ScreenshotInfo screenshot_info = 9 [features = {
      {PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.screenshot_info_), _Internal::kHasBitsOffset + 4, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AnnotatedPageContent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AnnotatedPageContent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PageMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PageMetadata_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScreenshotInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScreenshotInfo_globals_},
        #endif
    }},
    {{
      "\47\0\0\0\24\0\0\0\0\0\0\0\0\0\0\0"
      "optimization_guide.proto.TabObservation"
      "screenshot_mime_type"
    }},
  };
}


inline constexpr TabObservation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        screenshot_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        screenshot_mime_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        annotated_page_content_{nullptr},
        metadata_{nullptr},
        screenshot_info_{nullptr},
        id_{0},
        result_{static_cast< ::optimization_guide::proto::TabObservation_TabObservationResult >(0)},
        annotated_page_content_result_{static_cast< ::optimization_guide::proto::TabObservation_AnnotatedPageContentResult >(0)},
        screenshot_result_{static_cast< ::optimization_guide::proto::TabObservation_ScreenshotResult >(0)} {}

template <typename>
constexpr TabObservation::TabObservation(::_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 TabObservation::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TabObservation(arena);
}
constexpr auto TabObservation::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TabObservation), alignof(TabObservation));
}
constexpr auto TabObservation::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
          &TabObservation::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TabObservation>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TabObservation::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TabObservation>(), &TabObservation::ByteSizeLong,
              &TabObservation::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TabObservation, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TabObservation",
  };
}
struct TabObservationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TabObservationGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TabObservation_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TabObservation::InternalGenerateClassData_(
            _default, &TabObservation_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TabObservation>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TabObservationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TabObservation _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TabObservation>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TabObservationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ActionsResult::ParseTableT_ ActionsResult::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // 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::ActionsResult>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated string extra_information = 8;
      {::_pbi::TcParser::FastUR1,
       {66, 3, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.extra_information_)}},
      // int32 action_result = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 6, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.action_result_)}},
      // int32 index_of_failed_action = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 7, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.index_of_failed_action_)}},
      // repeated .optimization_guide.proto.WindowObservation windows = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.windows_)}},
      // repeated .optimization_guide.proto.TabObservation tabs = 4;
      {::_pbi::TcParser::FastMtR1,
       {34, 1, 1,
        PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.tabs_)}},
      // repeated .optimization_guide.proto.ScriptToolResult script_tool_results = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 2, 2,
        PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.script_tool_results_)}},
      // .optimization_guide.proto.ActionsResult.LatencyInformation latency_information = 6 [features = {
      {::_pbi::TcParser::FastMtS1,
       {50, 5, 3,
        PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.latency_information_)}},
      // string error_message = 7 [features = {
      {::_pbi::TcParser::FastUS1,
       {58, 4, 0,
        PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.error_message_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 action_result = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.action_result_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 index_of_failed_action = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.index_of_failed_action_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .optimization_guide.proto.WindowObservation windows = 3;
      {PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.windows_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.TabObservation tabs = 4;
      {PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.tabs_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.ScriptToolResult script_tool_results = 5;
      {PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.script_tool_results_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ActionsResult.LatencyInformation latency_information = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.latency_information_), _Internal::kHasBitsOffset + 5, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string error_message = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.error_message_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated string extra_information = 8;
      {PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.extra_information_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WindowObservation>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WindowObservation_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TabObservation>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TabObservation_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScriptToolResult>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScriptToolResult_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActionsResult_LatencyInformation>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActionsResult_LatencyInformation_globals_},
        #endif
    }},
    {{
      "\46\0\0\0\0\0\0\15\21\0\0\0\0\0\0\0"
      "optimization_guide.proto.ActionsResult"
      "error_message"
      "extra_information"
    }},
  };
}


inline constexpr ActionsResult::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        windows_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ActionsResult,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult, _impl_.windows_)>()
         }
        ,
        tabs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ActionsResult,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult, _impl_.tabs_)>()
         }
        ,
        script_tool_results_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ActionsResult,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult, _impl_.script_tool_results_)>()
         }
        ,
        extra_information_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ActionsResult,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult, _impl_.extra_information_)>()
         }
        ,
        error_message_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        latency_information_{nullptr},
        action_result_{0},
        index_of_failed_action_{0} {}

template <typename>
constexpr ActionsResult::ActionsResult(::_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 ActionsResult::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActionsResult(arena);
}
constexpr auto ActionsResult::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ActionsResult), alignof(ActionsResult));
}
constexpr auto ActionsResult::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
          &ActionsResult::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActionsResult>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActionsResult::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActionsResult>(), &ActionsResult::ByteSizeLong,
              &ActionsResult::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ActionsResult",
  };
}
struct ActionsResultGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActionsResultGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActionsResult_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActionsResult::InternalGenerateClassData_(
            _default, &ActionsResult_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActionsResultGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActionsResult _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActionsResult>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActionsResultGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ActionsResultGlobalsTypeInternal ActionsResult_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ActionsResult_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ActionsResult_globals_.GetClassData();
#else
  return ActionsResult_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 ClickAction_ClickType_internal_data_[] = {
    262144u, 0u, };
static const char ClickAction_ClickType_names[] = {
    "LEFT"
    "LEFT_ON_OCCLUDED_TARGET"
    "RIGHT"
    "UNKNOWN_CLICK_TYPE"
};

static const ::google::protobuf::internal::EnumEntry ClickAction_ClickType_entries[] = {
    {{&ClickAction_ClickType_names[0], 4}, 1},
    {{&ClickAction_ClickType_names[4], 23}, 3},
    {{&ClickAction_ClickType_names[27], 5}, 2},
    {{&ClickAction_ClickType_names[32], 18}, 0},
};

static const int ClickAction_ClickType_entries_by_number[] = {
    3,  // 0 -> UNKNOWN_CLICK_TYPE
    0,  // 1 -> LEFT
    2,  // 2 -> RIGHT
    1,  // 3 -> LEFT_ON_OCCLUDED_TARGET
};

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

const ::std::string& ClickAction_ClickType_Name(ClickAction_ClickType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ClickAction_ClickType_entries, ClickAction_ClickType_entries_by_number, 4,
      ClickAction_ClickType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ClickAction_ClickType_entries,
                                  ClickAction_ClickType_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ClickAction_ClickType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ClickAction_ClickCount_internal_data_[] = {
    196608u, 0u, };
static const char ClickAction_ClickCount_names[] = {
    "DOUBLE"
    "SINGLE"
    "UNKNOWN_CLICK_COUNT"
};

static const ::google::protobuf::internal::EnumEntry ClickAction_ClickCount_entries[] = {
    {{&ClickAction_ClickCount_names[0], 6}, 2},
    {{&ClickAction_ClickCount_names[6], 6}, 1},
    {{&ClickAction_ClickCount_names[12], 19}, 0},
};

static const int ClickAction_ClickCount_entries_by_number[] = {
    2,  // 0 -> UNKNOWN_CLICK_COUNT
    1,  // 1 -> SINGLE
    0,  // 2 -> DOUBLE
};

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

const ::std::string& ClickAction_ClickCount_Name(ClickAction_ClickCount value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ClickAction_ClickCount_entries, ClickAction_ClickCount_entries_by_number, 3,
      ClickAction_ClickCount_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ClickAction_ClickCount_entries,
                                  ClickAction_ClickCount_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ClickAction_ClickCount_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t TypeAction_TypeMode_internal_data_[] = {
    262144u, 0u, };
static const char TypeAction_TypeMode_names[] = {
    "APPEND"
    "DELETE_EXISTING"
    "PREPEND"
    "UNKNOWN_TYPE_MODE"
};

static const ::google::protobuf::internal::EnumEntry TypeAction_TypeMode_entries[] = {
    {{&TypeAction_TypeMode_names[0], 6}, 3},
    {{&TypeAction_TypeMode_names[6], 15}, 1},
    {{&TypeAction_TypeMode_names[21], 7}, 2},
    {{&TypeAction_TypeMode_names[28], 17}, 0},
};

static const int TypeAction_TypeMode_entries_by_number[] = {
    3,  // 0 -> UNKNOWN_TYPE_MODE
    1,  // 1 -> DELETE_EXISTING
    2,  // 2 -> PREPEND
    0,  // 3 -> APPEND
};

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

const ::std::string& TypeAction_TypeMode_Name(TypeAction_TypeMode value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      TypeAction_TypeMode_entries, TypeAction_TypeMode_entries_by_number, 4,
      TypeAction_TypeMode_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(TypeAction_TypeMode_entries,
                                  TypeAction_TypeMode_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : TypeAction_TypeMode_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ScrollAction_ScrollDirection_internal_data_[] = {
    327680u, 0u, };
static const char ScrollAction_ScrollDirection_names[] = {
    "DOWN"
    "LEFT"
    "RIGHT"
    "UNKNOWN_SCROLL_DIRECTION"
    "UP"
};

static const ::google::protobuf::internal::EnumEntry ScrollAction_ScrollDirection_entries[] = {
    {{&ScrollAction_ScrollDirection_names[0], 4}, 4},
    {{&ScrollAction_ScrollDirection_names[4], 4}, 1},
    {{&ScrollAction_ScrollDirection_names[8], 5}, 2},
    {{&ScrollAction_ScrollDirection_names[13], 24}, 0},
    {{&ScrollAction_ScrollDirection_names[37], 2}, 3},
};

static const int ScrollAction_ScrollDirection_entries_by_number[] = {
    3,  // 0 -> UNKNOWN_SCROLL_DIRECTION
    1,  // 1 -> LEFT
    2,  // 2 -> RIGHT
    4,  // 3 -> UP
    0,  // 4 -> DOWN
};

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

const ::std::string& ScrollAction_ScrollDirection_Name(ScrollAction_ScrollDirection value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ScrollAction_ScrollDirection_entries, ScrollAction_ScrollDirection_entries_by_number, 5,
      ScrollAction_ScrollDirection_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ScrollAction_ScrollDirection_entries,
                                  ScrollAction_ScrollDirection_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ScrollAction_ScrollDirection_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AttemptLoginAction_LoginTarget_LoginType_internal_data_[] = {
    196608u, 0u, };
static const char AttemptLoginAction_LoginTarget_LoginType_names[] = {
    "FEDERATED_GOOGLE_SIGNIN"
    "PASSWORD_FORM_SUBMIT"
    "UNKNOWN_LOGIN_TYPE"
};

static const ::google::protobuf::internal::EnumEntry AttemptLoginAction_LoginTarget_LoginType_entries[] = {
    {{&AttemptLoginAction_LoginTarget_LoginType_names[0], 23}, 2},
    {{&AttemptLoginAction_LoginTarget_LoginType_names[23], 20}, 1},
    {{&AttemptLoginAction_LoginTarget_LoginType_names[43], 18}, 0},
};

static const int AttemptLoginAction_LoginTarget_LoginType_entries_by_number[] = {
    2,  // 0 -> UNKNOWN_LOGIN_TYPE
    1,  // 1 -> PASSWORD_FORM_SUBMIT
    0,  // 2 -> FEDERATED_GOOGLE_SIGNIN
};

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

const ::std::string& AttemptLoginAction_LoginTarget_LoginType_Name(AttemptLoginAction_LoginTarget_LoginType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AttemptLoginAction_LoginTarget_LoginType_entries, AttemptLoginAction_LoginTarget_LoginType_entries_by_number, 3,
      AttemptLoginAction_LoginTarget_LoginType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AttemptLoginAction_LoginTarget_LoginType_entries,
                                  AttemptLoginAction_LoginTarget_LoginType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AttemptLoginAction_LoginTarget_LoginType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t FormFillingRequest_RequestedData_internal_data_[] = {
    524288u, 0u, };
static const char FormFillingRequest_RequestedData_names[] = {
    "ADDRESS"
    "BILLING_ADDRESS"
    "CONTACT_INFORMATION"
    "CREDIT_CARD"
    "HOME_ADDRESS"
    "REQUESTED_DATA_UNKNOWN"
    "SHIPPING_ADDRESS"
    "WORK_ADDRESS"
};

static const ::google::protobuf::internal::EnumEntry FormFillingRequest_RequestedData_entries[] = {
    {{&FormFillingRequest_RequestedData_names[0], 7}, 1},
    {{&FormFillingRequest_RequestedData_names[7], 15}, 3},
    {{&FormFillingRequest_RequestedData_names[22], 19}, 7},
    {{&FormFillingRequest_RequestedData_names[41], 11}, 6},
    {{&FormFillingRequest_RequestedData_names[52], 12}, 4},
    {{&FormFillingRequest_RequestedData_names[64], 22}, 0},
    {{&FormFillingRequest_RequestedData_names[86], 16}, 2},
    {{&FormFillingRequest_RequestedData_names[102], 12}, 5},
};

static const int FormFillingRequest_RequestedData_entries_by_number[] = {
    5,  // 0 -> REQUESTED_DATA_UNKNOWN
    0,  // 1 -> ADDRESS
    6,  // 2 -> SHIPPING_ADDRESS
    1,  // 3 -> BILLING_ADDRESS
    4,  // 4 -> HOME_ADDRESS
    7,  // 5 -> WORK_ADDRESS
    3,  // 6 -> CREDIT_CARD
    2,  // 7 -> CONTACT_INFORMATION
};

bool FormFillingRequest_RequestedData_Parse(::absl::string_view name,
                                  FormFillingRequest_RequestedData* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      FormFillingRequest_RequestedData_entries, 8, name, &int_value);
  if (success) {
    *value = static_cast<FormFillingRequest_RequestedData>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    FormFillingRequest_RequestedData_strings[8] = {};

const ::std::string& FormFillingRequest_RequestedData_Name(FormFillingRequest_RequestedData value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      FormFillingRequest_RequestedData_entries, FormFillingRequest_RequestedData_entries_by_number, 8,
      FormFillingRequest_RequestedData_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(FormFillingRequest_RequestedData_entries,
                                  FormFillingRequest_RequestedData_entries_by_number,
                                  8, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : FormFillingRequest_RequestedData_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AttemptOtpFillingAction_OtpType_internal_data_[] = {
    262144u, 0u, };
static const char AttemptOtpFillingAction_OtpType_names[] = {
    "OTP_TYPE_AUTHENTICATOR_APP"
    "OTP_TYPE_EMAIL"
    "OTP_TYPE_SMS"
    "OTP_TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry AttemptOtpFillingAction_OtpType_entries[] = {
    {{&AttemptOtpFillingAction_OtpType_names[0], 26}, 3},
    {{&AttemptOtpFillingAction_OtpType_names[26], 14}, 2},
    {{&AttemptOtpFillingAction_OtpType_names[40], 12}, 1},
    {{&AttemptOtpFillingAction_OtpType_names[52], 20}, 0},
};

static const int AttemptOtpFillingAction_OtpType_entries_by_number[] = {
    3,  // 0 -> OTP_TYPE_UNSPECIFIED
    2,  // 1 -> OTP_TYPE_SMS
    1,  // 2 -> OTP_TYPE_EMAIL
    0,  // 3 -> OTP_TYPE_AUTHENTICATOR_APP
};

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

const ::std::string& AttemptOtpFillingAction_OtpType_Name(AttemptOtpFillingAction_OtpType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AttemptOtpFillingAction_OtpType_entries, AttemptOtpFillingAction_OtpType_entries_by_number, 4,
      AttemptOtpFillingAction_OtpType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AttemptOtpFillingAction_OtpType_entries,
                                  AttemptOtpFillingAction_OtpType_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AttemptOtpFillingAction_OtpType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t TabObservation_TabObservationResult_internal_data_[] = {
    524288u, 0u, };
static const char TabObservation_TabObservationResult_names[] = {
    "TAB_OBSERVATION_FETCH_ERROR"
    "TAB_OBSERVATION_OK"
    "TAB_OBSERVATION_PAGE_CONTEXT_NOT_ELIGIBLE"
    "TAB_OBSERVATION_PAGE_CRASHED"
    "TAB_OBSERVATION_SCREENSHOT_TIMEOUT"
    "TAB_OBSERVATION_TAB_WENT_AWAY"
    "TAB_OBSERVATION_UNKNOWN_ERROR"
    "TAB_OBSERVATION_WEB_CONTENTS_CHANGED"
};

static const ::google::protobuf::internal::EnumEntry TabObservation_TabObservationResult_entries[] = {
    {{&TabObservation_TabObservationResult_names[0], 27}, 7},
    {{&TabObservation_TabObservationResult_names[27], 18}, 0},
    {{&TabObservation_TabObservationResult_names[45], 41}, 6},
    {{&TabObservation_TabObservationResult_names[86], 28}, 3},
    {{&TabObservation_TabObservationResult_names[114], 34}, 2},
    {{&TabObservation_TabObservationResult_names[148], 29}, 1},
    {{&TabObservation_TabObservationResult_names[177], 29}, 4},
    {{&TabObservation_TabObservationResult_names[206], 36}, 5},
};

static const int TabObservation_TabObservationResult_entries_by_number[] = {
    1,  // 0 -> TAB_OBSERVATION_OK
    5,  // 1 -> TAB_OBSERVATION_TAB_WENT_AWAY
    4,  // 2 -> TAB_OBSERVATION_SCREENSHOT_TIMEOUT
    3,  // 3 -> TAB_OBSERVATION_PAGE_CRASHED
    6,  // 4 -> TAB_OBSERVATION_UNKNOWN_ERROR
    7,  // 5 -> TAB_OBSERVATION_WEB_CONTENTS_CHANGED
    2,  // 6 -> TAB_OBSERVATION_PAGE_CONTEXT_NOT_ELIGIBLE
    0,  // 7 -> TAB_OBSERVATION_FETCH_ERROR
};

bool TabObservation_TabObservationResult_Parse(::absl::string_view name,
                                  TabObservation_TabObservationResult* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      TabObservation_TabObservationResult_entries, 8, name, &int_value);
  if (success) {
    *value = static_cast<TabObservation_TabObservationResult>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    TabObservation_TabObservationResult_strings[8] = {};

const ::std::string& TabObservation_TabObservationResult_Name(TabObservation_TabObservationResult value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      TabObservation_TabObservationResult_entries, TabObservation_TabObservationResult_entries_by_number, 8,
      TabObservation_TabObservationResult_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(TabObservation_TabObservationResult_entries,
                                  TabObservation_TabObservationResult_entries_by_number,
                                  8, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : TabObservation_TabObservationResult_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t TabObservation_AnnotatedPageContentResult_internal_data_[] = {
    196608u, 0u, };
static const char TabObservation_AnnotatedPageContentResult_names[] = {
    "ANNOTATED_PAGE_CONTENT_ERROR"
    "ANNOTATED_PAGE_CONTENT_OK"
    "ANNOTATED_PAGE_CONTENT_TIMEOUT"
};

static const ::google::protobuf::internal::EnumEntry TabObservation_AnnotatedPageContentResult_entries[] = {
    {{&TabObservation_AnnotatedPageContentResult_names[0], 28}, 2},
    {{&TabObservation_AnnotatedPageContentResult_names[28], 25}, 0},
    {{&TabObservation_AnnotatedPageContentResult_names[53], 30}, 1},
};

static const int TabObservation_AnnotatedPageContentResult_entries_by_number[] = {
    1,  // 0 -> ANNOTATED_PAGE_CONTENT_OK
    2,  // 1 -> ANNOTATED_PAGE_CONTENT_TIMEOUT
    0,  // 2 -> ANNOTATED_PAGE_CONTENT_ERROR
};

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

const ::std::string& TabObservation_AnnotatedPageContentResult_Name(TabObservation_AnnotatedPageContentResult value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      TabObservation_AnnotatedPageContentResult_entries, TabObservation_AnnotatedPageContentResult_entries_by_number, 3,
      TabObservation_AnnotatedPageContentResult_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(TabObservation_AnnotatedPageContentResult_entries,
                                  TabObservation_AnnotatedPageContentResult_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : TabObservation_AnnotatedPageContentResult_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t TabObservation_ScreenshotResult_internal_data_[] = {
    196608u, 0u, };
static const char TabObservation_ScreenshotResult_names[] = {
    "SCREENSHOT_ERROR"
    "SCREENSHOT_OK"
    "SCREENSHOT_TIMEOUT"
};

static const ::google::protobuf::internal::EnumEntry TabObservation_ScreenshotResult_entries[] = {
    {{&TabObservation_ScreenshotResult_names[0], 16}, 2},
    {{&TabObservation_ScreenshotResult_names[16], 13}, 0},
    {{&TabObservation_ScreenshotResult_names[29], 18}, 1},
};

static const int TabObservation_ScreenshotResult_entries_by_number[] = {
    1,  // 0 -> SCREENSHOT_OK
    2,  // 1 -> SCREENSHOT_TIMEOUT
    0,  // 2 -> SCREENSHOT_ERROR
};

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

const ::std::string& TabObservation_ScreenshotResult_Name(TabObservation_ScreenshotResult value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      TabObservation_ScreenshotResult_entries, TabObservation_ScreenshotResult_entries_by_number, 3,
      TabObservation_ScreenshotResult_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(TabObservation_ScreenshotResult_entries,
                                  TabObservation_ScreenshotResult_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : TabObservation_ScreenshotResult_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t BrowserStartTaskResult_StartTaskStatus_internal_data_[] = {
    196608u, 0u, };
static const char BrowserStartTaskResult_StartTaskStatus_names[] = {
    "OVER_TASK_LIMIT"
    "START_TASK_STATUS_UNKNOWN"
    "SUCCESS"
};

static const ::google::protobuf::internal::EnumEntry BrowserStartTaskResult_StartTaskStatus_entries[] = {
    {{&BrowserStartTaskResult_StartTaskStatus_names[0], 15}, 2},
    {{&BrowserStartTaskResult_StartTaskStatus_names[15], 25}, 0},
    {{&BrowserStartTaskResult_StartTaskStatus_names[40], 7}, 1},
};

static const int BrowserStartTaskResult_StartTaskStatus_entries_by_number[] = {
    1,  // 0 -> START_TASK_STATUS_UNKNOWN
    2,  // 1 -> SUCCESS
    0,  // 2 -> OVER_TASK_LIMIT
};

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

const ::std::string& BrowserStartTaskResult_StartTaskStatus_Name(BrowserStartTaskResult_StartTaskStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      BrowserStartTaskResult_StartTaskStatus_entries, BrowserStartTaskResult_StartTaskStatus_entries_by_number, 3,
      BrowserStartTaskResult_StartTaskStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(BrowserStartTaskResult_StartTaskStatus_entries,
                                  BrowserStartTaskResult_StartTaskStatus_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : BrowserStartTaskResult_StartTaskStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ScreenshotImageFormat_internal_data_[] = {
    262144u, 0u, };
static const char ScreenshotImageFormat_names[] = {
    "SCREENSHOT_IMAGE_FORMAT_JPEG"
    "SCREENSHOT_IMAGE_FORMAT_PNG"
    "SCREENSHOT_IMAGE_FORMAT_UNKNOWN"
    "SCREENSHOT_IMAGE_FORMAT_WEBP"
};

static const ::google::protobuf::internal::EnumEntry ScreenshotImageFormat_entries[] = {
    {{&ScreenshotImageFormat_names[0], 28}, 1},
    {{&ScreenshotImageFormat_names[28], 27}, 2},
    {{&ScreenshotImageFormat_names[55], 31}, 0},
    {{&ScreenshotImageFormat_names[86], 28}, 3},
};

static const int ScreenshotImageFormat_entries_by_number[] = {
    2,  // 0 -> SCREENSHOT_IMAGE_FORMAT_UNKNOWN
    0,  // 1 -> SCREENSHOT_IMAGE_FORMAT_JPEG
    1,  // 2 -> SCREENSHOT_IMAGE_FORMAT_PNG
    3,  // 3 -> SCREENSHOT_IMAGE_FORMAT_WEBP
};

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

const ::std::string& ScreenshotImageFormat_Name(ScreenshotImageFormat value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ScreenshotImageFormat_entries, ScreenshotImageFormat_entries_by_number, 4,
      ScreenshotImageFormat_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ScreenshotImageFormat_entries,
                                  ScreenshotImageFormat_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ScreenshotImageFormat_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t CompressionQuality_internal_data_[] = {
    327680u, 0u, };
static const char CompressionQuality_names[] = {
    "COMPRESSION_QUALITY_HIGH"
    "COMPRESSION_QUALITY_LOW"
    "COMPRESSION_QUALITY_MEDIUM"
    "COMPRESSION_QUALITY_NONE"
    "COMPRESSION_QUALITY_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry CompressionQuality_entries[] = {
    {{&CompressionQuality_names[0], 24}, 3},
    {{&CompressionQuality_names[24], 23}, 1},
    {{&CompressionQuality_names[47], 26}, 2},
    {{&CompressionQuality_names[73], 24}, 4},
    {{&CompressionQuality_names[97], 27}, 0},
};

static const int CompressionQuality_entries_by_number[] = {
    4,  // 0 -> COMPRESSION_QUALITY_UNKNOWN
    1,  // 1 -> COMPRESSION_QUALITY_LOW
    2,  // 2 -> COMPRESSION_QUALITY_MEDIUM
    0,  // 3 -> COMPRESSION_QUALITY_HIGH
    3,  // 4 -> COMPRESSION_QUALITY_NONE
};

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

const ::std::string& CompressionQuality_Name(CompressionQuality value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      CompressionQuality_entries, CompressionQuality_entries_by_number, 5,
      CompressionQuality_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(CompressionQuality_entries,
                                  CompressionQuality_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : CompressionQuality_strings[idx].get();
}
// ===================================================================

void ActionTarget::clear_coordinate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.coordinate_ != nullptr) _impl_.coordinate_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
void ActionTarget::clear_document_identifier() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.document_identifier_ != nullptr) _impl_.document_identifier_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
ActionTarget::ActionTarget(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionTarget_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.ActionTarget)
}
PROTOBUF_NDEBUG_INLINE ActionTarget::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::ActionTarget& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ActionTarget* 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_.coordinate_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.coordinate_)
                : nullptr;
  _impl_.document_identifier_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.document_identifier_)
                : nullptr;
  _impl_.content_node_id_ = from._impl_.content_node_id_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ActionTarget_class_data_ =
    ActionTarget::InternalGenerateClassData_(ActionTarget_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActionTarget::GetClassData() const {
  return ActionTarget_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActionTarget::GetClassData() const {
  return ActionTarget_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ActionTarget::ParseTableT_
    ActionTarget::_table_ =
        ActionTarget::InternalGenerateParseTable_(ActionTarget_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ActionTarget::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ActionTarget)
  ::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)) {
      ABSL_DCHECK(_impl_.coordinate_ != nullptr);
      _impl_.coordinate_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.document_identifier_ != nullptr);
      _impl_.document_identifier_->Clear();
    }
  }
  _impl_.content_node_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 content_node_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_content_node_id(), target);
  }

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

  // .optimization_guide.proto.DocumentIdentifier document_identifier = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.document_identifier_, this_._impl_.document_identifier_->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.ActionTarget)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ActionTarget::ByteSizeLong(const MessageLite& base) {
  const ActionTarget& this_ = static_cast<const ActionTarget&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ActionTarget::ByteSizeLong() const {
  const ActionTarget& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ActionTarget)
  ::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.Coordinate coordinate = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.coordinate_);
    }
    // .optimization_guide.proto.DocumentIdentifier document_identifier = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.document_identifier_);
    }
    // int32 content_node_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_content_node_id());
    }
  }
  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 ActionTarget::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActionTarget*>(&to_msg);
  auto& from = static_cast<const ActionTarget&>(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.ActionTarget)
  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_.coordinate_ != nullptr);
      if (_this->_impl_.coordinate_ == nullptr) {
        _this->_impl_.coordinate_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.coordinate_);
      } else {
        _this->_impl_.coordinate_->MergeFrom(*from._impl_.coordinate_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.document_identifier_ != nullptr);
      if (_this->_impl_.document_identifier_ == nullptr) {
        _this->_impl_.document_identifier_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.document_identifier_);
      } else {
        _this->_impl_.document_identifier_->MergeFrom(*from._impl_.document_identifier_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.content_node_id_ = from._impl_.content_node_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ActionTarget::InternalSwap(ActionTarget* 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(ActionTarget, _impl_.content_node_id_)
      + sizeof(ActionTarget::_impl_.content_node_id_)
      - PROTOBUF_FIELD_OFFSET(ActionTarget, _impl_.coordinate_)>(
          reinterpret_cast<char*>(&_impl_.coordinate_),
          reinterpret_cast<char*>(&other->_impl_.coordinate_));
}

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

ClickAction::ClickAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ClickAction_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.ClickAction)
}
PROTOBUF_NDEBUG_INLINE ClickAction::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::ClickAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ClickAction* 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_.target_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, click_type_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, click_type_),
           offsetof(Impl_, tab_id_) -
               offsetof(Impl_, click_type_) +
               sizeof(Impl_::tab_id_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ClickAction_class_data_ =
    ClickAction::InternalGenerateClassData_(ClickAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ClickAction::GetClassData() const {
  return ClickAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ClickAction::GetClassData() const {
  return ClickAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ClickAction::ParseTableT_
    ClickAction::_table_ =
        ClickAction::InternalGenerateParseTable_(ClickAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ClickAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ClickAction)
  ::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)) {
    ABSL_DCHECK(_impl_.target_ != nullptr);
    _impl_.target_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.click_type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.tab_id_) -
        reinterpret_cast<char*>(&_impl_.click_type_)) + sizeof(_impl_.tab_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .optimization_guide.proto.ClickAction.ClickType click_type = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_click_type(), target);
  }

  // .optimization_guide.proto.ClickAction.ClickCount click_count = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_click_count(), target);
  }

  // int32 tab_id = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_tab_id(), 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.ClickAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ClickAction::ByteSizeLong(const MessageLite& base) {
  const ClickAction& this_ = static_cast<const ClickAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ClickAction::ByteSizeLong() const {
  const ClickAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ClickAction)
  ::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)) {
    // .optimization_guide.proto.ActionTarget target = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.target_);
    }
    // .optimization_guide.proto.ClickAction.ClickType click_type = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_click_type());
    }
    // .optimization_guide.proto.ClickAction.ClickCount click_count = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_click_count());
    }
    // int32 tab_id = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 ClickAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ClickAction*>(&to_msg);
  auto& from = static_cast<const ClickAction&>(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.ClickAction)
  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)) {
      ABSL_DCHECK(from._impl_.target_ != nullptr);
      if (_this->_impl_.target_ == nullptr) {
        _this->_impl_.target_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_);
      } else {
        _this->_impl_.target_->MergeFrom(*from._impl_.target_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.click_type_ = from._impl_.click_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.click_count_ = from._impl_.click_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ClickAction::InternalSwap(ClickAction* 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(ClickAction, _impl_.tab_id_)
      + sizeof(ClickAction::_impl_.tab_id_)
      - PROTOBUF_FIELD_OFFSET(ClickAction, _impl_.target_)>(
          reinterpret_cast<char*>(&_impl_.target_),
          reinterpret_cast<char*>(&other->_impl_.target_));
}

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

TypeAction::TypeAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TypeAction_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.TypeAction)
}
PROTOBUF_NDEBUG_INLINE TypeAction::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::TypeAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        text_(arena, from.text_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TypeAction* 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_.target_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, follow_by_enter_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, follow_by_enter_),
           offsetof(Impl_, tab_id_) -
               offsetof(Impl_, follow_by_enter_) +
               sizeof(Impl_::tab_id_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TypeAction_class_data_ =
    TypeAction::InternalGenerateClassData_(TypeAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeAction::GetClassData() const {
  return TypeAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeAction::GetClassData() const {
  return TypeAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TypeAction::ParseTableT_
    TypeAction::_table_ =
        TypeAction::InternalGenerateParseTable_(TypeAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TypeAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TypeAction)
  ::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_.text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.target_ != nullptr);
      _impl_.target_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) {
    ::memset(&_impl_.follow_by_enter_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.tab_id_) -
        reinterpret_cast<char*>(&_impl_.follow_by_enter_)) + sizeof(_impl_.tab_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // bool follow_by_enter = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_follow_by_enter(), target);
  }

  // .optimization_guide.proto.TypeAction.TypeMode mode = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_mode(), target);
  }

  // int32 tab_id = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_tab_id(), 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.TypeAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeAction::ByteSizeLong(const MessageLite& base) {
  const TypeAction& this_ = static_cast<const TypeAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeAction::ByteSizeLong() const {
  const TypeAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TypeAction)
  ::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>(0x00000004U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000001bU)) {
    // string text = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text());
    }
    // .optimization_guide.proto.ActionTarget target = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.target_);
    }
    // .optimization_guide.proto.TypeAction.TypeMode mode = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_mode());
    }
    // int32 tab_id = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 TypeAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TypeAction*>(&to_msg);
  auto& from = static_cast<const TypeAction&>(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.TypeAction)
  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, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_text(from._internal_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.target_ != nullptr);
      if (_this->_impl_.target_ == nullptr) {
        _this->_impl_.target_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_);
      } else {
        _this->_impl_.target_->MergeFrom(*from._impl_.target_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.follow_by_enter_ = from._impl_.follow_by_enter_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.mode_ = from._impl_.mode_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TypeAction::InternalSwap(TypeAction* 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_, &other->_impl_.text_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.tab_id_)
      + sizeof(TypeAction::_impl_.tab_id_)
      - PROTOBUF_FIELD_OFFSET(TypeAction, _impl_.target_)>(
          reinterpret_cast<char*>(&_impl_.target_),
          reinterpret_cast<char*>(&other->_impl_.target_));
}

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

ScrollAction::ScrollAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScrollAction_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.ScrollAction)
}
PROTOBUF_NDEBUG_INLINE ScrollAction::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::ScrollAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ScrollAction* 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_.target_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, direction_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, direction_),
           offsetof(Impl_, tab_id_) -
               offsetof(Impl_, direction_) +
               sizeof(Impl_::tab_id_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ScrollAction_class_data_ =
    ScrollAction::InternalGenerateClassData_(ScrollAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScrollAction::GetClassData() const {
  return ScrollAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScrollAction::GetClassData() const {
  return ScrollAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScrollAction::ParseTableT_
    ScrollAction::_table_ =
        ScrollAction::InternalGenerateParseTable_(ScrollAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScrollAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ScrollAction)
  ::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)) {
    ABSL_DCHECK(_impl_.target_ != nullptr);
    _impl_.target_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.direction_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.tab_id_) -
        reinterpret_cast<char*>(&_impl_.direction_)) + sizeof(_impl_.tab_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .optimization_guide.proto.ScrollAction.ScrollDirection direction = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_direction(), target);
  }

  // float distance = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        3, this_._internal_distance(), target);
  }

  // int32 tab_id = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_tab_id(), 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.ScrollAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScrollAction::ByteSizeLong(const MessageLite& base) {
  const ScrollAction& this_ = static_cast<const ScrollAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScrollAction::ByteSizeLong() const {
  const ScrollAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ScrollAction)
  ::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>(0x00000004U & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000bU)) {
    // .optimization_guide.proto.ActionTarget target = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.target_);
    }
    // .optimization_guide.proto.ScrollAction.ScrollDirection direction = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_direction());
    }
    // int32 tab_id = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 ScrollAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScrollAction*>(&to_msg);
  auto& from = static_cast<const ScrollAction&>(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.ScrollAction)
  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)) {
      ABSL_DCHECK(from._impl_.target_ != nullptr);
      if (_this->_impl_.target_ == nullptr) {
        _this->_impl_.target_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_);
      } else {
        _this->_impl_.target_->MergeFrom(*from._impl_.target_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.direction_ = from._impl_.direction_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.distance_ = from._impl_.distance_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScrollAction::InternalSwap(ScrollAction* 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(ScrollAction, _impl_.tab_id_)
      + sizeof(ScrollAction::_impl_.tab_id_)
      - PROTOBUF_FIELD_OFFSET(ScrollAction, _impl_.target_)>(
          reinterpret_cast<char*>(&_impl_.target_),
          reinterpret_cast<char*>(&other->_impl_.target_));
}

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

MoveMouseAction::MoveMouseAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MoveMouseAction_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.MoveMouseAction)
}
PROTOBUF_NDEBUG_INLINE MoveMouseAction::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::MoveMouseAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MoveMouseAction* 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_.target_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_)
                : nullptr;
  _impl_.tab_id_ = from._impl_.tab_id_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite MoveMouseAction_class_data_ =
    MoveMouseAction::InternalGenerateClassData_(MoveMouseAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MoveMouseAction::GetClassData() const {
  return MoveMouseAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MoveMouseAction::GetClassData() const {
  return MoveMouseAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const MoveMouseAction::ParseTableT_
    MoveMouseAction::_table_ =
        MoveMouseAction::InternalGenerateParseTable_(MoveMouseAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void MoveMouseAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.MoveMouseAction)
  ::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)) {
    ABSL_DCHECK(_impl_.target_ != nullptr);
    _impl_.target_->Clear();
  }
  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 tab_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_tab_id(), 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.MoveMouseAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MoveMouseAction::ByteSizeLong(const MessageLite& base) {
  const MoveMouseAction& this_ = static_cast<const MoveMouseAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MoveMouseAction::ByteSizeLong() const {
  const MoveMouseAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.MoveMouseAction)
  ::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)) {
    // .optimization_guide.proto.ActionTarget target = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.target_);
    }
    // int32 tab_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 MoveMouseAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MoveMouseAction*>(&to_msg);
  auto& from = static_cast<const MoveMouseAction&>(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.MoveMouseAction)
  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)) {
      ABSL_DCHECK(from._impl_.target_ != nullptr);
      if (_this->_impl_.target_ == nullptr) {
        _this->_impl_.target_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_);
      } else {
        _this->_impl_.target_->MergeFrom(*from._impl_.target_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void MoveMouseAction::InternalSwap(MoveMouseAction* 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(MoveMouseAction, _impl_.tab_id_)
      + sizeof(MoveMouseAction::_impl_.tab_id_)
      - PROTOBUF_FIELD_OFFSET(MoveMouseAction, _impl_.target_)>(
          reinterpret_cast<char*>(&_impl_.target_),
          reinterpret_cast<char*>(&other->_impl_.target_));
}

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

DragAndReleaseAction::DragAndReleaseAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DragAndReleaseAction_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.DragAndReleaseAction)
}
PROTOBUF_NDEBUG_INLINE DragAndReleaseAction::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::DragAndReleaseAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DragAndReleaseAction* 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_.from_target_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.from_target_)
                : nullptr;
  _impl_.to_target_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.to_target_)
                : nullptr;
  _impl_.tab_id_ = from._impl_.tab_id_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DragAndReleaseAction_class_data_ =
    DragAndReleaseAction::InternalGenerateClassData_(DragAndReleaseAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DragAndReleaseAction::GetClassData() const {
  return DragAndReleaseAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DragAndReleaseAction::GetClassData() const {
  return DragAndReleaseAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DragAndReleaseAction::ParseTableT_
    DragAndReleaseAction::_table_ =
        DragAndReleaseAction::InternalGenerateParseTable_(DragAndReleaseAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DragAndReleaseAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.DragAndReleaseAction)
  ::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)) {
      ABSL_DCHECK(_impl_.from_target_ != nullptr);
      _impl_.from_target_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.to_target_ != nullptr);
      _impl_.to_target_->Clear();
    }
  }
  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // int32 tab_id = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_tab_id(), 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.DragAndReleaseAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DragAndReleaseAction::ByteSizeLong(const MessageLite& base) {
  const DragAndReleaseAction& this_ = static_cast<const DragAndReleaseAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DragAndReleaseAction::ByteSizeLong() const {
  const DragAndReleaseAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.DragAndReleaseAction)
  ::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.ActionTarget from_target = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.from_target_);
    }
    // .optimization_guide.proto.ActionTarget to_target = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.to_target_);
    }
    // int32 tab_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 DragAndReleaseAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DragAndReleaseAction*>(&to_msg);
  auto& from = static_cast<const DragAndReleaseAction&>(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.DragAndReleaseAction)
  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_.from_target_ != nullptr);
      if (_this->_impl_.from_target_ == nullptr) {
        _this->_impl_.from_target_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.from_target_);
      } else {
        _this->_impl_.from_target_->MergeFrom(*from._impl_.from_target_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.to_target_ != nullptr);
      if (_this->_impl_.to_target_ == nullptr) {
        _this->_impl_.to_target_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.to_target_);
      } else {
        _this->_impl_.to_target_->MergeFrom(*from._impl_.to_target_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DragAndReleaseAction::InternalSwap(DragAndReleaseAction* 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(DragAndReleaseAction, _impl_.tab_id_)
      + sizeof(DragAndReleaseAction::_impl_.tab_id_)
      - PROTOBUF_FIELD_OFFSET(DragAndReleaseAction, _impl_.from_target_)>(
          reinterpret_cast<char*>(&_impl_.from_target_),
          reinterpret_cast<char*>(&other->_impl_.from_target_));
}

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

SelectAction::SelectAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SelectAction_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.SelectAction)
}
PROTOBUF_NDEBUG_INLINE SelectAction::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::SelectAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        value_(arena, from.value_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SelectAction* 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_.target_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_)
                : nullptr;
  _impl_.tab_id_ = from._impl_.tab_id_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SelectAction_class_data_ =
    SelectAction::InternalGenerateClassData_(SelectAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SelectAction::GetClassData() const {
  return SelectAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SelectAction::GetClassData() const {
  return SelectAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SelectAction::ParseTableT_
    SelectAction::_table_ =
        SelectAction::InternalGenerateParseTable_(SelectAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SelectAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.SelectAction)
  ::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_.value_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.target_ != nullptr);
      _impl_.target_->Clear();
    }
  }
  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // int32 tab_id = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_tab_id(), 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.SelectAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SelectAction::ByteSizeLong(const MessageLite& base) {
  const SelectAction& this_ = static_cast<const SelectAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SelectAction::ByteSizeLong() const {
  const SelectAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.SelectAction)
  ::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 value = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_value());
    }
    // .optimization_guide.proto.ActionTarget target = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.target_);
    }
    // int32 tab_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 SelectAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SelectAction*>(&to_msg);
  auto& from = static_cast<const SelectAction&>(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.SelectAction)
  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_value(from._internal_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.target_ != nullptr);
      if (_this->_impl_.target_ == nullptr) {
        _this->_impl_.target_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_);
      } else {
        _this->_impl_.target_->MergeFrom(*from._impl_.target_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SelectAction::InternalSwap(SelectAction* 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_.value_, &other->_impl_.value_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SelectAction, _impl_.tab_id_)
      + sizeof(SelectAction::_impl_.tab_id_)
      - PROTOBUF_FIELD_OFFSET(SelectAction, _impl_.target_)>(
          reinterpret_cast<char*>(&_impl_.target_),
          reinterpret_cast<char*>(&other->_impl_.target_));
}

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

NavigateAction::NavigateAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, NavigateAction_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.NavigateAction)
}
PROTOBUF_NDEBUG_INLINE NavigateAction::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::NavigateAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        url_(arena, from.url_) {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite NavigateAction_class_data_ =
    NavigateAction::InternalGenerateClassData_(NavigateAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NavigateAction::GetClassData() const {
  return NavigateAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NavigateAction::GetClassData() const {
  return NavigateAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const NavigateAction::ParseTableT_
    NavigateAction::_table_ =
        NavigateAction::InternalGenerateParseTable_(NavigateAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void NavigateAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.NavigateAction)
  ::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_.url_.ClearNonDefaultToEmpty();
  }
  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string url = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    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.NavigateAction.url");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // int32 tab_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_tab_id(), 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.NavigateAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t NavigateAction::ByteSizeLong(const MessageLite& base) {
  const NavigateAction& this_ = static_cast<const NavigateAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t NavigateAction::ByteSizeLong() const {
  const NavigateAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.NavigateAction)
  ::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)) {
    // string url = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // int32 tab_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 NavigateAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<NavigateAction*>(&to_msg);
  auto& from = static_cast<const NavigateAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.NavigateAction)
  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_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void NavigateAction::InternalSwap(NavigateAction* 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_.url_, &other->_impl_.url_, arena);
  swap(_impl_.tab_id_, other->_impl_.tab_id_);
}

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

WaitAction::WaitAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WaitAction_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.WaitAction)
}
WaitAction::WaitAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const WaitAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WaitAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE WaitAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void WaitAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, wait_time_ms_),
           0,
           offsetof(Impl_, observe_tab_id_) -
               offsetof(Impl_, wait_time_ms_) +
               sizeof(Impl_::observe_tab_id_));
}
WaitAction::~WaitAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.WaitAction)
  SharedDtor(*this);
}
inline void WaitAction::SharedDtor(MessageLite& self) {
  WaitAction& this_ = static_cast<WaitAction&>(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 WaitAction_class_data_ =
    WaitAction::InternalGenerateClassData_(WaitAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WaitAction::GetClassData() const {
  return WaitAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WaitAction::GetClassData() const {
  return WaitAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WaitAction::ParseTableT_
    WaitAction::_table_ =
        WaitAction::InternalGenerateParseTable_(WaitAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WaitAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.WaitAction)
  ::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)) {
    ::memset(&_impl_.wait_time_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.observe_tab_id_) -
        reinterpret_cast<char*>(&_impl_.wait_time_ms_)) + sizeof(_impl_.observe_tab_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 wait_time_ms = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_wait_time_ms(), target);
  }

  // int32 observe_tab_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_observe_tab_id(), 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.WaitAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WaitAction::ByteSizeLong(const MessageLite& base) {
  const WaitAction& this_ = static_cast<const WaitAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WaitAction::ByteSizeLong() const {
  const WaitAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.WaitAction)
  ::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)) {
    // int32 wait_time_ms = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_wait_time_ms());
    }
    // int32 observe_tab_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_observe_tab_id());
    }
  }
  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 WaitAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WaitAction*>(&to_msg);
  auto& from = static_cast<const WaitAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.WaitAction)
  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->_impl_.wait_time_ms_ = from._impl_.wait_time_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.observe_tab_id_ = from._impl_.observe_tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void WaitAction::InternalSwap(WaitAction* 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(WaitAction, _impl_.observe_tab_id_)
      + sizeof(WaitAction::_impl_.observe_tab_id_)
      - PROTOBUF_FIELD_OFFSET(WaitAction, _impl_.wait_time_ms_)>(
          reinterpret_cast<char*>(&_impl_.wait_time_ms_),
          reinterpret_cast<char*>(&other->_impl_.wait_time_ms_));
}

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

HistoryBackAction::HistoryBackAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, HistoryBackAction_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.HistoryBackAction)
}
HistoryBackAction::HistoryBackAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const HistoryBackAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, HistoryBackAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE HistoryBackAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void HistoryBackAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.tab_id_ = {};
}
HistoryBackAction::~HistoryBackAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.HistoryBackAction)
  SharedDtor(*this);
}
inline void HistoryBackAction::SharedDtor(MessageLite& self) {
  HistoryBackAction& this_ = static_cast<HistoryBackAction&>(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 HistoryBackAction_class_data_ =
    HistoryBackAction::InternalGenerateClassData_(HistoryBackAction_globals_._default);

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

  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 tab_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_tab_id(), 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.HistoryBackAction)
  return target;
}

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

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

   {
    // int32 tab_id = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 HistoryBackAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<HistoryBackAction*>(&to_msg);
  auto& from = static_cast<const HistoryBackAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.HistoryBackAction)
  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->_impl_.tab_id_ = from._impl_.tab_id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

HistoryForwardAction::HistoryForwardAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, HistoryForwardAction_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.HistoryForwardAction)
}
HistoryForwardAction::HistoryForwardAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const HistoryForwardAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, HistoryForwardAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE HistoryForwardAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void HistoryForwardAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.tab_id_ = {};
}
HistoryForwardAction::~HistoryForwardAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.HistoryForwardAction)
  SharedDtor(*this);
}
inline void HistoryForwardAction::SharedDtor(MessageLite& self) {
  HistoryForwardAction& this_ = static_cast<HistoryForwardAction&>(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 HistoryForwardAction_class_data_ =
    HistoryForwardAction::InternalGenerateClassData_(HistoryForwardAction_globals_._default);

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

  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 tab_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_tab_id(), 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.HistoryForwardAction)
  return target;
}

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

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

   {
    // int32 tab_id = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 HistoryForwardAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<HistoryForwardAction*>(&to_msg);
  auto& from = static_cast<const HistoryForwardAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.HistoryForwardAction)
  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->_impl_.tab_id_ = from._impl_.tab_id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

CreateTabAction::CreateTabAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CreateTabAction_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.CreateTabAction)
}
CreateTabAction::CreateTabAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CreateTabAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CreateTabAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE CreateTabAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void CreateTabAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, window_id_),
           0,
           offsetof(Impl_, foreground_) -
               offsetof(Impl_, window_id_) +
               sizeof(Impl_::foreground_));
}
CreateTabAction::~CreateTabAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.CreateTabAction)
  SharedDtor(*this);
}
inline void CreateTabAction::SharedDtor(MessageLite& self) {
  CreateTabAction& this_ = static_cast<CreateTabAction&>(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 CreateTabAction_class_data_ =
    CreateTabAction::InternalGenerateClassData_(CreateTabAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CreateTabAction::GetClassData() const {
  return CreateTabAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CreateTabAction::GetClassData() const {
  return CreateTabAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const CreateTabAction::ParseTableT_
    CreateTabAction::_table_ =
        CreateTabAction::InternalGenerateParseTable_(CreateTabAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void CreateTabAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.CreateTabAction)
  ::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)) {
    ::memset(&_impl_.window_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.foreground_) -
        reinterpret_cast<char*>(&_impl_.window_id_)) + sizeof(_impl_.foreground_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 window_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_window_id(), target);
  }

  // bool foreground = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_foreground(), 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.CreateTabAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CreateTabAction::ByteSizeLong(const MessageLite& base) {
  const CreateTabAction& this_ = static_cast<const CreateTabAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CreateTabAction::ByteSizeLong() const {
  const CreateTabAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.CreateTabAction)
  ::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>(0x00000002U & cached_has_bits) * 2;
   {
    // int32 window_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_window_id());
    }
  }
  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 CreateTabAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CreateTabAction*>(&to_msg);
  auto& from = static_cast<const CreateTabAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.CreateTabAction)
  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->_impl_.window_id_ = from._impl_.window_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.foreground_ = from._impl_.foreground_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CreateTabAction::InternalSwap(CreateTabAction* 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(CreateTabAction, _impl_.foreground_)
      + sizeof(CreateTabAction::_impl_.foreground_)
      - PROTOBUF_FIELD_OFFSET(CreateTabAction, _impl_.window_id_)>(
          reinterpret_cast<char*>(&_impl_.window_id_),
          reinterpret_cast<char*>(&other->_impl_.window_id_));
}

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

CloseTabAction::CloseTabAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CloseTabAction_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.CloseTabAction)
}
CloseTabAction::CloseTabAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CloseTabAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CloseTabAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE CloseTabAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void CloseTabAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.tab_id_ = {};
}
CloseTabAction::~CloseTabAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.CloseTabAction)
  SharedDtor(*this);
}
inline void CloseTabAction::SharedDtor(MessageLite& self) {
  CloseTabAction& this_ = static_cast<CloseTabAction&>(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 CloseTabAction_class_data_ =
    CloseTabAction::InternalGenerateClassData_(CloseTabAction_globals_._default);

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

  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 tab_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_tab_id(), 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.CloseTabAction)
  return target;
}

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

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

   {
    // int32 tab_id = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 CloseTabAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CloseTabAction*>(&to_msg);
  auto& from = static_cast<const CloseTabAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.CloseTabAction)
  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->_impl_.tab_id_ = from._impl_.tab_id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

ActivateTabAction::ActivateTabAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActivateTabAction_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.ActivateTabAction)
}
ActivateTabAction::ActivateTabAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ActivateTabAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActivateTabAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ActivateTabAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ActivateTabAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.tab_id_ = {};
}
ActivateTabAction::~ActivateTabAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ActivateTabAction)
  SharedDtor(*this);
}
inline void ActivateTabAction::SharedDtor(MessageLite& self) {
  ActivateTabAction& this_ = static_cast<ActivateTabAction&>(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 ActivateTabAction_class_data_ =
    ActivateTabAction::InternalGenerateClassData_(ActivateTabAction_globals_._default);

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

  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 tab_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_tab_id(), 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.ActivateTabAction)
  return target;
}

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

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

   {
    // int32 tab_id = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 ActivateTabAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActivateTabAction*>(&to_msg);
  auto& from = static_cast<const ActivateTabAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ActivateTabAction)
  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->_impl_.tab_id_ = from._impl_.tab_id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

CreateWindowAction::CreateWindowAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CreateWindowAction_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.CreateWindowAction)
}
CreateWindowAction::CreateWindowAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CreateWindowAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CreateWindowAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE CreateWindowAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void CreateWindowAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CreateWindowAction::~CreateWindowAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.CreateWindowAction)
  SharedDtor(*this);
}
inline void CreateWindowAction::SharedDtor(MessageLite& self) {
  CreateWindowAction& this_ = static_cast<CreateWindowAction&>(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 CreateWindowAction_class_data_ =
    CreateWindowAction::InternalGenerateClassData_(CreateWindowAction_globals_._default);

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

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

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

  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.CreateWindowAction)
  return target;
}

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

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

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

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CreateWindowAction::InternalSwap(CreateWindowAction* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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

CloseWindowAction::CloseWindowAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CloseWindowAction_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.CloseWindowAction)
}
CloseWindowAction::CloseWindowAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CloseWindowAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CloseWindowAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE CloseWindowAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void CloseWindowAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.window_id_ = {};
}
CloseWindowAction::~CloseWindowAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.CloseWindowAction)
  SharedDtor(*this);
}
inline void CloseWindowAction::SharedDtor(MessageLite& self) {
  CloseWindowAction& this_ = static_cast<CloseWindowAction&>(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 CloseWindowAction_class_data_ =
    CloseWindowAction::InternalGenerateClassData_(CloseWindowAction_globals_._default);

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

  _impl_.window_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 window_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_window_id(), 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.CloseWindowAction)
  return target;
}

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

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

   {
    // int32 window_id = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_window_id());
    }
  }
  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 CloseWindowAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CloseWindowAction*>(&to_msg);
  auto& from = static_cast<const CloseWindowAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.CloseWindowAction)
  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->_impl_.window_id_ = from._impl_.window_id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

ActivateWindowAction::ActivateWindowAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActivateWindowAction_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.ActivateWindowAction)
}
ActivateWindowAction::ActivateWindowAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ActivateWindowAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActivateWindowAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ActivateWindowAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ActivateWindowAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.window_id_ = {};
}
ActivateWindowAction::~ActivateWindowAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ActivateWindowAction)
  SharedDtor(*this);
}
inline void ActivateWindowAction::SharedDtor(MessageLite& self) {
  ActivateWindowAction& this_ = static_cast<ActivateWindowAction&>(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 ActivateWindowAction_class_data_ =
    ActivateWindowAction::InternalGenerateClassData_(ActivateWindowAction_globals_._default);

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

  _impl_.window_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 window_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_window_id(), 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.ActivateWindowAction)
  return target;
}

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

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

   {
    // int32 window_id = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_window_id());
    }
  }
  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 ActivateWindowAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActivateWindowAction*>(&to_msg);
  auto& from = static_cast<const ActivateWindowAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ActivateWindowAction)
  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->_impl_.window_id_ = from._impl_.window_id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

YieldToUserAction::YieldToUserAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, YieldToUserAction_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.YieldToUserAction)
}
YieldToUserAction::YieldToUserAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const YieldToUserAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, YieldToUserAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE YieldToUserAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void YieldToUserAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
YieldToUserAction::~YieldToUserAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.YieldToUserAction)
  SharedDtor(*this);
}
inline void YieldToUserAction::SharedDtor(MessageLite& self) {
  YieldToUserAction& this_ = static_cast<YieldToUserAction&>(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 YieldToUserAction_class_data_ =
    YieldToUserAction::InternalGenerateClassData_(YieldToUserAction_globals_._default);

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

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

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

  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.YieldToUserAction)
  return target;
}

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

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

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

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void YieldToUserAction::InternalSwap(YieldToUserAction* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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

AttemptLoginAction_LoginTarget::AttemptLoginAction_LoginTarget(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AttemptLoginAction_LoginTarget_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.AttemptLoginAction.LoginTarget)
}
PROTOBUF_NDEBUG_INLINE AttemptLoginAction_LoginTarget::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::AttemptLoginAction_LoginTarget& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AttemptLoginAction_LoginTarget* 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_.target_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_)
                : nullptr;
  _impl_.login_type_ = from._impl_.login_type_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AttemptLoginAction_LoginTarget_class_data_ =
    AttemptLoginAction_LoginTarget::InternalGenerateClassData_(AttemptLoginAction_LoginTarget_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttemptLoginAction_LoginTarget::GetClassData() const {
  return AttemptLoginAction_LoginTarget_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttemptLoginAction_LoginTarget::GetClassData() const {
  return AttemptLoginAction_LoginTarget_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AttemptLoginAction_LoginTarget::ParseTableT_
    AttemptLoginAction_LoginTarget::_table_ =
        AttemptLoginAction_LoginTarget::InternalGenerateParseTable_(AttemptLoginAction_LoginTarget_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AttemptLoginAction_LoginTarget::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AttemptLoginAction.LoginTarget)
  ::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)) {
    ABSL_DCHECK(_impl_.target_ != nullptr);
    _impl_.target_->Clear();
  }
  _impl_.login_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.AttemptLoginAction.LoginTarget.LoginType login_type = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_login_type(), target);
  }

  // .optimization_guide.proto.ActionTarget target = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.target_, this_._impl_.target_->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.AttemptLoginAction.LoginTarget)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AttemptLoginAction_LoginTarget::ByteSizeLong(const MessageLite& base) {
  const AttemptLoginAction_LoginTarget& this_ = static_cast<const AttemptLoginAction_LoginTarget&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AttemptLoginAction_LoginTarget::ByteSizeLong() const {
  const AttemptLoginAction_LoginTarget& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AttemptLoginAction.LoginTarget)
  ::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)) {
    // .optimization_guide.proto.ActionTarget target = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.target_);
    }
    // .optimization_guide.proto.AttemptLoginAction.LoginTarget.LoginType login_type = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_login_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 AttemptLoginAction_LoginTarget::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AttemptLoginAction_LoginTarget*>(&to_msg);
  auto& from = static_cast<const AttemptLoginAction_LoginTarget&>(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.AttemptLoginAction.LoginTarget)
  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)) {
      ABSL_DCHECK(from._impl_.target_ != nullptr);
      if (_this->_impl_.target_ == nullptr) {
        _this->_impl_.target_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_);
      } else {
        _this->_impl_.target_->MergeFrom(*from._impl_.target_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.login_type_ = from._impl_.login_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AttemptLoginAction_LoginTarget::InternalSwap(AttemptLoginAction_LoginTarget* 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(AttemptLoginAction_LoginTarget, _impl_.login_type_)
      + sizeof(AttemptLoginAction_LoginTarget::_impl_.login_type_)
      - PROTOBUF_FIELD_OFFSET(AttemptLoginAction_LoginTarget, _impl_.target_)>(
          reinterpret_cast<char*>(&_impl_.target_),
          reinterpret_cast<char*>(&other->_impl_.target_));
}

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

AttemptLoginAction::AttemptLoginAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AttemptLoginAction_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.AttemptLoginAction)
}
PROTOBUF_NDEBUG_INLINE AttemptLoginAction::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::AttemptLoginAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        login_targets_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AttemptLoginAction,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AttemptLoginAction, _impl_.login_targets_)>()
          , from.login_targets_
        }
     {}

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

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

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

inline void AttemptLoginAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.tab_id_ = {};
}
AttemptLoginAction::~AttemptLoginAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AttemptLoginAction)
  SharedDtor(*this);
}
inline void AttemptLoginAction::SharedDtor(MessageLite& self) {
  AttemptLoginAction& this_ = static_cast<AttemptLoginAction&>(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 AttemptLoginAction_class_data_ =
    AttemptLoginAction::InternalGenerateClassData_(AttemptLoginAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttemptLoginAction::GetClassData() const {
  return AttemptLoginAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttemptLoginAction::GetClassData() const {
  return AttemptLoginAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AttemptLoginAction::ParseTableT_
    AttemptLoginAction::_table_ =
        AttemptLoginAction::InternalGenerateParseTable_(AttemptLoginAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AttemptLoginAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AttemptLoginAction)
  ::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_.login_targets_.Clear();
  }
  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // repeated .optimization_guide.proto.AttemptLoginAction.LoginTarget login_targets = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_login_targets_size());
         i < n; i++) {
      const auto& repfield = this_._internal_login_targets().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.AttemptLoginAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AttemptLoginAction::ByteSizeLong(const MessageLite& base) {
  const AttemptLoginAction& this_ = static_cast<const AttemptLoginAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AttemptLoginAction::ByteSizeLong() const {
  const AttemptLoginAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AttemptLoginAction)
  ::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.AttemptLoginAction.LoginTarget login_targets = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_login_targets_size();
      for (const auto& msg : this_._internal_login_targets()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // int32 tab_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 AttemptLoginAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AttemptLoginAction*>(&to_msg);
  auto& from = static_cast<const AttemptLoginAction&>(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.AttemptLoginAction)
  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_login_targets()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_login_targets());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AttemptLoginAction::InternalSwap(AttemptLoginAction* 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_.login_targets_.InternalSwap(&other->_impl_.login_targets_);
  swap(_impl_.tab_id_, other->_impl_.tab_id_);
}

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

FormFillingRequest::FormFillingRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FormFillingRequest_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.FormFillingRequest)
}
PROTOBUF_NDEBUG_INLINE FormFillingRequest::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::FormFillingRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        trigger_fields_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::FormFillingRequest,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormFillingRequest, _impl_.trigger_fields_)>()
          , from.trigger_fields_
        }
        ,
        section_label_(arena, from.section_label_) {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FormFillingRequest_class_data_ =
    FormFillingRequest::InternalGenerateClassData_(FormFillingRequest_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormFillingRequest::GetClassData() const {
  return FormFillingRequest_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormFillingRequest::GetClassData() const {
  return FormFillingRequest_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FormFillingRequest::ParseTableT_
    FormFillingRequest::_table_ =
        FormFillingRequest::InternalGenerateParseTable_(FormFillingRequest_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FormFillingRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.FormFillingRequest)
  ::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_.trigger_fields_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.section_label_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.requested_data_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .optimization_guide.proto.FormFillingRequest.RequestedData requested_data = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_requested_data(), target);
  }

  // string section_label = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_section_label();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormFillingRequest.section_label");
    target = stream->WriteStringMaybeAliased(3, _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.FormFillingRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FormFillingRequest::ByteSizeLong(const MessageLite& base) {
  const FormFillingRequest& this_ = static_cast<const FormFillingRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FormFillingRequest::ByteSizeLong() const {
  const FormFillingRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.FormFillingRequest)
  ::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)) {
    // repeated .optimization_guide.proto.ActionTarget trigger_fields = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_trigger_fields_size();
      for (const auto& msg : this_._internal_trigger_fields()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string section_label = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_section_label());
    }
    // .optimization_guide.proto.FormFillingRequest.RequestedData requested_data = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_requested_data());
    }
  }
  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 FormFillingRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FormFillingRequest*>(&to_msg);
  auto& from = static_cast<const FormFillingRequest&>(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.FormFillingRequest)
  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_mutable_trigger_fields()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_trigger_fields());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_section_label(from._internal_section_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.requested_data_ = from._impl_.requested_data_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FormFillingRequest::InternalSwap(FormFillingRequest* 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_.trigger_fields_.InternalSwap(&other->_impl_.trigger_fields_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.section_label_, &other->_impl_.section_label_, arena);
  swap(_impl_.requested_data_, other->_impl_.requested_data_);
}

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

AttemptFormFillingAction::AttemptFormFillingAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AttemptFormFillingAction_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.AttemptFormFillingAction)
}
PROTOBUF_NDEBUG_INLINE AttemptFormFillingAction::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::AttemptFormFillingAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        form_filling_requests_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AttemptFormFillingAction,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AttemptFormFillingAction, _impl_.form_filling_requests_)>()
          , from.form_filling_requests_
        }
     {}

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

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

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

inline void AttemptFormFillingAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.tab_id_ = {};
}
AttemptFormFillingAction::~AttemptFormFillingAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AttemptFormFillingAction)
  SharedDtor(*this);
}
inline void AttemptFormFillingAction::SharedDtor(MessageLite& self) {
  AttemptFormFillingAction& this_ = static_cast<AttemptFormFillingAction&>(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 AttemptFormFillingAction_class_data_ =
    AttemptFormFillingAction::InternalGenerateClassData_(AttemptFormFillingAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttemptFormFillingAction::GetClassData() const {
  return AttemptFormFillingAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttemptFormFillingAction::GetClassData() const {
  return AttemptFormFillingAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AttemptFormFillingAction::ParseTableT_
    AttemptFormFillingAction::_table_ =
        AttemptFormFillingAction::InternalGenerateParseTable_(AttemptFormFillingAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AttemptFormFillingAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AttemptFormFillingAction)
  ::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_.form_filling_requests_.Clear();
  }
  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // repeated .optimization_guide.proto.FormFillingRequest form_filling_requests = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_form_filling_requests_size());
         i < n; i++) {
      const auto& repfield = this_._internal_form_filling_requests().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.AttemptFormFillingAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AttemptFormFillingAction::ByteSizeLong(const MessageLite& base) {
  const AttemptFormFillingAction& this_ = static_cast<const AttemptFormFillingAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AttemptFormFillingAction::ByteSizeLong() const {
  const AttemptFormFillingAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AttemptFormFillingAction)
  ::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.FormFillingRequest form_filling_requests = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_form_filling_requests_size();
      for (const auto& msg : this_._internal_form_filling_requests()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // int32 tab_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 AttemptFormFillingAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AttemptFormFillingAction*>(&to_msg);
  auto& from = static_cast<const AttemptFormFillingAction&>(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.AttemptFormFillingAction)
  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_form_filling_requests()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_form_filling_requests());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AttemptFormFillingAction::InternalSwap(AttemptFormFillingAction* 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_.form_filling_requests_.InternalSwap(&other->_impl_.form_filling_requests_);
  swap(_impl_.tab_id_, other->_impl_.tab_id_);
}

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

AttemptOtpFillingAction::AttemptOtpFillingAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AttemptOtpFillingAction_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.AttemptOtpFillingAction)
}
PROTOBUF_NDEBUG_INLINE AttemptOtpFillingAction::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::AttemptOtpFillingAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        target_fields_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AttemptOtpFillingAction,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AttemptOtpFillingAction, _impl_.target_fields_)>()
          , from.target_fields_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AttemptOtpFillingAction* 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_, predicted_otp_type_) -
               offsetof(Impl_, tab_id_) +
               sizeof(Impl_::predicted_otp_type_));

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

inline void AttemptOtpFillingAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, tab_id_),
           0,
           offsetof(Impl_, predicted_otp_type_) -
               offsetof(Impl_, tab_id_) +
               sizeof(Impl_::predicted_otp_type_));
}
AttemptOtpFillingAction::~AttemptOtpFillingAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AttemptOtpFillingAction)
  SharedDtor(*this);
}
inline void AttemptOtpFillingAction::SharedDtor(MessageLite& self) {
  AttemptOtpFillingAction& this_ = static_cast<AttemptOtpFillingAction&>(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 AttemptOtpFillingAction_class_data_ =
    AttemptOtpFillingAction::InternalGenerateClassData_(AttemptOtpFillingAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttemptOtpFillingAction::GetClassData() const {
  return AttemptOtpFillingAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttemptOtpFillingAction::GetClassData() const {
  return AttemptOtpFillingAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AttemptOtpFillingAction::ParseTableT_
    AttemptOtpFillingAction::_table_ =
        AttemptOtpFillingAction::InternalGenerateParseTable_(AttemptOtpFillingAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AttemptOtpFillingAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AttemptOtpFillingAction)
  ::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_.target_fields_.Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.tab_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.predicted_otp_type_) -
        reinterpret_cast<char*>(&_impl_.tab_id_)) + sizeof(_impl_.predicted_otp_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // bool for_signin = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_for_signin(), target);
  }

  // .optimization_guide.proto.AttemptOtpFillingAction.OtpType predicted_otp_type = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_predicted_otp_type(), 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.AttemptOtpFillingAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AttemptOtpFillingAction::ByteSizeLong(const MessageLite& base) {
  const AttemptOtpFillingAction& this_ = static_cast<const AttemptOtpFillingAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AttemptOtpFillingAction::ByteSizeLong() const {
  const AttemptOtpFillingAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AttemptOtpFillingAction)
  ::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>(0x00000004U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000bU)) {
    // repeated .optimization_guide.proto.ActionTarget target_fields = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_target_fields_size();
      for (const auto& msg : this_._internal_target_fields()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // int32 tab_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
    // .optimization_guide.proto.AttemptOtpFillingAction.OtpType predicted_otp_type = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_predicted_otp_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 AttemptOtpFillingAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AttemptOtpFillingAction*>(&to_msg);
  auto& from = static_cast<const AttemptOtpFillingAction&>(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.AttemptOtpFillingAction)
  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_target_fields()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_target_fields());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.for_signin_ = from._impl_.for_signin_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.predicted_otp_type_ = from._impl_.predicted_otp_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AttemptOtpFillingAction::InternalSwap(AttemptOtpFillingAction* 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_.target_fields_.InternalSwap(&other->_impl_.target_fields_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.predicted_otp_type_)
      + sizeof(AttemptOtpFillingAction::_impl_.predicted_otp_type_)
      - PROTOBUF_FIELD_OFFSET(AttemptOtpFillingAction, _impl_.tab_id_)>(
          reinterpret_cast<char*>(&_impl_.tab_id_),
          reinterpret_cast<char*>(&other->_impl_.tab_id_));
}

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

ScrollToAction::ScrollToAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScrollToAction_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.ScrollToAction)
}
PROTOBUF_NDEBUG_INLINE ScrollToAction::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::ScrollToAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ScrollToAction* 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_.target_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_)
                : nullptr;
  _impl_.tab_id_ = from._impl_.tab_id_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ScrollToAction_class_data_ =
    ScrollToAction::InternalGenerateClassData_(ScrollToAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScrollToAction::GetClassData() const {
  return ScrollToAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScrollToAction::GetClassData() const {
  return ScrollToAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScrollToAction::ParseTableT_
    ScrollToAction::_table_ =
        ScrollToAction::InternalGenerateParseTable_(ScrollToAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScrollToAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ScrollToAction)
  ::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)) {
    ABSL_DCHECK(_impl_.target_ != nullptr);
    _impl_.target_->Clear();
  }
  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 tab_id = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_tab_id(), 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.ScrollToAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScrollToAction::ByteSizeLong(const MessageLite& base) {
  const ScrollToAction& this_ = static_cast<const ScrollToAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScrollToAction::ByteSizeLong() const {
  const ScrollToAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ScrollToAction)
  ::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)) {
    // .optimization_guide.proto.ActionTarget target = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.target_);
    }
    // int32 tab_id = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 ScrollToAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScrollToAction*>(&to_msg);
  auto& from = static_cast<const ScrollToAction&>(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.ScrollToAction)
  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)) {
      ABSL_DCHECK(from._impl_.target_ != nullptr);
      if (_this->_impl_.target_ == nullptr) {
        _this->_impl_.target_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.target_);
      } else {
        _this->_impl_.target_->MergeFrom(*from._impl_.target_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScrollToAction::InternalSwap(ScrollToAction* 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(ScrollToAction, _impl_.tab_id_)
      + sizeof(ScrollToAction::_impl_.tab_id_)
      - PROTOBUF_FIELD_OFFSET(ScrollToAction, _impl_.target_)>(
          reinterpret_cast<char*>(&_impl_.target_),
          reinterpret_cast<char*>(&other->_impl_.target_));
}

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

void ScriptToolAction::clear_document_identifier() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.document_identifier_ != nullptr) _impl_.document_identifier_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
ScriptToolAction::ScriptToolAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScriptToolAction_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.ScriptToolAction)
}
PROTOBUF_NDEBUG_INLINE ScriptToolAction::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::ScriptToolAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        tool_name_(arena, from.tool_name_),
        input_arguments_(arena, from.input_arguments_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ScriptToolAction* 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_.document_identifier_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.document_identifier_)
                : nullptr;
  _impl_.tab_id_ = from._impl_.tab_id_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ScriptToolAction_class_data_ =
    ScriptToolAction::InternalGenerateClassData_(ScriptToolAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScriptToolAction::GetClassData() const {
  return ScriptToolAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScriptToolAction::GetClassData() const {
  return ScriptToolAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScriptToolAction::ParseTableT_
    ScriptToolAction::_table_ =
        ScriptToolAction::InternalGenerateParseTable_(ScriptToolAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScriptToolAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ScriptToolAction)
  ::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)) {
      _impl_.tool_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.input_arguments_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.document_identifier_ != nullptr);
      _impl_.document_identifier_->Clear();
    }
  }
  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 tab_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_tab_id(), target);
  }

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

  // string input_arguments = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_input_arguments();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ScriptToolAction.input_arguments");
    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.ScriptToolAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScriptToolAction::ByteSizeLong(const MessageLite& base) {
  const ScriptToolAction& this_ = static_cast<const ScriptToolAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScriptToolAction::ByteSizeLong() const {
  const ScriptToolAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ScriptToolAction)
  ::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 tool_name = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_tool_name());
    }
    // string input_arguments = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_input_arguments());
    }
    // .optimization_guide.proto.DocumentIdentifier document_identifier = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.document_identifier_);
    }
    // int32 tab_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 ScriptToolAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScriptToolAction*>(&to_msg);
  auto& from = static_cast<const ScriptToolAction&>(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.ScriptToolAction)
  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_tool_name(from._internal_tool_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_input_arguments(from._internal_input_arguments());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.document_identifier_ != nullptr);
      if (_this->_impl_.document_identifier_ == nullptr) {
        _this->_impl_.document_identifier_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.document_identifier_);
      } else {
        _this->_impl_.document_identifier_->MergeFrom(*from._impl_.document_identifier_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScriptToolAction::InternalSwap(ScriptToolAction* 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_.tool_name_, &other->_impl_.tool_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.input_arguments_, &other->_impl_.input_arguments_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.tab_id_)
      + sizeof(ScriptToolAction::_impl_.tab_id_)
      - PROTOBUF_FIELD_OFFSET(ScriptToolAction, _impl_.document_identifier_)>(
          reinterpret_cast<char*>(&_impl_.document_identifier_),
          reinterpret_cast<char*>(&other->_impl_.document_identifier_));
}

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

PlayMediaAction::PlayMediaAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PlayMediaAction_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.PlayMediaAction)
}
PlayMediaAction::PlayMediaAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PlayMediaAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PlayMediaAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PlayMediaAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PlayMediaAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
PlayMediaAction::~PlayMediaAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.PlayMediaAction)
  SharedDtor(*this);
}
inline void PlayMediaAction::SharedDtor(MessageLite& self) {
  PlayMediaAction& this_ = static_cast<PlayMediaAction&>(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 PlayMediaAction_class_data_ =
    PlayMediaAction::InternalGenerateClassData_(PlayMediaAction_globals_._default);

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

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

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

  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.PlayMediaAction)
  return target;
}

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

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

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

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PlayMediaAction::InternalSwap(PlayMediaAction* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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

PauseMediaAction::PauseMediaAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PauseMediaAction_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.PauseMediaAction)
}
PauseMediaAction::PauseMediaAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PauseMediaAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PauseMediaAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PauseMediaAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PauseMediaAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
PauseMediaAction::~PauseMediaAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.PauseMediaAction)
  SharedDtor(*this);
}
inline void PauseMediaAction::SharedDtor(MessageLite& self) {
  PauseMediaAction& this_ = static_cast<PauseMediaAction&>(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 PauseMediaAction_class_data_ =
    PauseMediaAction::InternalGenerateClassData_(PauseMediaAction_globals_._default);

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

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

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

  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.PauseMediaAction)
  return target;
}

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

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

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

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PauseMediaAction::InternalSwap(PauseMediaAction* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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

SeekMediaAction::SeekMediaAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SeekMediaAction_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.SeekMediaAction)
}
SeekMediaAction::SeekMediaAction(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SeekMediaAction& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SeekMediaAction_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE SeekMediaAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SeekMediaAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, seek_time_microseconds_),
           0,
           offsetof(Impl_, seek_time_milliseconds_) -
               offsetof(Impl_, seek_time_microseconds_) +
               sizeof(Impl_::seek_time_milliseconds_));
}
SeekMediaAction::~SeekMediaAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.SeekMediaAction)
  SharedDtor(*this);
}
inline void SeekMediaAction::SharedDtor(MessageLite& self) {
  SeekMediaAction& this_ = static_cast<SeekMediaAction&>(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 SeekMediaAction_class_data_ =
    SeekMediaAction::InternalGenerateClassData_(SeekMediaAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SeekMediaAction::GetClassData() const {
  return SeekMediaAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SeekMediaAction::GetClassData() const {
  return SeekMediaAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SeekMediaAction::ParseTableT_
    SeekMediaAction::_table_ =
        SeekMediaAction::InternalGenerateParseTable_(SeekMediaAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SeekMediaAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.SeekMediaAction)
  ::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)) {
    ::memset(&_impl_.seek_time_microseconds_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.seek_time_milliseconds_) -
        reinterpret_cast<char*>(&_impl_.seek_time_microseconds_)) + sizeof(_impl_.seek_time_milliseconds_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int64 seek_time_microseconds = 1 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_seek_time_microseconds(), target);
  }

  // int64 seek_time_milliseconds = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_seek_time_milliseconds(), 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.SeekMediaAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SeekMediaAction::ByteSizeLong(const MessageLite& base) {
  const SeekMediaAction& this_ = static_cast<const SeekMediaAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SeekMediaAction::ByteSizeLong() const {
  const SeekMediaAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.SeekMediaAction)
  ::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)) {
    // int64 seek_time_microseconds = 1 [deprecated = true, features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_seek_time_microseconds());
    }
    // int64 seek_time_milliseconds = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_seek_time_milliseconds());
    }
  }
  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 SeekMediaAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SeekMediaAction*>(&to_msg);
  auto& from = static_cast<const SeekMediaAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.SeekMediaAction)
  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->_impl_.seek_time_microseconds_ = from._impl_.seek_time_microseconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.seek_time_milliseconds_ = from._impl_.seek_time_milliseconds_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SeekMediaAction::InternalSwap(SeekMediaAction* 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(SeekMediaAction, _impl_.seek_time_milliseconds_)
      + sizeof(SeekMediaAction::_impl_.seek_time_milliseconds_)
      - PROTOBUF_FIELD_OFFSET(SeekMediaAction, _impl_.seek_time_microseconds_)>(
          reinterpret_cast<char*>(&_impl_.seek_time_microseconds_),
          reinterpret_cast<char*>(&other->_impl_.seek_time_microseconds_));
}

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

void MediaControlAction::set_allocated_play(::optimization_guide::proto::PlayMediaAction* PROTOBUF_NULLABLE play) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_media_control_action();
  if (play) {
    ::google::protobuf::Arena* submessage_arena = play->GetArena();
    if (message_arena != submessage_arena) {
      play = ::google::protobuf::internal::GetOwnedMessage(message_arena, play, submessage_arena);
    }
    set_has_play();
    _impl_.media_control_action_.play_ = play;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.MediaControlAction.play)
}
void MediaControlAction::set_allocated_pause(::optimization_guide::proto::PauseMediaAction* PROTOBUF_NULLABLE pause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_media_control_action();
  if (pause) {
    ::google::protobuf::Arena* submessage_arena = pause->GetArena();
    if (message_arena != submessage_arena) {
      pause = ::google::protobuf::internal::GetOwnedMessage(message_arena, pause, submessage_arena);
    }
    set_has_pause();
    _impl_.media_control_action_.pause_ = pause;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.MediaControlAction.pause)
}
void MediaControlAction::set_allocated_seek(::optimization_guide::proto::SeekMediaAction* PROTOBUF_NULLABLE seek) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_media_control_action();
  if (seek) {
    ::google::protobuf::Arena* submessage_arena = seek->GetArena();
    if (message_arena != submessage_arena) {
      seek = ::google::protobuf::internal::GetOwnedMessage(message_arena, seek, submessage_arena);
    }
    set_has_seek();
    _impl_.media_control_action_.seek_ = seek;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.MediaControlAction.seek)
}
MediaControlAction::MediaControlAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MediaControlAction_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.MediaControlAction)
}
PROTOBUF_NDEBUG_INLINE MediaControlAction::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::MediaControlAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        media_control_action_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MediaControlAction* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.tab_id_ = from._impl_.tab_id_;
  switch (media_control_action_case()) {
    case MEDIA_CONTROL_ACTION_NOT_SET:
      break;
      case kPlay:
        _impl_.media_control_action_.play_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.media_control_action_.play_);
        break;
      case kPause:
        _impl_.media_control_action_.pause_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.media_control_action_.pause_);
        break;
      case kSeek:
        _impl_.media_control_action_.seek_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.media_control_action_.seek_);
        break;
  }

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

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

void MediaControlAction::clear_media_control_action() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.MediaControlAction)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (media_control_action_case()) {
    case kPlay: {
      if (GetArena() == nullptr) {
        delete _impl_.media_control_action_.play_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.media_control_action_.play_ != nullptr) {
          _impl_.media_control_action_.play_->Clear();
        }
      }
      break;
    }
    case kPause: {
      if (GetArena() == nullptr) {
        delete _impl_.media_control_action_.pause_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.media_control_action_.pause_ != nullptr) {
          _impl_.media_control_action_.pause_->Clear();
        }
      }
      break;
    }
    case kSeek: {
      if (GetArena() == nullptr) {
        delete _impl_.media_control_action_.seek_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.media_control_action_.seek_ != nullptr) {
          _impl_.media_control_action_.seek_->Clear();
        }
      }
      break;
    }
    case MEDIA_CONTROL_ACTION_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = MEDIA_CONTROL_ACTION_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite MediaControlAction_class_data_ =
    MediaControlAction::InternalGenerateClassData_(MediaControlAction_globals_._default);

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

  _impl_.tab_id_ = 0;
  clear_media_control_action();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 tab_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_tab_id(), target);
  }

  switch (this_.media_control_action_case()) {
    case kPlay: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.media_control_action_.play_, this_._impl_.media_control_action_.play_->GetCachedSize(), target,
          stream);
      break;
    }
    case kPause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.media_control_action_.pause_, this_._impl_.media_control_action_.pause_->GetCachedSize(), target,
          stream);
      break;
    }
    case kSeek: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.media_control_action_.seek_, this_._impl_.media_control_action_.seek_->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.MediaControlAction)
  return target;
}

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

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

   {
    // int32 tab_id = 2 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  switch (this_.media_control_action_case()) {
    // .optimization_guide.proto.PlayMediaAction play = 3;
    case kPlay: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.media_control_action_.play_);
      break;
    }
    // .optimization_guide.proto.PauseMediaAction pause = 4;
    case kPause: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.media_control_action_.pause_);
      break;
    }
    // .optimization_guide.proto.SeekMediaAction seek = 5;
    case kSeek: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.media_control_action_.seek_);
      break;
    }
    case MEDIA_CONTROL_ACTION_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 MediaControlAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MediaControlAction*>(&to_msg);
  auto& from = static_cast<const MediaControlAction&>(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.MediaControlAction)
  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->_impl_.tab_id_ = from._impl_.tab_id_;
  }
  _this->_impl_._has_bits_[0] |= 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_media_control_action();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kPlay: {
        if (oneof_needs_init) {
          _this->_impl_.media_control_action_.play_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.media_control_action_.play_);
        } else {
          _this->_impl_.media_control_action_.play_->CheckTypeAndMergeFrom(*from._impl_.media_control_action_.play_);
        }
        break;
      }
      case kPause: {
        if (oneof_needs_init) {
          _this->_impl_.media_control_action_.pause_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.media_control_action_.pause_);
        } else {
          _this->_impl_.media_control_action_.pause_->CheckTypeAndMergeFrom(*from._impl_.media_control_action_.pause_);
        }
        break;
      }
      case kSeek: {
        if (oneof_needs_init) {
          _this->_impl_.media_control_action_.seek_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.media_control_action_.seek_);
        } else {
          _this->_impl_.media_control_action_.seek_->CheckTypeAndMergeFrom(*from._impl_.media_control_action_.seek_);
        }
        break;
      }
      case MEDIA_CONTROL_ACTION_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

LoadAndExtractContentAction::LoadAndExtractContentAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, LoadAndExtractContentAction_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.LoadAndExtractContentAction)
}
PROTOBUF_NDEBUG_INLINE LoadAndExtractContentAction::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::LoadAndExtractContentAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        urls_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::LoadAndExtractContentAction,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::LoadAndExtractContentAction, _impl_.urls_)>()
          , from.urls_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  LoadAndExtractContentAction* 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.LoadAndExtractContentAction)
}
PROTOBUF_NDEBUG_INLINE LoadAndExtractContentAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        urls_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::LoadAndExtractContentAction,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::LoadAndExtractContentAction, _impl_.urls_)>()
         }
     {}

inline void LoadAndExtractContentAction::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
LoadAndExtractContentAction::~LoadAndExtractContentAction() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.LoadAndExtractContentAction)
  SharedDtor(*this);
}
inline void LoadAndExtractContentAction::SharedDtor(MessageLite& self) {
  LoadAndExtractContentAction& this_ = static_cast<LoadAndExtractContentAction&>(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 LoadAndExtractContentAction_class_data_ =
    LoadAndExtractContentAction::InternalGenerateClassData_(LoadAndExtractContentAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
LoadAndExtractContentAction::GetClassData() const {
  return LoadAndExtractContentAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
LoadAndExtractContentAction::GetClassData() const {
  return LoadAndExtractContentAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const LoadAndExtractContentAction::ParseTableT_
    LoadAndExtractContentAction::_table_ =
        LoadAndExtractContentAction::InternalGenerateParseTable_(LoadAndExtractContentAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void LoadAndExtractContentAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.LoadAndExtractContentAction)
  ::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_.urls_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated string urls = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_urls_size(); i < n; ++i) {
      const auto& s = this_._internal_urls().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.LoadAndExtractContentAction.urls");
      target = stream->WriteString(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.LoadAndExtractContentAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t LoadAndExtractContentAction::ByteSizeLong(const MessageLite& base) {
  const LoadAndExtractContentAction& this_ = static_cast<const LoadAndExtractContentAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t LoadAndExtractContentAction::ByteSizeLong() const {
  const LoadAndExtractContentAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.LoadAndExtractContentAction)
  ::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 string urls = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_urls().size());
      for (int i = 0, n = this_._internal_urls().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_urls().Get(i));
      }
    }
  }
  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 LoadAndExtractContentAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<LoadAndExtractContentAction*>(&to_msg);
  auto& from = static_cast<const LoadAndExtractContentAction&>(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.LoadAndExtractContentAction)
  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_urls()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_urls());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void LoadAndExtractContentAction::InternalSwap(LoadAndExtractContentAction* 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_.urls_.InternalSwap(&other->_impl_.urls_);
}

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

TranslatePageAction::TranslatePageAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TranslatePageAction_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.TranslatePageAction)
}
PROTOBUF_NDEBUG_INLINE TranslatePageAction::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::TranslatePageAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        target_language_(arena, from.target_language_) {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TranslatePageAction_class_data_ =
    TranslatePageAction::InternalGenerateClassData_(TranslatePageAction_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TranslatePageAction::GetClassData() const {
  return TranslatePageAction_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TranslatePageAction::GetClassData() const {
  return TranslatePageAction_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TranslatePageAction::ParseTableT_
    TranslatePageAction::_table_ =
        TranslatePageAction::InternalGenerateParseTable_(TranslatePageAction_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TranslatePageAction::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TranslatePageAction)
  ::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_.target_language_.ClearNonDefaultToEmpty();
  }
  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 tab_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_tab_id(), 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.TranslatePageAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TranslatePageAction::ByteSizeLong(const MessageLite& base) {
  const TranslatePageAction& this_ = static_cast<const TranslatePageAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TranslatePageAction::ByteSizeLong() const {
  const TranslatePageAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TranslatePageAction)
  ::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)) {
    // string target_language = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_target_language());
    }
    // int32 tab_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 TranslatePageAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TranslatePageAction*>(&to_msg);
  auto& from = static_cast<const TranslatePageAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TranslatePageAction)
  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_set_target_language(from._internal_target_language());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TranslatePageAction::InternalSwap(TranslatePageAction* 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_.target_language_, &other->_impl_.target_language_, arena);
  swap(_impl_.tab_id_, other->_impl_.tab_id_);
}

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

void Action::set_allocated_click(::optimization_guide::proto::ClickAction* PROTOBUF_NULLABLE click) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (click) {
    ::google::protobuf::Arena* submessage_arena = click->GetArena();
    if (message_arena != submessage_arena) {
      click = ::google::protobuf::internal::GetOwnedMessage(message_arena, click, submessage_arena);
    }
    set_has_click();
    _impl_.action_.click_ = click;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.click)
}
void Action::set_allocated_type(::optimization_guide::proto::TypeAction* PROTOBUF_NULLABLE type) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (type) {
    ::google::protobuf::Arena* submessage_arena = type->GetArena();
    if (message_arena != submessage_arena) {
      type = ::google::protobuf::internal::GetOwnedMessage(message_arena, type, submessage_arena);
    }
    set_has_type();
    _impl_.action_.type_ = type;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.type)
}
void Action::set_allocated_scroll(::optimization_guide::proto::ScrollAction* PROTOBUF_NULLABLE scroll) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (scroll) {
    ::google::protobuf::Arena* submessage_arena = scroll->GetArena();
    if (message_arena != submessage_arena) {
      scroll = ::google::protobuf::internal::GetOwnedMessage(message_arena, scroll, submessage_arena);
    }
    set_has_scroll();
    _impl_.action_.scroll_ = scroll;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.scroll)
}
void Action::set_allocated_move_mouse(::optimization_guide::proto::MoveMouseAction* PROTOBUF_NULLABLE move_mouse) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (move_mouse) {
    ::google::protobuf::Arena* submessage_arena = move_mouse->GetArena();
    if (message_arena != submessage_arena) {
      move_mouse = ::google::protobuf::internal::GetOwnedMessage(message_arena, move_mouse, submessage_arena);
    }
    set_has_move_mouse();
    _impl_.action_.move_mouse_ = move_mouse;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.move_mouse)
}
void Action::set_allocated_drag_and_release(::optimization_guide::proto::DragAndReleaseAction* PROTOBUF_NULLABLE drag_and_release) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (drag_and_release) {
    ::google::protobuf::Arena* submessage_arena = drag_and_release->GetArena();
    if (message_arena != submessage_arena) {
      drag_and_release = ::google::protobuf::internal::GetOwnedMessage(message_arena, drag_and_release, submessage_arena);
    }
    set_has_drag_and_release();
    _impl_.action_.drag_and_release_ = drag_and_release;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.drag_and_release)
}
void Action::set_allocated_select(::optimization_guide::proto::SelectAction* PROTOBUF_NULLABLE select) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (select) {
    ::google::protobuf::Arena* submessage_arena = select->GetArena();
    if (message_arena != submessage_arena) {
      select = ::google::protobuf::internal::GetOwnedMessage(message_arena, select, submessage_arena);
    }
    set_has_select();
    _impl_.action_.select_ = select;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.select)
}
void Action::set_allocated_navigate(::optimization_guide::proto::NavigateAction* PROTOBUF_NULLABLE navigate) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (navigate) {
    ::google::protobuf::Arena* submessage_arena = navigate->GetArena();
    if (message_arena != submessage_arena) {
      navigate = ::google::protobuf::internal::GetOwnedMessage(message_arena, navigate, submessage_arena);
    }
    set_has_navigate();
    _impl_.action_.navigate_ = navigate;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.navigate)
}
void Action::set_allocated_back(::optimization_guide::proto::HistoryBackAction* PROTOBUF_NULLABLE back) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (back) {
    ::google::protobuf::Arena* submessage_arena = back->GetArena();
    if (message_arena != submessage_arena) {
      back = ::google::protobuf::internal::GetOwnedMessage(message_arena, back, submessage_arena);
    }
    set_has_back();
    _impl_.action_.back_ = back;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.back)
}
void Action::set_allocated_forward(::optimization_guide::proto::HistoryForwardAction* PROTOBUF_NULLABLE forward) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (forward) {
    ::google::protobuf::Arena* submessage_arena = forward->GetArena();
    if (message_arena != submessage_arena) {
      forward = ::google::protobuf::internal::GetOwnedMessage(message_arena, forward, submessage_arena);
    }
    set_has_forward();
    _impl_.action_.forward_ = forward;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.forward)
}
void Action::set_allocated_wait(::optimization_guide::proto::WaitAction* PROTOBUF_NULLABLE wait) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (wait) {
    ::google::protobuf::Arena* submessage_arena = wait->GetArena();
    if (message_arena != submessage_arena) {
      wait = ::google::protobuf::internal::GetOwnedMessage(message_arena, wait, submessage_arena);
    }
    set_has_wait();
    _impl_.action_.wait_ = wait;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.wait)
}
void Action::set_allocated_create_tab(::optimization_guide::proto::CreateTabAction* PROTOBUF_NULLABLE create_tab) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (create_tab) {
    ::google::protobuf::Arena* submessage_arena = create_tab->GetArena();
    if (message_arena != submessage_arena) {
      create_tab = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_tab, submessage_arena);
    }
    set_has_create_tab();
    _impl_.action_.create_tab_ = create_tab;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.create_tab)
}
void Action::set_allocated_close_tab(::optimization_guide::proto::CloseTabAction* PROTOBUF_NULLABLE close_tab) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (close_tab) {
    ::google::protobuf::Arena* submessage_arena = close_tab->GetArena();
    if (message_arena != submessage_arena) {
      close_tab = ::google::protobuf::internal::GetOwnedMessage(message_arena, close_tab, submessage_arena);
    }
    set_has_close_tab();
    _impl_.action_.close_tab_ = close_tab;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.close_tab)
}
void Action::set_allocated_activate_tab(::optimization_guide::proto::ActivateTabAction* PROTOBUF_NULLABLE activate_tab) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (activate_tab) {
    ::google::protobuf::Arena* submessage_arena = activate_tab->GetArena();
    if (message_arena != submessage_arena) {
      activate_tab = ::google::protobuf::internal::GetOwnedMessage(message_arena, activate_tab, submessage_arena);
    }
    set_has_activate_tab();
    _impl_.action_.activate_tab_ = activate_tab;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.activate_tab)
}
void Action::set_allocated_create_window(::optimization_guide::proto::CreateWindowAction* PROTOBUF_NULLABLE create_window) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (create_window) {
    ::google::protobuf::Arena* submessage_arena = create_window->GetArena();
    if (message_arena != submessage_arena) {
      create_window = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_window, submessage_arena);
    }
    set_has_create_window();
    _impl_.action_.create_window_ = create_window;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.create_window)
}
void Action::set_allocated_close_window(::optimization_guide::proto::CloseWindowAction* PROTOBUF_NULLABLE close_window) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (close_window) {
    ::google::protobuf::Arena* submessage_arena = close_window->GetArena();
    if (message_arena != submessage_arena) {
      close_window = ::google::protobuf::internal::GetOwnedMessage(message_arena, close_window, submessage_arena);
    }
    set_has_close_window();
    _impl_.action_.close_window_ = close_window;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.close_window)
}
void Action::set_allocated_activate_window(::optimization_guide::proto::ActivateWindowAction* PROTOBUF_NULLABLE activate_window) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (activate_window) {
    ::google::protobuf::Arena* submessage_arena = activate_window->GetArena();
    if (message_arena != submessage_arena) {
      activate_window = ::google::protobuf::internal::GetOwnedMessage(message_arena, activate_window, submessage_arena);
    }
    set_has_activate_window();
    _impl_.action_.activate_window_ = activate_window;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.activate_window)
}
void Action::set_allocated_yield_to_user(::optimization_guide::proto::YieldToUserAction* PROTOBUF_NULLABLE yield_to_user) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (yield_to_user) {
    ::google::protobuf::Arena* submessage_arena = yield_to_user->GetArena();
    if (message_arena != submessage_arena) {
      yield_to_user = ::google::protobuf::internal::GetOwnedMessage(message_arena, yield_to_user, submessage_arena);
    }
    set_has_yield_to_user();
    _impl_.action_.yield_to_user_ = yield_to_user;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.yield_to_user)
}
void Action::set_allocated_attempt_login(::optimization_guide::proto::AttemptLoginAction* PROTOBUF_NULLABLE attempt_login) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (attempt_login) {
    ::google::protobuf::Arena* submessage_arena = attempt_login->GetArena();
    if (message_arena != submessage_arena) {
      attempt_login = ::google::protobuf::internal::GetOwnedMessage(message_arena, attempt_login, submessage_arena);
    }
    set_has_attempt_login();
    _impl_.action_.attempt_login_ = attempt_login;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.attempt_login)
}
void Action::set_allocated_scroll_to(::optimization_guide::proto::ScrollToAction* PROTOBUF_NULLABLE scroll_to) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (scroll_to) {
    ::google::protobuf::Arena* submessage_arena = scroll_to->GetArena();
    if (message_arena != submessage_arena) {
      scroll_to = ::google::protobuf::internal::GetOwnedMessage(message_arena, scroll_to, submessage_arena);
    }
    set_has_scroll_to();
    _impl_.action_.scroll_to_ = scroll_to;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.scroll_to)
}
void Action::set_allocated_script_tool(::optimization_guide::proto::ScriptToolAction* PROTOBUF_NULLABLE script_tool) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (script_tool) {
    ::google::protobuf::Arena* submessage_arena = script_tool->GetArena();
    if (message_arena != submessage_arena) {
      script_tool = ::google::protobuf::internal::GetOwnedMessage(message_arena, script_tool, submessage_arena);
    }
    set_has_script_tool();
    _impl_.action_.script_tool_ = script_tool;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.script_tool)
}
void Action::set_allocated_media_control(::optimization_guide::proto::MediaControlAction* PROTOBUF_NULLABLE media_control) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (media_control) {
    ::google::protobuf::Arena* submessage_arena = media_control->GetArena();
    if (message_arena != submessage_arena) {
      media_control = ::google::protobuf::internal::GetOwnedMessage(message_arena, media_control, submessage_arena);
    }
    set_has_media_control();
    _impl_.action_.media_control_ = media_control;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.media_control)
}
void Action::set_allocated_attempt_form_filling(::optimization_guide::proto::AttemptFormFillingAction* PROTOBUF_NULLABLE attempt_form_filling) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (attempt_form_filling) {
    ::google::protobuf::Arena* submessage_arena = attempt_form_filling->GetArena();
    if (message_arena != submessage_arena) {
      attempt_form_filling = ::google::protobuf::internal::GetOwnedMessage(message_arena, attempt_form_filling, submessage_arena);
    }
    set_has_attempt_form_filling();
    _impl_.action_.attempt_form_filling_ = attempt_form_filling;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.attempt_form_filling)
}
void Action::set_allocated_load_and_extract_content(::optimization_guide::proto::LoadAndExtractContentAction* PROTOBUF_NULLABLE load_and_extract_content) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (load_and_extract_content) {
    ::google::protobuf::Arena* submessage_arena = load_and_extract_content->GetArena();
    if (message_arena != submessage_arena) {
      load_and_extract_content = ::google::protobuf::internal::GetOwnedMessage(message_arena, load_and_extract_content, submessage_arena);
    }
    set_has_load_and_extract_content();
    _impl_.action_.load_and_extract_content_ = load_and_extract_content;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.load_and_extract_content)
}
void Action::set_allocated_attempt_otp_filling(::optimization_guide::proto::AttemptOtpFillingAction* PROTOBUF_NULLABLE attempt_otp_filling) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (attempt_otp_filling) {
    ::google::protobuf::Arena* submessage_arena = attempt_otp_filling->GetArena();
    if (message_arena != submessage_arena) {
      attempt_otp_filling = ::google::protobuf::internal::GetOwnedMessage(message_arena, attempt_otp_filling, submessage_arena);
    }
    set_has_attempt_otp_filling();
    _impl_.action_.attempt_otp_filling_ = attempt_otp_filling;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.attempt_otp_filling)
}
void Action::set_allocated_translate_page(::optimization_guide::proto::TranslatePageAction* PROTOBUF_NULLABLE translate_page) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_action();
  if (translate_page) {
    ::google::protobuf::Arena* submessage_arena = translate_page->GetArena();
    if (message_arena != submessage_arena) {
      translate_page = ::google::protobuf::internal::GetOwnedMessage(message_arena, translate_page, submessage_arena);
    }
    set_has_translate_page();
    _impl_.action_.translate_page_ = translate_page;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Action.translate_page)
}
Action::Action(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Action_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.Action)
}
PROTOBUF_NDEBUG_INLINE Action::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::Action& from_msg)
      : action_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Action* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (action_case()) {
    case ACTION_NOT_SET:
      break;
      case kClick:
        _impl_.action_.click_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.click_);
        break;
      case kType:
        _impl_.action_.type_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.type_);
        break;
      case kScroll:
        _impl_.action_.scroll_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.scroll_);
        break;
      case kMoveMouse:
        _impl_.action_.move_mouse_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.move_mouse_);
        break;
      case kDragAndRelease:
        _impl_.action_.drag_and_release_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.drag_and_release_);
        break;
      case kSelect:
        _impl_.action_.select_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.select_);
        break;
      case kNavigate:
        _impl_.action_.navigate_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.navigate_);
        break;
      case kBack:
        _impl_.action_.back_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.back_);
        break;
      case kForward:
        _impl_.action_.forward_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.forward_);
        break;
      case kWait:
        _impl_.action_.wait_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.wait_);
        break;
      case kCreateTab:
        _impl_.action_.create_tab_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.create_tab_);
        break;
      case kCloseTab:
        _impl_.action_.close_tab_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.close_tab_);
        break;
      case kActivateTab:
        _impl_.action_.activate_tab_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.activate_tab_);
        break;
      case kCreateWindow:
        _impl_.action_.create_window_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.create_window_);
        break;
      case kCloseWindow:
        _impl_.action_.close_window_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.close_window_);
        break;
      case kActivateWindow:
        _impl_.action_.activate_window_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.activate_window_);
        break;
      case kYieldToUser:
        _impl_.action_.yield_to_user_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.yield_to_user_);
        break;
      case kAttemptLogin:
        _impl_.action_.attempt_login_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.attempt_login_);
        break;
      case kScrollTo:
        _impl_.action_.scroll_to_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.scroll_to_);
        break;
      case kScriptTool:
        _impl_.action_.script_tool_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.script_tool_);
        break;
      case kMediaControl:
        _impl_.action_.media_control_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.media_control_);
        break;
      case kAttemptFormFilling:
        _impl_.action_.attempt_form_filling_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.attempt_form_filling_);
        break;
      case kLoadAndExtractContent:
        _impl_.action_.load_and_extract_content_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.load_and_extract_content_);
        break;
      case kAttemptOtpFilling:
        _impl_.action_.attempt_otp_filling_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.attempt_otp_filling_);
        break;
      case kTranslatePage:
        _impl_.action_.translate_page_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.translate_page_);
        break;
  }

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

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

void Action::clear_action() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.Action)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (action_case()) {
    case kClick: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.click_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.click_ != nullptr) {
          _impl_.action_.click_->Clear();
        }
      }
      break;
    }
    case kType: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.type_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.type_ != nullptr) {
          _impl_.action_.type_->Clear();
        }
      }
      break;
    }
    case kScroll: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.scroll_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.scroll_ != nullptr) {
          _impl_.action_.scroll_->Clear();
        }
      }
      break;
    }
    case kMoveMouse: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.move_mouse_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.move_mouse_ != nullptr) {
          _impl_.action_.move_mouse_->Clear();
        }
      }
      break;
    }
    case kDragAndRelease: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.drag_and_release_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.drag_and_release_ != nullptr) {
          _impl_.action_.drag_and_release_->Clear();
        }
      }
      break;
    }
    case kSelect: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.select_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.select_ != nullptr) {
          _impl_.action_.select_->Clear();
        }
      }
      break;
    }
    case kNavigate: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.navigate_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.navigate_ != nullptr) {
          _impl_.action_.navigate_->Clear();
        }
      }
      break;
    }
    case kBack: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.back_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.back_ != nullptr) {
          _impl_.action_.back_->Clear();
        }
      }
      break;
    }
    case kForward: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.forward_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.forward_ != nullptr) {
          _impl_.action_.forward_->Clear();
        }
      }
      break;
    }
    case kWait: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.wait_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.wait_ != nullptr) {
          _impl_.action_.wait_->Clear();
        }
      }
      break;
    }
    case kCreateTab: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.create_tab_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.create_tab_ != nullptr) {
          _impl_.action_.create_tab_->Clear();
        }
      }
      break;
    }
    case kCloseTab: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.close_tab_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.close_tab_ != nullptr) {
          _impl_.action_.close_tab_->Clear();
        }
      }
      break;
    }
    case kActivateTab: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.activate_tab_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.activate_tab_ != nullptr) {
          _impl_.action_.activate_tab_->Clear();
        }
      }
      break;
    }
    case kCreateWindow: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.create_window_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.create_window_ != nullptr) {
          _impl_.action_.create_window_->Clear();
        }
      }
      break;
    }
    case kCloseWindow: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.close_window_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.close_window_ != nullptr) {
          _impl_.action_.close_window_->Clear();
        }
      }
      break;
    }
    case kActivateWindow: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.activate_window_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.activate_window_ != nullptr) {
          _impl_.action_.activate_window_->Clear();
        }
      }
      break;
    }
    case kYieldToUser: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.yield_to_user_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.yield_to_user_ != nullptr) {
          _impl_.action_.yield_to_user_->Clear();
        }
      }
      break;
    }
    case kAttemptLogin: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.attempt_login_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.attempt_login_ != nullptr) {
          _impl_.action_.attempt_login_->Clear();
        }
      }
      break;
    }
    case kScrollTo: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.scroll_to_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.scroll_to_ != nullptr) {
          _impl_.action_.scroll_to_->Clear();
        }
      }
      break;
    }
    case kScriptTool: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.script_tool_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.script_tool_ != nullptr) {
          _impl_.action_.script_tool_->Clear();
        }
      }
      break;
    }
    case kMediaControl: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.media_control_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.media_control_ != nullptr) {
          _impl_.action_.media_control_->Clear();
        }
      }
      break;
    }
    case kAttemptFormFilling: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.attempt_form_filling_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.attempt_form_filling_ != nullptr) {
          _impl_.action_.attempt_form_filling_->Clear();
        }
      }
      break;
    }
    case kLoadAndExtractContent: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.load_and_extract_content_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.load_and_extract_content_ != nullptr) {
          _impl_.action_.load_and_extract_content_->Clear();
        }
      }
      break;
    }
    case kAttemptOtpFilling: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.attempt_otp_filling_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.attempt_otp_filling_ != nullptr) {
          _impl_.action_.attempt_otp_filling_->Clear();
        }
      }
      break;
    }
    case kTranslatePage: {
      if (GetArena() == nullptr) {
        delete _impl_.action_.translate_page_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.action_.translate_page_ != nullptr) {
          _impl_.action_.translate_page_->Clear();
        }
      }
      break;
    }
    case ACTION_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = ACTION_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Action_class_data_ =
    Action::InternalGenerateClassData_(Action_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Action::GetClassData() const {
  return Action_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Action::GetClassData() const {
  return Action_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Action::ParseTableT_
    Action::_table_ =
        Action::InternalGenerateParseTable_(Action_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Action::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Action)
  ::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_action();
  _internal_metadata_.Clear<::std::string>();
}

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

  switch (this_.action_case()) {
    case kClick: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, *this_._impl_.action_.click_, this_._impl_.action_.click_->GetCachedSize(), target,
          stream);
      break;
    }
    case kType: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.action_.type_, this_._impl_.action_.type_->GetCachedSize(), target,
          stream);
      break;
    }
    case kScroll: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.action_.scroll_, this_._impl_.action_.scroll_->GetCachedSize(), target,
          stream);
      break;
    }
    case kMoveMouse: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.action_.move_mouse_, this_._impl_.action_.move_mouse_->GetCachedSize(), target,
          stream);
      break;
    }
    case kDragAndRelease: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.action_.drag_and_release_, this_._impl_.action_.drag_and_release_->GetCachedSize(), target,
          stream);
      break;
    }
    case kSelect: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, *this_._impl_.action_.select_, this_._impl_.action_.select_->GetCachedSize(), target,
          stream);
      break;
    }
    case kNavigate: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          7, *this_._impl_.action_.navigate_, this_._impl_.action_.navigate_->GetCachedSize(), target,
          stream);
      break;
    }
    case kBack: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          8, *this_._impl_.action_.back_, this_._impl_.action_.back_->GetCachedSize(), target,
          stream);
      break;
    }
    case kForward: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          9, *this_._impl_.action_.forward_, this_._impl_.action_.forward_->GetCachedSize(), target,
          stream);
      break;
    }
    case kWait: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          10, *this_._impl_.action_.wait_, this_._impl_.action_.wait_->GetCachedSize(), target,
          stream);
      break;
    }
    case kCreateTab: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          11, *this_._impl_.action_.create_tab_, this_._impl_.action_.create_tab_->GetCachedSize(), target,
          stream);
      break;
    }
    case kCloseTab: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          12, *this_._impl_.action_.close_tab_, this_._impl_.action_.close_tab_->GetCachedSize(), target,
          stream);
      break;
    }
    case kActivateTab: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          13, *this_._impl_.action_.activate_tab_, this_._impl_.action_.activate_tab_->GetCachedSize(), target,
          stream);
      break;
    }
    case kCreateWindow: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          14, *this_._impl_.action_.create_window_, this_._impl_.action_.create_window_->GetCachedSize(), target,
          stream);
      break;
    }
    case kCloseWindow: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          15, *this_._impl_.action_.close_window_, this_._impl_.action_.close_window_->GetCachedSize(), target,
          stream);
      break;
    }
    case kActivateWindow: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          16, *this_._impl_.action_.activate_window_, this_._impl_.action_.activate_window_->GetCachedSize(), target,
          stream);
      break;
    }
    case kYieldToUser: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          17, *this_._impl_.action_.yield_to_user_, this_._impl_.action_.yield_to_user_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAttemptLogin: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          18, *this_._impl_.action_.attempt_login_, this_._impl_.action_.attempt_login_->GetCachedSize(), target,
          stream);
      break;
    }
    case kScrollTo: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          19, *this_._impl_.action_.scroll_to_, this_._impl_.action_.scroll_to_->GetCachedSize(), target,
          stream);
      break;
    }
    case kScriptTool: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          20, *this_._impl_.action_.script_tool_, this_._impl_.action_.script_tool_->GetCachedSize(), target,
          stream);
      break;
    }
    case kMediaControl: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          21, *this_._impl_.action_.media_control_, this_._impl_.action_.media_control_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAttemptFormFilling: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          22, *this_._impl_.action_.attempt_form_filling_, this_._impl_.action_.attempt_form_filling_->GetCachedSize(), target,
          stream);
      break;
    }
    case kLoadAndExtractContent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          23, *this_._impl_.action_.load_and_extract_content_, this_._impl_.action_.load_and_extract_content_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAttemptOtpFilling: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          24, *this_._impl_.action_.attempt_otp_filling_, this_._impl_.action_.attempt_otp_filling_->GetCachedSize(), target,
          stream);
      break;
    }
    case kTranslatePage: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          25, *this_._impl_.action_.translate_page_, this_._impl_.action_.translate_page_->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.Action)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Action::ByteSizeLong(const MessageLite& base) {
  const Action& this_ = static_cast<const Action&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Action::ByteSizeLong() const {
  const Action& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Action)
  ::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_.action_case()) {
    // .optimization_guide.proto.ClickAction click = 1;
    case kClick: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.click_);
      break;
    }
    // .optimization_guide.proto.TypeAction type = 2;
    case kType: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.type_);
      break;
    }
    // .optimization_guide.proto.ScrollAction scroll = 3;
    case kScroll: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.scroll_);
      break;
    }
    // .optimization_guide.proto.MoveMouseAction move_mouse = 4;
    case kMoveMouse: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.move_mouse_);
      break;
    }
    // .optimization_guide.proto.DragAndReleaseAction drag_and_release = 5;
    case kDragAndRelease: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.drag_and_release_);
      break;
    }
    // .optimization_guide.proto.SelectAction select = 6;
    case kSelect: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.select_);
      break;
    }
    // .optimization_guide.proto.NavigateAction navigate = 7;
    case kNavigate: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.navigate_);
      break;
    }
    // .optimization_guide.proto.HistoryBackAction back = 8;
    case kBack: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.back_);
      break;
    }
    // .optimization_guide.proto.HistoryForwardAction forward = 9;
    case kForward: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.forward_);
      break;
    }
    // .optimization_guide.proto.WaitAction wait = 10;
    case kWait: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.wait_);
      break;
    }
    // .optimization_guide.proto.CreateTabAction create_tab = 11;
    case kCreateTab: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.create_tab_);
      break;
    }
    // .optimization_guide.proto.CloseTabAction close_tab = 12;
    case kCloseTab: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.close_tab_);
      break;
    }
    // .optimization_guide.proto.ActivateTabAction activate_tab = 13;
    case kActivateTab: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.activate_tab_);
      break;
    }
    // .optimization_guide.proto.CreateWindowAction create_window = 14;
    case kCreateWindow: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.create_window_);
      break;
    }
    // .optimization_guide.proto.CloseWindowAction close_window = 15;
    case kCloseWindow: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.close_window_);
      break;
    }
    // .optimization_guide.proto.ActivateWindowAction activate_window = 16;
    case kActivateWindow: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.activate_window_);
      break;
    }
    // .optimization_guide.proto.YieldToUserAction yield_to_user = 17;
    case kYieldToUser: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.yield_to_user_);
      break;
    }
    // .optimization_guide.proto.AttemptLoginAction attempt_login = 18;
    case kAttemptLogin: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.attempt_login_);
      break;
    }
    // .optimization_guide.proto.ScrollToAction scroll_to = 19;
    case kScrollTo: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.scroll_to_);
      break;
    }
    // .optimization_guide.proto.ScriptToolAction script_tool = 20;
    case kScriptTool: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.script_tool_);
      break;
    }
    // .optimization_guide.proto.MediaControlAction media_control = 21;
    case kMediaControl: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.media_control_);
      break;
    }
    // .optimization_guide.proto.AttemptFormFillingAction attempt_form_filling = 22;
    case kAttemptFormFilling: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.attempt_form_filling_);
      break;
    }
    // .optimization_guide.proto.LoadAndExtractContentAction load_and_extract_content = 23;
    case kLoadAndExtractContent: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.load_and_extract_content_);
      break;
    }
    // .optimization_guide.proto.AttemptOtpFillingAction attempt_otp_filling = 24;
    case kAttemptOtpFilling: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.attempt_otp_filling_);
      break;
    }
    // .optimization_guide.proto.TranslatePageAction translate_page = 25;
    case kTranslatePage: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.action_.translate_page_);
      break;
    }
    case ACTION_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 Action::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Action*>(&to_msg);
  auto& from = static_cast<const Action&>(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.Action)
  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_action();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kClick: {
        if (oneof_needs_init) {
          _this->_impl_.action_.click_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.click_);
        } else {
          _this->_impl_.action_.click_->CheckTypeAndMergeFrom(*from._impl_.action_.click_);
        }
        break;
      }
      case kType: {
        if (oneof_needs_init) {
          _this->_impl_.action_.type_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.type_);
        } else {
          _this->_impl_.action_.type_->CheckTypeAndMergeFrom(*from._impl_.action_.type_);
        }
        break;
      }
      case kScroll: {
        if (oneof_needs_init) {
          _this->_impl_.action_.scroll_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.scroll_);
        } else {
          _this->_impl_.action_.scroll_->CheckTypeAndMergeFrom(*from._impl_.action_.scroll_);
        }
        break;
      }
      case kMoveMouse: {
        if (oneof_needs_init) {
          _this->_impl_.action_.move_mouse_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.move_mouse_);
        } else {
          _this->_impl_.action_.move_mouse_->CheckTypeAndMergeFrom(*from._impl_.action_.move_mouse_);
        }
        break;
      }
      case kDragAndRelease: {
        if (oneof_needs_init) {
          _this->_impl_.action_.drag_and_release_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.drag_and_release_);
        } else {
          _this->_impl_.action_.drag_and_release_->CheckTypeAndMergeFrom(*from._impl_.action_.drag_and_release_);
        }
        break;
      }
      case kSelect: {
        if (oneof_needs_init) {
          _this->_impl_.action_.select_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.select_);
        } else {
          _this->_impl_.action_.select_->CheckTypeAndMergeFrom(*from._impl_.action_.select_);
        }
        break;
      }
      case kNavigate: {
        if (oneof_needs_init) {
          _this->_impl_.action_.navigate_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.navigate_);
        } else {
          _this->_impl_.action_.navigate_->CheckTypeAndMergeFrom(*from._impl_.action_.navigate_);
        }
        break;
      }
      case kBack: {
        if (oneof_needs_init) {
          _this->_impl_.action_.back_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.back_);
        } else {
          _this->_impl_.action_.back_->CheckTypeAndMergeFrom(*from._impl_.action_.back_);
        }
        break;
      }
      case kForward: {
        if (oneof_needs_init) {
          _this->_impl_.action_.forward_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.forward_);
        } else {
          _this->_impl_.action_.forward_->CheckTypeAndMergeFrom(*from._impl_.action_.forward_);
        }
        break;
      }
      case kWait: {
        if (oneof_needs_init) {
          _this->_impl_.action_.wait_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.wait_);
        } else {
          _this->_impl_.action_.wait_->CheckTypeAndMergeFrom(*from._impl_.action_.wait_);
        }
        break;
      }
      case kCreateTab: {
        if (oneof_needs_init) {
          _this->_impl_.action_.create_tab_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.create_tab_);
        } else {
          _this->_impl_.action_.create_tab_->CheckTypeAndMergeFrom(*from._impl_.action_.create_tab_);
        }
        break;
      }
      case kCloseTab: {
        if (oneof_needs_init) {
          _this->_impl_.action_.close_tab_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.close_tab_);
        } else {
          _this->_impl_.action_.close_tab_->CheckTypeAndMergeFrom(*from._impl_.action_.close_tab_);
        }
        break;
      }
      case kActivateTab: {
        if (oneof_needs_init) {
          _this->_impl_.action_.activate_tab_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.activate_tab_);
        } else {
          _this->_impl_.action_.activate_tab_->CheckTypeAndMergeFrom(*from._impl_.action_.activate_tab_);
        }
        break;
      }
      case kCreateWindow: {
        if (oneof_needs_init) {
          _this->_impl_.action_.create_window_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.create_window_);
        } else {
          _this->_impl_.action_.create_window_->CheckTypeAndMergeFrom(*from._impl_.action_.create_window_);
        }
        break;
      }
      case kCloseWindow: {
        if (oneof_needs_init) {
          _this->_impl_.action_.close_window_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.close_window_);
        } else {
          _this->_impl_.action_.close_window_->CheckTypeAndMergeFrom(*from._impl_.action_.close_window_);
        }
        break;
      }
      case kActivateWindow: {
        if (oneof_needs_init) {
          _this->_impl_.action_.activate_window_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.activate_window_);
        } else {
          _this->_impl_.action_.activate_window_->CheckTypeAndMergeFrom(*from._impl_.action_.activate_window_);
        }
        break;
      }
      case kYieldToUser: {
        if (oneof_needs_init) {
          _this->_impl_.action_.yield_to_user_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.yield_to_user_);
        } else {
          _this->_impl_.action_.yield_to_user_->CheckTypeAndMergeFrom(*from._impl_.action_.yield_to_user_);
        }
        break;
      }
      case kAttemptLogin: {
        if (oneof_needs_init) {
          _this->_impl_.action_.attempt_login_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.attempt_login_);
        } else {
          _this->_impl_.action_.attempt_login_->CheckTypeAndMergeFrom(*from._impl_.action_.attempt_login_);
        }
        break;
      }
      case kScrollTo: {
        if (oneof_needs_init) {
          _this->_impl_.action_.scroll_to_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.scroll_to_);
        } else {
          _this->_impl_.action_.scroll_to_->CheckTypeAndMergeFrom(*from._impl_.action_.scroll_to_);
        }
        break;
      }
      case kScriptTool: {
        if (oneof_needs_init) {
          _this->_impl_.action_.script_tool_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.script_tool_);
        } else {
          _this->_impl_.action_.script_tool_->CheckTypeAndMergeFrom(*from._impl_.action_.script_tool_);
        }
        break;
      }
      case kMediaControl: {
        if (oneof_needs_init) {
          _this->_impl_.action_.media_control_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.media_control_);
        } else {
          _this->_impl_.action_.media_control_->CheckTypeAndMergeFrom(*from._impl_.action_.media_control_);
        }
        break;
      }
      case kAttemptFormFilling: {
        if (oneof_needs_init) {
          _this->_impl_.action_.attempt_form_filling_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.attempt_form_filling_);
        } else {
          _this->_impl_.action_.attempt_form_filling_->CheckTypeAndMergeFrom(*from._impl_.action_.attempt_form_filling_);
        }
        break;
      }
      case kLoadAndExtractContent: {
        if (oneof_needs_init) {
          _this->_impl_.action_.load_and_extract_content_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.load_and_extract_content_);
        } else {
          _this->_impl_.action_.load_and_extract_content_->CheckTypeAndMergeFrom(*from._impl_.action_.load_and_extract_content_);
        }
        break;
      }
      case kAttemptOtpFilling: {
        if (oneof_needs_init) {
          _this->_impl_.action_.attempt_otp_filling_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.attempt_otp_filling_);
        } else {
          _this->_impl_.action_.attempt_otp_filling_->CheckTypeAndMergeFrom(*from._impl_.action_.attempt_otp_filling_);
        }
        break;
      }
      case kTranslatePage: {
        if (oneof_needs_init) {
          _this->_impl_.action_.translate_page_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.action_.translate_page_);
        } else {
          _this->_impl_.action_.translate_page_->CheckTypeAndMergeFrom(*from._impl_.action_.translate_page_);
        }
        break;
      }
      case ACTION_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

TaskMetadata::TaskMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TaskMetadata_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.TaskMetadata)
}
PROTOBUF_NDEBUG_INLINE TaskMetadata::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::TaskMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TaskMetadata* 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_.security_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.security_)
                : nullptr;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TaskMetadata_class_data_ =
    TaskMetadata::InternalGenerateClassData_(TaskMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TaskMetadata::GetClassData() const {
  return TaskMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TaskMetadata::GetClassData() const {
  return TaskMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TaskMetadata::ParseTableT_
    TaskMetadata::_table_ =
        TaskMetadata::InternalGenerateParseTable_(TaskMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TaskMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TaskMetadata)
  ::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)) {
    ABSL_DCHECK(_impl_.security_ != nullptr);
    _impl_.security_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.SecurityMetadata security = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.security_, this_._impl_.security_->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.TaskMetadata)
  return target;
}

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

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

   {
    // .optimization_guide.proto.SecurityMetadata security = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.security_);
    }
  }
  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 TaskMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TaskMetadata*>(&to_msg);
  auto& from = static_cast<const TaskMetadata&>(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.TaskMetadata)
  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)) {
    ABSL_DCHECK(from._impl_.security_ != nullptr);
    if (_this->_impl_.security_ == nullptr) {
      _this->_impl_.security_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.security_);
    } else {
      _this->_impl_.security_->MergeFrom(*from._impl_.security_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

void SecurityMetadata::clear_agent_container_config() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.agent_container_config_ != nullptr) _impl_.agent_container_config_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
SecurityMetadata::SecurityMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SecurityMetadata_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.SecurityMetadata)
}
PROTOBUF_NDEBUG_INLINE SecurityMetadata::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::SecurityMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        added_writable_mainframe_origins_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::SecurityMetadata,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::SecurityMetadata, _impl_.added_writable_mainframe_origins_)>()
          , from.added_writable_mainframe_origins_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SecurityMetadata* 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_.agent_container_config_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.agent_container_config_)
                : nullptr;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SecurityMetadata_class_data_ =
    SecurityMetadata::InternalGenerateClassData_(SecurityMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SecurityMetadata::GetClassData() const {
  return SecurityMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SecurityMetadata::GetClassData() const {
  return SecurityMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SecurityMetadata::ParseTableT_
    SecurityMetadata::_table_ =
        SecurityMetadata::InternalGenerateParseTable_(SecurityMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SecurityMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.SecurityMetadata)
  ::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_.added_writable_mainframe_origins_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.agent_container_config_ != nullptr);
      _impl_.agent_container_config_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated string added_writable_mainframe_origins = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_added_writable_mainframe_origins_size(); i < n; ++i) {
      const auto& s = this_._internal_added_writable_mainframe_origins().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.SecurityMetadata.added_writable_mainframe_origins");
      target = stream->WriteString(1, s, target);
    }
  }

  // .optimization_guide.proto.AgentContainerConfig agent_container_config = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.agent_container_config_, this_._impl_.agent_container_config_->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.SecurityMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SecurityMetadata::ByteSizeLong(const MessageLite& base) {
  const SecurityMetadata& this_ = static_cast<const SecurityMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SecurityMetadata::ByteSizeLong() const {
  const SecurityMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.SecurityMetadata)
  ::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 string added_writable_mainframe_origins = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_added_writable_mainframe_origins().size());
      for (int i = 0, n = this_._internal_added_writable_mainframe_origins().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_added_writable_mainframe_origins().Get(i));
      }
    }
    // .optimization_guide.proto.AgentContainerConfig agent_container_config = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.agent_container_config_);
    }
  }
  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 SecurityMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SecurityMetadata*>(&to_msg);
  auto& from = static_cast<const SecurityMetadata&>(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.SecurityMetadata)
  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_added_writable_mainframe_origins()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_added_writable_mainframe_origins());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.agent_container_config_ != nullptr);
      if (_this->_impl_.agent_container_config_ == nullptr) {
        _this->_impl_.agent_container_config_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.agent_container_config_);
      } else {
        _this->_impl_.agent_container_config_->MergeFrom(*from._impl_.agent_container_config_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SecurityMetadata::InternalSwap(SecurityMetadata* 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_.added_writable_mainframe_origins_.InternalSwap(&other->_impl_.added_writable_mainframe_origins_);
  swap(_impl_.agent_container_config_, other->_impl_.agent_container_config_);
}

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

ScreenshotCollectionOptions::ScreenshotCollectionOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScreenshotCollectionOptions_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.ScreenshotCollectionOptions)
}
ScreenshotCollectionOptions::ScreenshotCollectionOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ScreenshotCollectionOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScreenshotCollectionOptions_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ScreenshotCollectionOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ScreenshotCollectionOptions::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, max_width_),
           0,
           offsetof(Impl_, compression_quality_) -
               offsetof(Impl_, max_width_) +
               sizeof(Impl_::compression_quality_));
}
ScreenshotCollectionOptions::~ScreenshotCollectionOptions() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ScreenshotCollectionOptions)
  SharedDtor(*this);
}
inline void ScreenshotCollectionOptions::SharedDtor(MessageLite& self) {
  ScreenshotCollectionOptions& this_ = static_cast<ScreenshotCollectionOptions&>(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 ScreenshotCollectionOptions_class_data_ =
    ScreenshotCollectionOptions::InternalGenerateClassData_(ScreenshotCollectionOptions_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScreenshotCollectionOptions::GetClassData() const {
  return ScreenshotCollectionOptions_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScreenshotCollectionOptions::GetClassData() const {
  return ScreenshotCollectionOptions_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScreenshotCollectionOptions::ParseTableT_
    ScreenshotCollectionOptions::_table_ =
        ScreenshotCollectionOptions::InternalGenerateParseTable_(ScreenshotCollectionOptions_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScreenshotCollectionOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ScreenshotCollectionOptions)
  ::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)) {
    ::memset(&_impl_.max_width_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.compression_quality_) -
        reinterpret_cast<char*>(&_impl_.max_width_)) + sizeof(_impl_.compression_quality_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 max_width = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_max_width(), target);
  }

  // int32 max_height = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_max_height(), target);
  }

  // .optimization_guide.proto.ScreenshotImageFormat screenshot_format = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_screenshot_format(), target);
  }

  // .optimization_guide.proto.CompressionQuality compression_quality = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_compression_quality(), 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.ScreenshotCollectionOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScreenshotCollectionOptions::ByteSizeLong(const MessageLite& base) {
  const ScreenshotCollectionOptions& this_ = static_cast<const ScreenshotCollectionOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScreenshotCollectionOptions::ByteSizeLong() const {
  const ScreenshotCollectionOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ScreenshotCollectionOptions)
  ::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)) {
    // int32 max_width = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_max_width());
    }
    // int32 max_height = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_max_height());
    }
    // .optimization_guide.proto.ScreenshotImageFormat screenshot_format = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_screenshot_format());
    }
    // .optimization_guide.proto.CompressionQuality compression_quality = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_compression_quality());
    }
  }
  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 ScreenshotCollectionOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScreenshotCollectionOptions*>(&to_msg);
  auto& from = static_cast<const ScreenshotCollectionOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ScreenshotCollectionOptions)
  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->_impl_.max_width_ = from._impl_.max_width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.max_height_ = from._impl_.max_height_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.screenshot_format_ = from._impl_.screenshot_format_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.compression_quality_ = from._impl_.compression_quality_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScreenshotCollectionOptions::InternalSwap(ScreenshotCollectionOptions* 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(ScreenshotCollectionOptions, _impl_.compression_quality_)
      + sizeof(ScreenshotCollectionOptions::_impl_.compression_quality_)
      - PROTOBUF_FIELD_OFFSET(ScreenshotCollectionOptions, _impl_.max_width_)>(
          reinterpret_cast<char*>(&_impl_.max_width_),
          reinterpret_cast<char*>(&other->_impl_.max_width_));
}

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

Actions::Actions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Actions_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.Actions)
}
PROTOBUF_NDEBUG_INLINE Actions::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::Actions& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        actions_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::Actions,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::Actions, _impl_.actions_)>()
          , from.actions_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Actions* 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_.task_metadata_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.task_metadata_)
                : nullptr;
  _impl_.screenshot_options_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.screenshot_options_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, task_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, task_id_),
           offsetof(Impl_, skip_async_observation_collection_) -
               offsetof(Impl_, task_id_) +
               sizeof(Impl_::skip_async_observation_collection_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Actions_class_data_ =
    Actions::InternalGenerateClassData_(Actions_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Actions::GetClassData() const {
  return Actions_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Actions::GetClassData() const {
  return Actions_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Actions::ParseTableT_
    Actions::_table_ =
        Actions::InternalGenerateParseTable_(Actions_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Actions::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Actions)
  ::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)) {
      _impl_.actions_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.task_metadata_ != nullptr);
      _impl_.task_metadata_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.screenshot_options_ != nullptr);
      _impl_.screenshot_options_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
    ::memset(&_impl_.task_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.skip_async_observation_collection_) -
        reinterpret_cast<char*>(&_impl_.task_id_)) + sizeof(_impl_.skip_async_observation_collection_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 task_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_task_id(), target);
  }

  // bool skip_async_observation_collection = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_skip_async_observation_collection(), target);
  }

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

  // .optimization_guide.proto.ScreenshotCollectionOptions screenshot_options = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.screenshot_options_, this_._impl_.screenshot_options_->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.Actions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Actions::ByteSizeLong(const MessageLite& base) {
  const Actions& this_ = static_cast<const Actions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Actions::ByteSizeLong() const {
  const Actions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Actions)
  ::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>(0x00000010U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // repeated .optimization_guide.proto.Action actions = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_actions_size();
      for (const auto& msg : this_._internal_actions()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // .optimization_guide.proto.TaskMetadata task_metadata = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.task_metadata_);
    }
    // .optimization_guide.proto.ScreenshotCollectionOptions screenshot_options = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.screenshot_options_);
    }
    // int32 task_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_task_id());
    }
  }
  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 Actions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Actions*>(&to_msg);
  auto& from = static_cast<const Actions&>(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.Actions)
  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, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_actions()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_actions());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.task_metadata_ != nullptr);
      if (_this->_impl_.task_metadata_ == nullptr) {
        _this->_impl_.task_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.task_metadata_);
      } else {
        _this->_impl_.task_metadata_->MergeFrom(*from._impl_.task_metadata_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.screenshot_options_ != nullptr);
      if (_this->_impl_.screenshot_options_ == nullptr) {
        _this->_impl_.screenshot_options_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.screenshot_options_);
      } else {
        _this->_impl_.screenshot_options_->MergeFrom(*from._impl_.screenshot_options_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.task_id_ = from._impl_.task_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.skip_async_observation_collection_ = from._impl_.skip_async_observation_collection_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Actions::InternalSwap(Actions* 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_.actions_.InternalSwap(&other->_impl_.actions_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Actions, _impl_.skip_async_observation_collection_)
      + sizeof(Actions::_impl_.skip_async_observation_collection_)
      - PROTOBUF_FIELD_OFFSET(Actions, _impl_.task_metadata_)>(
          reinterpret_cast<char*>(&_impl_.task_metadata_),
          reinterpret_cast<char*>(&other->_impl_.task_metadata_));
}

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

WindowObservation::WindowObservation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WindowObservation_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.WindowObservation)
}
PROTOBUF_NDEBUG_INLINE WindowObservation::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::WindowObservation& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        tab_ids_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::WindowObservation,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::WindowObservation, _impl_.tab_ids_)>()
          , from.tab_ids_
        }
        ,
        _tab_ids_cached_byte_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  WindowObservation* 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_, active_) -
               offsetof(Impl_, id_) +
               sizeof(Impl_::active_));

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

inline void WindowObservation::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, id_),
           0,
           offsetof(Impl_, active_) -
               offsetof(Impl_, id_) +
               sizeof(Impl_::active_));
}
WindowObservation::~WindowObservation() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.WindowObservation)
  SharedDtor(*this);
}
inline void WindowObservation::SharedDtor(MessageLite& self) {
  WindowObservation& this_ = static_cast<WindowObservation&>(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 WindowObservation_class_data_ =
    WindowObservation::InternalGenerateClassData_(WindowObservation_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WindowObservation::GetClassData() const {
  return WindowObservation_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WindowObservation::GetClassData() const {
  return WindowObservation_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WindowObservation::ParseTableT_
    WindowObservation::_table_ =
        WindowObservation::InternalGenerateParseTable_(WindowObservation_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WindowObservation::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.WindowObservation)
  ::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_.tab_ids_.Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.active_) -
        reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.active_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 activated_tab_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_activated_tab_id(), target);
  }

  // bool active = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_active(), target);
  }

  // repeated int32 tab_ids = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      int byte_size = this_._impl_._tab_ids_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            4, this_._internal_tab_ids(), byte_size, 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.WindowObservation)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WindowObservation::ByteSizeLong(const MessageLite& base) {
  const WindowObservation& this_ = static_cast<const WindowObservation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WindowObservation::ByteSizeLong() const {
  const WindowObservation& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.WindowObservation)
  ::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>(0x00000008U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated int32 tab_ids = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_tab_ids(), 1,
              this_._impl_._tab_ids_cached_byte_size_);
    }
    // int32 id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_id());
    }
    // int32 activated_tab_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_activated_tab_id());
    }
  }
  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 WindowObservation::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WindowObservation*>(&to_msg);
  auto& from = static_cast<const WindowObservation&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.WindowObservation)
  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_ids()->MergeFrom(from._internal_tab_ids());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.activated_tab_id_ = from._impl_.activated_tab_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.active_ = from._impl_.active_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void WindowObservation::InternalSwap(WindowObservation* 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_.tab_ids_.InternalSwap(&other->_impl_.tab_ids_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.active_)
      + sizeof(WindowObservation::_impl_.active_)
      - PROTOBUF_FIELD_OFFSET(WindowObservation, _impl_.id_)>(
          reinterpret_cast<char*>(&_impl_.id_),
          reinterpret_cast<char*>(&other->_impl_.id_));
}

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

void TabObservation::clear_annotated_page_content() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.annotated_page_content_ != nullptr) _impl_.annotated_page_content_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
void TabObservation::clear_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.metadata_ != nullptr) _impl_.metadata_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
void TabObservation::clear_screenshot_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.screenshot_info_ != nullptr) _impl_.screenshot_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
TabObservation::TabObservation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TabObservation_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.TabObservation)
}
PROTOBUF_NDEBUG_INLINE TabObservation::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::TabObservation& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        screenshot_(arena, from.screenshot_),
        screenshot_mime_type_(arena, from.screenshot_mime_type_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TabObservation* 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_.annotated_page_content_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.annotated_page_content_)
                : nullptr;
  _impl_.metadata_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metadata_)
                : nullptr;
  _impl_.screenshot_info_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.screenshot_info_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, id_),
           offsetof(Impl_, screenshot_result_) -
               offsetof(Impl_, id_) +
               sizeof(Impl_::screenshot_result_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TabObservation_class_data_ =
    TabObservation::InternalGenerateClassData_(TabObservation_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TabObservation::GetClassData() const {
  return TabObservation_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TabObservation::GetClassData() const {
  return TabObservation_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TabObservation::ParseTableT_
    TabObservation::_table_ =
        TabObservation::InternalGenerateParseTable_(TabObservation_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TabObservation::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TabObservation)
  ::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_.screenshot_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.screenshot_mime_type_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.annotated_page_content_ != nullptr);
      _impl_.annotated_page_content_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.metadata_ != nullptr);
      _impl_.metadata_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.screenshot_info_ != nullptr);
      _impl_.screenshot_info_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000e0U)) {
    ::memset(&_impl_.id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.annotated_page_content_result_) -
        reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.annotated_page_content_result_));
  }
  _impl_.screenshot_result_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // bytes screenshot = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_screenshot();
    target = stream->WriteBytesMaybeAliased(3, _s, target);
  }

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

  // .optimization_guide.proto.TabObservation.TabObservationResult result = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_result(), target);
  }

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

  // .optimization_guide.proto.TabObservation.AnnotatedPageContentResult annotated_page_content_result = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this_._internal_annotated_page_content_result(), target);
  }

  // .optimization_guide.proto.TabObservation.ScreenshotResult screenshot_result = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this_._internal_screenshot_result(), target);
  }

  // .optimization_guide.proto.ScreenshotInfo screenshot_info = 9 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        9, *this_._impl_.screenshot_info_, this_._impl_.screenshot_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.TabObservation)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TabObservation::ByteSizeLong(const MessageLite& base) {
  const TabObservation& this_ = static_cast<const TabObservation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TabObservation::ByteSizeLong() const {
  const TabObservation& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TabObservation)
  ::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, 0x000000ffU)) {
    // bytes screenshot = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_screenshot());
    }
    // string screenshot_mime_type = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_screenshot_mime_type());
    }
    // .optimization_guide.proto.AnnotatedPageContent annotated_page_content = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.annotated_page_content_);
    }
    // .optimization_guide.proto.PageMetadata metadata = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.metadata_);
    }
    // .optimization_guide.proto.ScreenshotInfo screenshot_info = 9 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.screenshot_info_);
    }
    // int32 id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_id());
    }
    // .optimization_guide.proto.TabObservation.TabObservationResult result = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_result());
    }
    // .optimization_guide.proto.TabObservation.AnnotatedPageContentResult annotated_page_content_result = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_annotated_page_content_result());
    }
  }
   {
    // .optimization_guide.proto.TabObservation.ScreenshotResult screenshot_result = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_screenshot_result());
    }
  }
  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 TabObservation::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TabObservation*>(&to_msg);
  auto& from = static_cast<const TabObservation&>(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.TabObservation)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_screenshot(from._internal_screenshot());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_screenshot_mime_type(from._internal_screenshot_mime_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.annotated_page_content_ != nullptr);
      if (_this->_impl_.annotated_page_content_ == nullptr) {
        _this->_impl_.annotated_page_content_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.annotated_page_content_);
      } else {
        _this->_impl_.annotated_page_content_->MergeFrom(*from._impl_.annotated_page_content_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.metadata_ != nullptr);
      if (_this->_impl_.metadata_ == nullptr) {
        _this->_impl_.metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metadata_);
      } else {
        _this->_impl_.metadata_->MergeFrom(*from._impl_.metadata_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.screenshot_info_ != nullptr);
      if (_this->_impl_.screenshot_info_ == nullptr) {
        _this->_impl_.screenshot_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.screenshot_info_);
      } else {
        _this->_impl_.screenshot_info_->MergeFrom(*from._impl_.screenshot_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.result_ = from._impl_.result_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.annotated_page_content_result_ = from._impl_.annotated_page_content_result_;
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.screenshot_result_ = from._impl_.screenshot_result_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TabObservation::InternalSwap(TabObservation* 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_.screenshot_, &other->_impl_.screenshot_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.screenshot_mime_type_, &other->_impl_.screenshot_mime_type_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.screenshot_result_)
      + sizeof(TabObservation::_impl_.screenshot_result_)
      - PROTOBUF_FIELD_OFFSET(TabObservation, _impl_.annotated_page_content_)>(
          reinterpret_cast<char*>(&_impl_.annotated_page_content_),
          reinterpret_cast<char*>(&other->_impl_.annotated_page_content_));
}

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

ActionsResult_LatencyInformation_LatencyStep_ActionLatency::ActionsResult_LatencyInformation_LatencyStep_ActionLatency(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_LatencyStep_ActionLatency_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.ActionsResult.LatencyInformation.LatencyStep.ActionLatency)
}
ActionsResult_LatencyInformation_LatencyStep_ActionLatency::ActionsResult_LatencyInformation_LatencyStep_ActionLatency(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ActionsResult_LatencyInformation_LatencyStep_ActionLatency& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_LatencyStep_ActionLatency_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ActionsResult_LatencyInformation_LatencyStep_ActionLatency::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ActionsResult_LatencyInformation_LatencyStep_ActionLatency::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.action_index_ = {};
}
ActionsResult_LatencyInformation_LatencyStep_ActionLatency::~ActionsResult_LatencyInformation_LatencyStep_ActionLatency() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ActionLatency)
  SharedDtor(*this);
}
inline void ActionsResult_LatencyInformation_LatencyStep_ActionLatency::SharedDtor(MessageLite& self) {
  ActionsResult_LatencyInformation_LatencyStep_ActionLatency& this_ = static_cast<ActionsResult_LatencyInformation_LatencyStep_ActionLatency&>(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 ActionsResult_LatencyInformation_LatencyStep_ActionLatency_class_data_ =
    ActionsResult_LatencyInformation_LatencyStep_ActionLatency::InternalGenerateClassData_(ActionsResult_LatencyInformation_LatencyStep_ActionLatency_globals_._default);

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

  _impl_.action_index_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 action_index = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_action_index(), 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.ActionsResult.LatencyInformation.LatencyStep.ActionLatency)
  return target;
}

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

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

   {
    // int32 action_index = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_action_index());
    }
  }
  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 ActionsResult_LatencyInformation_LatencyStep_ActionLatency::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActionsResult_LatencyInformation_LatencyStep_ActionLatency*>(&to_msg);
  auto& from = static_cast<const ActionsResult_LatencyInformation_LatencyStep_ActionLatency&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ActionLatency)
  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->_impl_.action_index_ = from._impl_.action_index_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency_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.ActionsResult.LatencyInformation.LatencyStep.PageStabilizationLatency)
}
ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.action_index_ = {};
}
ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::~ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.PageStabilizationLatency)
  SharedDtor(*this);
}
inline void ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::SharedDtor(MessageLite& self) {
  ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency& this_ = static_cast<ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency&>(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 ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency_class_data_ =
    ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::InternalGenerateClassData_(ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency_globals_._default);

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

  _impl_.action_index_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 action_index = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_action_index(), 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.ActionsResult.LatencyInformation.LatencyStep.PageStabilizationLatency)
  return target;
}

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

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

   {
    // int32 action_index = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_action_index());
    }
  }
  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 ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency*>(&to_msg);
  auto& from = static_cast<const ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.PageStabilizationLatency)
  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->_impl_.action_index_ = from._impl_.action_index_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency_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.ActionsResult.LatencyInformation.LatencyStep.AnnotatedPageContentLatency)
}
ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.id_ = {};
}
ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::~ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.AnnotatedPageContentLatency)
  SharedDtor(*this);
}
inline void ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::SharedDtor(MessageLite& self) {
  ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency& this_ = static_cast<ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency&>(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 ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency_class_data_ =
    ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::InternalGenerateClassData_(ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency_globals_._default);

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

  _impl_.id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_id(), 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.ActionsResult.LatencyInformation.LatencyStep.AnnotatedPageContentLatency)
  return target;
}

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

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

   {
    // int32 id = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_id());
    }
  }
  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 ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency*>(&to_msg);
  auto& from = static_cast<const ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.AnnotatedPageContentLatency)
  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->_impl_.id_ = from._impl_.id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency_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.ActionsResult.LatencyInformation.LatencyStep.ScreenshotLatency)
}
ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.id_ = {};
}
ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::~ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ScreenshotLatency)
  SharedDtor(*this);
}
inline void ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::SharedDtor(MessageLite& self) {
  ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency& this_ = static_cast<ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency&>(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 ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency_class_data_ =
    ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::InternalGenerateClassData_(ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency_globals_._default);

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

  _impl_.id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_id(), 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.ActionsResult.LatencyInformation.LatencyStep.ScreenshotLatency)
  return target;
}

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

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

   {
    // int32 id = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_id());
    }
  }
  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 ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency*>(&to_msg);
  auto& from = static_cast<const ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ScreenshotLatency)
  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->_impl_.id_ = from._impl_.id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

void ActionsResult_LatencyInformation_LatencyStep::set_allocated_action(::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_ActionLatency* PROTOBUF_NULLABLE action) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_step();
  if (action) {
    ::google::protobuf::Arena* submessage_arena = action->GetArena();
    if (message_arena != submessage_arena) {
      action = ::google::protobuf::internal::GetOwnedMessage(message_arena, action, submessage_arena);
    }
    set_has_action();
    _impl_.step_.action_ = action;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.action)
}
void ActionsResult_LatencyInformation_LatencyStep::set_allocated_page_stabilization(::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_PageStabilizationLatency* PROTOBUF_NULLABLE page_stabilization) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_step();
  if (page_stabilization) {
    ::google::protobuf::Arena* submessage_arena = page_stabilization->GetArena();
    if (message_arena != submessage_arena) {
      page_stabilization = ::google::protobuf::internal::GetOwnedMessage(message_arena, page_stabilization, submessage_arena);
    }
    set_has_page_stabilization();
    _impl_.step_.page_stabilization_ = page_stabilization;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.page_stabilization)
}
void ActionsResult_LatencyInformation_LatencyStep::set_allocated_annotated_page_content(::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_AnnotatedPageContentLatency* PROTOBUF_NULLABLE annotated_page_content) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_step();
  if (annotated_page_content) {
    ::google::protobuf::Arena* submessage_arena = annotated_page_content->GetArena();
    if (message_arena != submessage_arena) {
      annotated_page_content = ::google::protobuf::internal::GetOwnedMessage(message_arena, annotated_page_content, submessage_arena);
    }
    set_has_annotated_page_content();
    _impl_.step_.annotated_page_content_ = annotated_page_content;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.annotated_page_content)
}
void ActionsResult_LatencyInformation_LatencyStep::set_allocated_screenshot(::optimization_guide::proto::ActionsResult_LatencyInformation_LatencyStep_ScreenshotLatency* PROTOBUF_NULLABLE screenshot) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_step();
  if (screenshot) {
    ::google::protobuf::Arena* submessage_arena = screenshot->GetArena();
    if (message_arena != submessage_arena) {
      screenshot = ::google::protobuf::internal::GetOwnedMessage(message_arena, screenshot, submessage_arena);
    }
    set_has_screenshot();
    _impl_.step_.screenshot_ = screenshot;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.screenshot)
}
ActionsResult_LatencyInformation_LatencyStep::ActionsResult_LatencyInformation_LatencyStep(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_LatencyStep_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.ActionsResult.LatencyInformation.LatencyStep)
}
PROTOBUF_NDEBUG_INLINE ActionsResult_LatencyInformation_LatencyStep::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::ActionsResult_LatencyInformation_LatencyStep& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        step_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ActionsResult_LatencyInformation_LatencyStep* 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_, latency_start_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, latency_start_ms_),
           offsetof(Impl_, latency_stop_ms_) -
               offsetof(Impl_, latency_start_ms_) +
               sizeof(Impl_::latency_stop_ms_));
  switch (step_case()) {
    case STEP_NOT_SET:
      break;
      case kAction:
        _impl_.step_.action_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.step_.action_);
        break;
      case kPageStabilization:
        _impl_.step_.page_stabilization_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.step_.page_stabilization_);
        break;
      case kAnnotatedPageContent:
        _impl_.step_.annotated_page_content_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.step_.annotated_page_content_);
        break;
      case kScreenshot:
        _impl_.step_.screenshot_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.step_.screenshot_);
        break;
  }

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

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

void ActionsResult_LatencyInformation_LatencyStep::clear_step() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (step_case()) {
    case kAction: {
      if (GetArena() == nullptr) {
        delete _impl_.step_.action_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.step_.action_ != nullptr) {
          _impl_.step_.action_->Clear();
        }
      }
      break;
    }
    case kPageStabilization: {
      if (GetArena() == nullptr) {
        delete _impl_.step_.page_stabilization_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.step_.page_stabilization_ != nullptr) {
          _impl_.step_.page_stabilization_->Clear();
        }
      }
      break;
    }
    case kAnnotatedPageContent: {
      if (GetArena() == nullptr) {
        delete _impl_.step_.annotated_page_content_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.step_.annotated_page_content_ != nullptr) {
          _impl_.step_.annotated_page_content_->Clear();
        }
      }
      break;
    }
    case kScreenshot: {
      if (GetArena() == nullptr) {
        delete _impl_.step_.screenshot_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.step_.screenshot_ != nullptr) {
          _impl_.step_.screenshot_->Clear();
        }
      }
      break;
    }
    case STEP_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = STEP_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ActionsResult_LatencyInformation_LatencyStep_class_data_ =
    ActionsResult_LatencyInformation_LatencyStep::InternalGenerateClassData_(ActionsResult_LatencyInformation_LatencyStep_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActionsResult_LatencyInformation_LatencyStep::GetClassData() const {
  return ActionsResult_LatencyInformation_LatencyStep_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActionsResult_LatencyInformation_LatencyStep::GetClassData() const {
  return ActionsResult_LatencyInformation_LatencyStep_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ActionsResult_LatencyInformation_LatencyStep::ParseTableT_
    ActionsResult_LatencyInformation_LatencyStep::_table_ =
        ActionsResult_LatencyInformation_LatencyStep::InternalGenerateParseTable_(ActionsResult_LatencyInformation_LatencyStep_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ActionsResult_LatencyInformation_LatencyStep::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep)
  ::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)) {
    ::memset(&_impl_.latency_start_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.latency_stop_ms_) -
        reinterpret_cast<char*>(&_impl_.latency_start_ms_)) + sizeof(_impl_.latency_stop_ms_));
  }
  clear_step();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 latency_start_ms = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_latency_start_ms(), target);
  }

  // int32 latency_stop_ms = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_latency_stop_ms(), target);
  }

  switch (this_.step_case()) {
    case kAction: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.step_.action_, this_._impl_.step_.action_->GetCachedSize(), target,
          stream);
      break;
    }
    case kPageStabilization: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.step_.page_stabilization_, this_._impl_.step_.page_stabilization_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAnnotatedPageContent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.step_.annotated_page_content_, this_._impl_.step_.annotated_page_content_->GetCachedSize(), target,
          stream);
      break;
    }
    case kScreenshot: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, *this_._impl_.step_.screenshot_, this_._impl_.step_.screenshot_->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.ActionsResult.LatencyInformation.LatencyStep)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ActionsResult_LatencyInformation_LatencyStep::ByteSizeLong(const MessageLite& base) {
  const ActionsResult_LatencyInformation_LatencyStep& this_ = static_cast<const ActionsResult_LatencyInformation_LatencyStep&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ActionsResult_LatencyInformation_LatencyStep::ByteSizeLong() const {
  const ActionsResult_LatencyInformation_LatencyStep& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep)
  ::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)) {
    // int32 latency_start_ms = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_latency_start_ms());
    }
    // int32 latency_stop_ms = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_latency_stop_ms());
    }
  }
  switch (this_.step_case()) {
    // .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ActionLatency action = 3;
    case kAction: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.step_.action_);
      break;
    }
    // .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.PageStabilizationLatency page_stabilization = 4;
    case kPageStabilization: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.step_.page_stabilization_);
      break;
    }
    // .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.AnnotatedPageContentLatency annotated_page_content = 5;
    case kAnnotatedPageContent: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.step_.annotated_page_content_);
      break;
    }
    // .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep.ScreenshotLatency screenshot = 6;
    case kScreenshot: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.step_.screenshot_);
      break;
    }
    case STEP_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 ActionsResult_LatencyInformation_LatencyStep::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActionsResult_LatencyInformation_LatencyStep*>(&to_msg);
  auto& from = static_cast<const ActionsResult_LatencyInformation_LatencyStep&>(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.ActionsResult.LatencyInformation.LatencyStep)
  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->_impl_.latency_start_ms_ = from._impl_.latency_start_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.latency_stop_ms_ = from._impl_.latency_stop_ms_;
    }
  }
  _this->_impl_._has_bits_[0] |= 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_step();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kAction: {
        if (oneof_needs_init) {
          _this->_impl_.step_.action_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.step_.action_);
        } else {
          _this->_impl_.step_.action_->CheckTypeAndMergeFrom(*from._impl_.step_.action_);
        }
        break;
      }
      case kPageStabilization: {
        if (oneof_needs_init) {
          _this->_impl_.step_.page_stabilization_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.step_.page_stabilization_);
        } else {
          _this->_impl_.step_.page_stabilization_->CheckTypeAndMergeFrom(*from._impl_.step_.page_stabilization_);
        }
        break;
      }
      case kAnnotatedPageContent: {
        if (oneof_needs_init) {
          _this->_impl_.step_.annotated_page_content_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.step_.annotated_page_content_);
        } else {
          _this->_impl_.step_.annotated_page_content_->CheckTypeAndMergeFrom(*from._impl_.step_.annotated_page_content_);
        }
        break;
      }
      case kScreenshot: {
        if (oneof_needs_init) {
          _this->_impl_.step_.screenshot_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.step_.screenshot_);
        } else {
          _this->_impl_.step_.screenshot_->CheckTypeAndMergeFrom(*from._impl_.step_.screenshot_);
        }
        break;
      }
      case STEP_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ActionsResult_LatencyInformation_LatencyStep::InternalSwap(ActionsResult_LatencyInformation_LatencyStep* 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(ActionsResult_LatencyInformation_LatencyStep, _impl_.latency_stop_ms_)
      + sizeof(ActionsResult_LatencyInformation_LatencyStep::_impl_.latency_stop_ms_)
      - PROTOBUF_FIELD_OFFSET(ActionsResult_LatencyInformation_LatencyStep, _impl_.latency_start_ms_)>(
          reinterpret_cast<char*>(&_impl_.latency_start_ms_),
          reinterpret_cast<char*>(&other->_impl_.latency_start_ms_));
  swap(_impl_.step_, other->_impl_.step_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

ActionsResult_LatencyInformation::ActionsResult_LatencyInformation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_LatencyInformation_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.ActionsResult.LatencyInformation)
}
PROTOBUF_NDEBUG_INLINE ActionsResult_LatencyInformation::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::ActionsResult_LatencyInformation& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        latency_steps_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ActionsResult_LatencyInformation,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult_LatencyInformation, _impl_.latency_steps_)>()
          , from.latency_steps_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ActionsResult_LatencyInformation* 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.ActionsResult.LatencyInformation)
}
PROTOBUF_NDEBUG_INLINE ActionsResult_LatencyInformation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        latency_steps_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ActionsResult_LatencyInformation,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult_LatencyInformation, _impl_.latency_steps_)>()
         }
     {}

inline void ActionsResult_LatencyInformation::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ActionsResult_LatencyInformation::~ActionsResult_LatencyInformation() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ActionsResult.LatencyInformation)
  SharedDtor(*this);
}
inline void ActionsResult_LatencyInformation::SharedDtor(MessageLite& self) {
  ActionsResult_LatencyInformation& this_ = static_cast<ActionsResult_LatencyInformation&>(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 ActionsResult_LatencyInformation_class_data_ =
    ActionsResult_LatencyInformation::InternalGenerateClassData_(ActionsResult_LatencyInformation_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActionsResult_LatencyInformation::GetClassData() const {
  return ActionsResult_LatencyInformation_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActionsResult_LatencyInformation::GetClassData() const {
  return ActionsResult_LatencyInformation_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ActionsResult_LatencyInformation::ParseTableT_
    ActionsResult_LatencyInformation::_table_ =
        ActionsResult_LatencyInformation::InternalGenerateParseTable_(ActionsResult_LatencyInformation_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ActionsResult_LatencyInformation::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ActionsResult.LatencyInformation)
  ::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_.latency_steps_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.ActionsResult.LatencyInformation.LatencyStep latency_steps = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_latency_steps_size());
         i < n; i++) {
      const auto& repfield = this_._internal_latency_steps().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.ActionsResult.LatencyInformation)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ActionsResult_LatencyInformation::ByteSizeLong(const MessageLite& base) {
  const ActionsResult_LatencyInformation& this_ = static_cast<const ActionsResult_LatencyInformation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ActionsResult_LatencyInformation::ByteSizeLong() const {
  const ActionsResult_LatencyInformation& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ActionsResult.LatencyInformation)
  ::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.ActionsResult.LatencyInformation.LatencyStep latency_steps = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_latency_steps_size();
      for (const auto& msg : this_._internal_latency_steps()) {
        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 ActionsResult_LatencyInformation::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActionsResult_LatencyInformation*>(&to_msg);
  auto& from = static_cast<const ActionsResult_LatencyInformation&>(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.ActionsResult.LatencyInformation)
  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_latency_steps()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_latency_steps());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ActionsResult_LatencyInformation::InternalSwap(ActionsResult_LatencyInformation* 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_.latency_steps_.InternalSwap(&other->_impl_.latency_steps_);
}

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

void ActionsResult::clear_script_tool_results() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.script_tool_results_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
ActionsResult::ActionsResult(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActionsResult_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.ActionsResult)
}
PROTOBUF_NDEBUG_INLINE ActionsResult::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::ActionsResult& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        windows_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ActionsResult,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult, _impl_.windows_)>()
          , from.windows_
        }
        ,
        tabs_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ActionsResult,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult, _impl_.tabs_)>()
          , from.tabs_
        }
        ,
        script_tool_results_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ActionsResult,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult, _impl_.script_tool_results_)>()
          , from.script_tool_results_
        }
        ,
        extra_information_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ActionsResult,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ActionsResult, _impl_.extra_information_)>()
          , from.extra_information_
        }
        ,
        error_message_(arena, from.error_message_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ActionsResult* 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_.latency_information_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.latency_information_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, action_result_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, action_result_),
           offsetof(Impl_, index_of_failed_action_) -
               offsetof(Impl_, action_result_) +
               sizeof(Impl_::index_of_failed_action_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ActionsResult_class_data_ =
    ActionsResult::InternalGenerateClassData_(ActionsResult_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActionsResult::GetClassData() const {
  return ActionsResult_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActionsResult::GetClassData() const {
  return ActionsResult_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ActionsResult::ParseTableT_
    ActionsResult::_table_ =
        ActionsResult::InternalGenerateParseTable_(ActionsResult_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ActionsResult::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ActionsResult)
  ::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, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.windows_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.tabs_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.script_tool_results_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.extra_information_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.error_message_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.latency_information_ != nullptr);
      _impl_.latency_information_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000c0U)) {
    ::memset(&_impl_.action_result_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.index_of_failed_action_) -
        reinterpret_cast<char*>(&_impl_.action_result_)) + sizeof(_impl_.index_of_failed_action_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 action_result = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_action_result(), target);
  }

  // int32 index_of_failed_action = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_index_of_failed_action(), target);
  }

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

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

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

  // .optimization_guide.proto.ActionsResult.LatencyInformation latency_information = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.latency_information_, this_._impl_.latency_information_->GetCachedSize(), target,
        stream);
  }

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

  // repeated string extra_information = 8;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (int i = 0, n = this_._internal_extra_information_size(); i < n; ++i) {
      const auto& s = this_._internal_extra_information().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ActionsResult.extra_information");
      target = stream->WriteString(8, 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.ActionsResult)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ActionsResult::ByteSizeLong(const MessageLite& base) {
  const ActionsResult& this_ = static_cast<const ActionsResult&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ActionsResult::ByteSizeLong() const {
  const ActionsResult& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ActionsResult)
  ::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, 0x000000ffU)) {
    // repeated .optimization_guide.proto.WindowObservation windows = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_windows_size();
      for (const auto& msg : this_._internal_windows()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.TabObservation tabs = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_tabs_size();
      for (const auto& msg : this_._internal_tabs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.ScriptToolResult script_tool_results = 5;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_script_tool_results_size();
      for (const auto& msg : this_._internal_script_tool_results()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated string extra_information = 8;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_extra_information().size());
      for (int i = 0, n = this_._internal_extra_information().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_extra_information().Get(i));
      }
    }
    // string error_message = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_error_message());
    }
    // .optimization_guide.proto.ActionsResult.LatencyInformation latency_information = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.latency_information_);
    }
    // int32 action_result = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_action_result());
    }
    // int32 index_of_failed_action = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_index_of_failed_action());
    }
  }
  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 ActionsResult::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActionsResult*>(&to_msg);
  auto& from = static_cast<const ActionsResult&>(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.ActionsResult)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_windows()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_windows());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_tabs()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_tabs());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_script_tool_results()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_script_tool_results());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_extra_information()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_extra_information());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_error_message(from._internal_error_message());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.latency_information_ != nullptr);
      if (_this->_impl_.latency_information_ == nullptr) {
        _this->_impl_.latency_information_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.latency_information_);
      } else {
        _this->_impl_.latency_information_->MergeFrom(*from._impl_.latency_information_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.action_result_ = from._impl_.action_result_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.index_of_failed_action_ = from._impl_.index_of_failed_action_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ActionsResult::InternalSwap(ActionsResult* 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_.windows_.InternalSwap(&other->_impl_.windows_);
  _impl_.tabs_.InternalSwap(&other->_impl_.tabs_);
  _impl_.script_tool_results_.InternalSwap(&other->_impl_.script_tool_results_);
  _impl_.extra_information_.InternalSwap(&other->_impl_.extra_information_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.error_message_, &other->_impl_.error_message_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.index_of_failed_action_)
      + sizeof(ActionsResult::_impl_.index_of_failed_action_)
      - PROTOBUF_FIELD_OFFSET(ActionsResult, _impl_.latency_information_)>(
          reinterpret_cast<char*>(&_impl_.latency_information_),
          reinterpret_cast<char*>(&other->_impl_.latency_information_));
}

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

BrowserStartTask::BrowserStartTask(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BrowserStartTask_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.BrowserStartTask)
}
BrowserStartTask::BrowserStartTask(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BrowserStartTask& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BrowserStartTask_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE BrowserStartTask::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void BrowserStartTask::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.tab_id_ = {};
}
BrowserStartTask::~BrowserStartTask() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.BrowserStartTask)
  SharedDtor(*this);
}
inline void BrowserStartTask::SharedDtor(MessageLite& self) {
  BrowserStartTask& this_ = static_cast<BrowserStartTask&>(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 BrowserStartTask_class_data_ =
    BrowserStartTask::InternalGenerateClassData_(BrowserStartTask_globals_._default);

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

  _impl_.tab_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 tab_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_tab_id(), 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.BrowserStartTask)
  return target;
}

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

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

   {
    // int32 tab_id = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  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 BrowserStartTask::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BrowserStartTask*>(&to_msg);
  auto& from = static_cast<const BrowserStartTask&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.BrowserStartTask)
  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->_impl_.tab_id_ = from._impl_.tab_id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

BrowserStartTaskResult::BrowserStartTaskResult(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BrowserStartTaskResult_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.BrowserStartTaskResult)
}
BrowserStartTaskResult::BrowserStartTaskResult(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BrowserStartTaskResult& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BrowserStartTaskResult_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE BrowserStartTaskResult::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void BrowserStartTaskResult::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, task_id_),
           0,
           offsetof(Impl_, status_) -
               offsetof(Impl_, task_id_) +
               sizeof(Impl_::status_));
}
BrowserStartTaskResult::~BrowserStartTaskResult() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.BrowserStartTaskResult)
  SharedDtor(*this);
}
inline void BrowserStartTaskResult::SharedDtor(MessageLite& self) {
  BrowserStartTaskResult& this_ = static_cast<BrowserStartTaskResult&>(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 BrowserStartTaskResult_class_data_ =
    BrowserStartTaskResult::InternalGenerateClassData_(BrowserStartTaskResult_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BrowserStartTaskResult::GetClassData() const {
  return BrowserStartTaskResult_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BrowserStartTaskResult::GetClassData() const {
  return BrowserStartTaskResult_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BrowserStartTaskResult::ParseTableT_
    BrowserStartTaskResult::_table_ =
        BrowserStartTaskResult::InternalGenerateParseTable_(BrowserStartTaskResult_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BrowserStartTaskResult::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.BrowserStartTaskResult)
  ::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)) {
    ::memset(&_impl_.task_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.status_) -
        reinterpret_cast<char*>(&_impl_.task_id_)) + sizeof(_impl_.status_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 task_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_task_id(), target);
  }

  // int32 tab_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_tab_id(), target);
  }

  // .optimization_guide.proto.BrowserStartTaskResult.StartTaskStatus status = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_status(), 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.BrowserStartTaskResult)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BrowserStartTaskResult::ByteSizeLong(const MessageLite& base) {
  const BrowserStartTaskResult& this_ = static_cast<const BrowserStartTaskResult&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BrowserStartTaskResult::ByteSizeLong() const {
  const BrowserStartTaskResult& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.BrowserStartTaskResult)
  ::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)) {
    // int32 task_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_task_id());
    }
    // int32 tab_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
    // .optimization_guide.proto.BrowserStartTaskResult.StartTaskStatus status = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      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 BrowserStartTaskResult::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BrowserStartTaskResult*>(&to_msg);
  auto& from = static_cast<const BrowserStartTaskResult&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.BrowserStartTaskResult)
  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->_impl_.task_id_ = from._impl_.task_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.status_ = from._impl_.status_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BrowserStartTaskResult::InternalSwap(BrowserStartTaskResult* 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(BrowserStartTaskResult, _impl_.status_)
      + sizeof(BrowserStartTaskResult::_impl_.status_)
      - PROTOBUF_FIELD_OFFSET(BrowserStartTaskResult, _impl_.task_id_)>(
          reinterpret_cast<char*>(&_impl_.task_id_),
          reinterpret_cast<char*>(&other->_impl_.task_id_));
}

// @@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"
