// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: google/protobuf/descriptor.proto
// Protobuf C++ Version: 5.29.0-rc3

#include "google/protobuf/descriptor.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/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/descriptor.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/reflection_ops.h"
#include "google/protobuf/wire_format.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 google {
namespace protobuf {

inline constexpr UninterpretedOption_NamePart::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_part_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        is_extension_{false} {}

template <typename>
PROTOBUF_CONSTEXPR UninterpretedOption_NamePart::UninterpretedOption_NamePart(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct UninterpretedOption_NamePartDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr UninterpretedOption_NamePartDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  UninterpretedOption_NamePartDefaultTypeInternal() {}
  void Init() { ::new (&_instance) UninterpretedOption_NamePart(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~UninterpretedOption_NamePartDefaultTypeInternal() {}
  union {
    UninterpretedOption_NamePart _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UninterpretedOption_NamePartDefaultTypeInternal _UninterpretedOption_NamePart_default_instance_;

inline constexpr SourceCodeInfo_Location::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        path_{},
        _path_cached_byte_size_{0},
        span_{},
        _span_cached_byte_size_{0},
        leading_detached_comments_{},
        leading_comments_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        trailing_comments_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
PROTOBUF_CONSTEXPR SourceCodeInfo_Location::SourceCodeInfo_Location(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct SourceCodeInfo_LocationDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr SourceCodeInfo_LocationDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  SourceCodeInfo_LocationDefaultTypeInternal() {}
  void Init() { ::new (&_instance) SourceCodeInfo_Location(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~SourceCodeInfo_LocationDefaultTypeInternal() {}
  union {
    SourceCodeInfo_Location _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceCodeInfo_LocationDefaultTypeInternal _SourceCodeInfo_Location_default_instance_;

inline constexpr GeneratedCodeInfo_Annotation::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        path_{},
        _path_cached_byte_size_{0},
        source_file_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        begin_{0},
        end_{0},
        semantic_{static_cast< ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct GeneratedCodeInfo_AnnotationDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr GeneratedCodeInfo_AnnotationDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  GeneratedCodeInfo_AnnotationDefaultTypeInternal() {}
  void Init() { ::new (&_instance) GeneratedCodeInfo_Annotation(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~GeneratedCodeInfo_AnnotationDefaultTypeInternal() {}
  union {
    GeneratedCodeInfo_Annotation _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GeneratedCodeInfo_AnnotationDefaultTypeInternal _GeneratedCodeInfo_Annotation_default_instance_;

inline constexpr FieldOptions_FeatureSupport::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        deprecation_warning_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        edition_introduced_{static_cast< ::google::protobuf::Edition >(0)},
        edition_deprecated_{static_cast< ::google::protobuf::Edition >(0)},
        edition_removed_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR FieldOptions_FeatureSupport::FieldOptions_FeatureSupport(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FieldOptions_FeatureSupportDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FieldOptions_FeatureSupportDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FieldOptions_FeatureSupportDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FieldOptions_FeatureSupport(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FieldOptions_FeatureSupportDefaultTypeInternal() {}
  union {
    FieldOptions_FeatureSupport _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldOptions_FeatureSupportDefaultTypeInternal _FieldOptions_FeatureSupport_default_instance_;

inline constexpr FieldOptions_EditionDefault::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        edition_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR FieldOptions_EditionDefault::FieldOptions_EditionDefault(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FieldOptions_EditionDefaultDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FieldOptions_EditionDefaultDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FieldOptions_EditionDefaultDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FieldOptions_EditionDefault(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FieldOptions_EditionDefaultDefaultTypeInternal() {}
  union {
    FieldOptions_EditionDefault _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldOptions_EditionDefaultDefaultTypeInternal _FieldOptions_EditionDefault_default_instance_;

inline constexpr FeatureSet::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        field_presence_{static_cast< ::google::protobuf::FeatureSet_FieldPresence >(0)},
        enum_type_{static_cast< ::google::protobuf::FeatureSet_EnumType >(0)},
        repeated_field_encoding_{static_cast< ::google::protobuf::FeatureSet_RepeatedFieldEncoding >(0)},
        utf8_validation_{static_cast< ::google::protobuf::FeatureSet_Utf8Validation >(0)},
        message_encoding_{static_cast< ::google::protobuf::FeatureSet_MessageEncoding >(0)},
        json_format_{static_cast< ::google::protobuf::FeatureSet_JsonFormat >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR FeatureSet::FeatureSet(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FeatureSetDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FeatureSetDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FeatureSetDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FeatureSet(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FeatureSetDefaultTypeInternal() {}
  union {
    FeatureSet _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeatureSetDefaultTypeInternal _FeatureSet_default_instance_;

inline constexpr ExtensionRangeOptions_Declaration::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        full_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        number_{0},
        reserved_{false},
        repeated_{false} {}

template <typename>
PROTOBUF_CONSTEXPR ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct ExtensionRangeOptions_DeclarationDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr ExtensionRangeOptions_DeclarationDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ExtensionRangeOptions_DeclarationDefaultTypeInternal() {}
  void Init() { ::new (&_instance) ExtensionRangeOptions_Declaration(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~ExtensionRangeOptions_DeclarationDefaultTypeInternal() {}
  union {
    ExtensionRangeOptions_Declaration _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExtensionRangeOptions_DeclarationDefaultTypeInternal _ExtensionRangeOptions_Declaration_default_instance_;

inline constexpr EnumDescriptorProto_EnumReservedRange::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        start_{0},
        end_{0} {}

template <typename>
PROTOBUF_CONSTEXPR EnumDescriptorProto_EnumReservedRange::EnumDescriptorProto_EnumReservedRange(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal() {}
  void Init() { ::new (&_instance) EnumDescriptorProto_EnumReservedRange(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal() {}
  union {
    EnumDescriptorProto_EnumReservedRange _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal _EnumDescriptorProto_EnumReservedRange_default_instance_;

inline constexpr DescriptorProto_ReservedRange::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        start_{0},
        end_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct DescriptorProto_ReservedRangeDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr DescriptorProto_ReservedRangeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  DescriptorProto_ReservedRangeDefaultTypeInternal() {}
  void Init() { ::new (&_instance) DescriptorProto_ReservedRange(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~DescriptorProto_ReservedRangeDefaultTypeInternal() {}
  union {
    DescriptorProto_ReservedRange _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProto_ReservedRangeDefaultTypeInternal _DescriptorProto_ReservedRange_default_instance_;

inline constexpr UninterpretedOption::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_{},
        identifier_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        string_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        aggregate_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        positive_int_value_{::uint64_t{0u}},
        negative_int_value_{::int64_t{0}},
        double_value_{0} {}

template <typename>
PROTOBUF_CONSTEXPR UninterpretedOption::UninterpretedOption(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct UninterpretedOptionDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr UninterpretedOptionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  UninterpretedOptionDefaultTypeInternal() {}
  void Init() { ::new (&_instance) UninterpretedOption(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~UninterpretedOptionDefaultTypeInternal() {}
  union {
    UninterpretedOption _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UninterpretedOptionDefaultTypeInternal _UninterpretedOption_default_instance_;

inline constexpr SourceCodeInfo::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : location_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SourceCodeInfo::SourceCodeInfo(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct SourceCodeInfoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr SourceCodeInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  SourceCodeInfoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) SourceCodeInfo(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~SourceCodeInfoDefaultTypeInternal() {}
  union {
    SourceCodeInfo _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceCodeInfoDefaultTypeInternal _SourceCodeInfo_default_instance_;

inline constexpr GeneratedCodeInfo::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : annotation_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GeneratedCodeInfo::GeneratedCodeInfo(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct GeneratedCodeInfoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr GeneratedCodeInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  GeneratedCodeInfoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) GeneratedCodeInfo(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~GeneratedCodeInfoDefaultTypeInternal() {}
  union {
    GeneratedCodeInfo _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GeneratedCodeInfoDefaultTypeInternal _GeneratedCodeInfo_default_instance_;

inline constexpr FeatureSetDefaults_FeatureSetEditionDefault::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        overridable_features_{nullptr},
        fixed_features_{nullptr},
        edition_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR FeatureSetDefaults_FeatureSetEditionDefault::FeatureSetDefaults_FeatureSetEditionDefault(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FeatureSetDefaults_FeatureSetEditionDefaultDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FeatureSetDefaults_FeatureSetEditionDefaultDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FeatureSetDefaults_FeatureSetEditionDefaultDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FeatureSetDefaults_FeatureSetEditionDefault(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FeatureSetDefaults_FeatureSetEditionDefaultDefaultTypeInternal() {}
  union {
    FeatureSetDefaults_FeatureSetEditionDefault _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeatureSetDefaults_FeatureSetEditionDefaultDefaultTypeInternal _FeatureSetDefaults_FeatureSetEditionDefault_default_instance_;

inline constexpr ServiceOptions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        uninterpreted_option_{},
        features_{nullptr},
        deprecated_{false} {}

template <typename>
PROTOBUF_CONSTEXPR ServiceOptions::ServiceOptions(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct ServiceOptionsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr ServiceOptionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ServiceOptionsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) ServiceOptions(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~ServiceOptionsDefaultTypeInternal() {}
  union {
    ServiceOptions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ServiceOptionsDefaultTypeInternal _ServiceOptions_default_instance_;

inline constexpr OneofOptions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        uninterpreted_option_{},
        features_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR OneofOptions::OneofOptions(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct OneofOptionsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr OneofOptionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  OneofOptionsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) OneofOptions(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~OneofOptionsDefaultTypeInternal() {}
  union {
    OneofOptions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OneofOptionsDefaultTypeInternal _OneofOptions_default_instance_;

inline constexpr MethodOptions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        uninterpreted_option_{},
        features_{nullptr},
        deprecated_{false},
        idempotency_level_{static_cast< ::google::protobuf::MethodOptions_IdempotencyLevel >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR MethodOptions::MethodOptions(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct MethodOptionsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr MethodOptionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  MethodOptionsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) MethodOptions(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~MethodOptionsDefaultTypeInternal() {}
  union {
    MethodOptions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MethodOptionsDefaultTypeInternal _MethodOptions_default_instance_;

inline constexpr MessageOptions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        uninterpreted_option_{},
        features_{nullptr},
        message_set_wire_format_{false},
        no_standard_descriptor_accessor_{false},
        deprecated_{false},
        map_entry_{false},
        deprecated_legacy_json_field_conflicts_{false} {}

template <typename>
PROTOBUF_CONSTEXPR MessageOptions::MessageOptions(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct MessageOptionsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr MessageOptionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  MessageOptionsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) MessageOptions(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~MessageOptionsDefaultTypeInternal() {}
  union {
    MessageOptions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MessageOptionsDefaultTypeInternal _MessageOptions_default_instance_;

inline constexpr FileOptions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        uninterpreted_option_{},
        java_package_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        java_outer_classname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        go_package_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        objc_class_prefix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        csharp_namespace_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        swift_prefix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        php_class_prefix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        php_namespace_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        php_metadata_namespace_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ruby_package_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        features_{nullptr},
        java_multiple_files_{false},
        java_generate_equals_and_hash_{false},
        java_string_check_utf8_{false},
        cc_generic_services_{false},
        java_generic_services_{false},
        py_generic_services_{false},
        deprecated_{false},
        optimize_for_{static_cast< ::google::protobuf::FileOptions_OptimizeMode >(1)},
        cc_enable_arenas_{true} {}

template <typename>
PROTOBUF_CONSTEXPR FileOptions::FileOptions(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FileOptionsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FileOptionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FileOptionsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FileOptions(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FileOptionsDefaultTypeInternal() {}
  union {
    FileOptions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileOptionsDefaultTypeInternal _FileOptions_default_instance_;

inline constexpr FieldOptions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        targets_{},
        edition_defaults_{},
        uninterpreted_option_{},
        features_{nullptr},
        feature_support_{nullptr},
        ctype_{static_cast< ::google::protobuf::FieldOptions_CType >(0)},
        jstype_{static_cast< ::google::protobuf::FieldOptions_JSType >(0)},
        packed_{false},
        lazy_{false},
        unverified_lazy_{false},
        deprecated_{false},
        weak_{false},
        debug_redact_{false},
        retention_{static_cast< ::google::protobuf::FieldOptions_OptionRetention >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR FieldOptions::FieldOptions(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FieldOptionsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FieldOptionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FieldOptionsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FieldOptions(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FieldOptionsDefaultTypeInternal() {}
  union {
    FieldOptions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldOptionsDefaultTypeInternal _FieldOptions_default_instance_;

inline constexpr FeatureSetDefaults::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        defaults_{},
        minimum_edition_{static_cast< ::google::protobuf::Edition >(0)},
        maximum_edition_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR FeatureSetDefaults::FeatureSetDefaults(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FeatureSetDefaultsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FeatureSetDefaultsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FeatureSetDefaultsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FeatureSetDefaults(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FeatureSetDefaultsDefaultTypeInternal() {}
  union {
    FeatureSetDefaults _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeatureSetDefaultsDefaultTypeInternal _FeatureSetDefaults_default_instance_;

inline constexpr ExtensionRangeOptions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        declaration_{},
        uninterpreted_option_{},
        features_{nullptr},
        verification_{static_cast< ::google::protobuf::ExtensionRangeOptions_VerificationState >(1)} {}

template <typename>
PROTOBUF_CONSTEXPR ExtensionRangeOptions::ExtensionRangeOptions(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct ExtensionRangeOptionsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr ExtensionRangeOptionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ExtensionRangeOptionsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) ExtensionRangeOptions(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~ExtensionRangeOptionsDefaultTypeInternal() {}
  union {
    ExtensionRangeOptions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExtensionRangeOptionsDefaultTypeInternal _ExtensionRangeOptions_default_instance_;

inline constexpr EnumValueOptions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        uninterpreted_option_{},
        features_{nullptr},
        feature_support_{nullptr},
        deprecated_{false},
        debug_redact_{false} {}

template <typename>
PROTOBUF_CONSTEXPR EnumValueOptions::EnumValueOptions(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct EnumValueOptionsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr EnumValueOptionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  EnumValueOptionsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) EnumValueOptions(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~EnumValueOptionsDefaultTypeInternal() {}
  union {
    EnumValueOptions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueOptionsDefaultTypeInternal _EnumValueOptions_default_instance_;

inline constexpr EnumOptions::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        uninterpreted_option_{},
        features_{nullptr},
        allow_alias_{false},
        deprecated_{false},
        deprecated_legacy_json_field_conflicts_{false} {}

template <typename>
PROTOBUF_CONSTEXPR EnumOptions::EnumOptions(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct EnumOptionsDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr EnumOptionsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  EnumOptionsDefaultTypeInternal() {}
  void Init() { ::new (&_instance) EnumOptions(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~EnumOptionsDefaultTypeInternal() {}
  union {
    EnumOptions _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumOptionsDefaultTypeInternal _EnumOptions_default_instance_;

inline constexpr OneofDescriptorProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR OneofDescriptorProto::OneofDescriptorProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct OneofDescriptorProtoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr OneofDescriptorProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  OneofDescriptorProtoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) OneofDescriptorProto(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~OneofDescriptorProtoDefaultTypeInternal() {}
  union {
    OneofDescriptorProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OneofDescriptorProtoDefaultTypeInternal _OneofDescriptorProto_default_instance_;

inline constexpr MethodDescriptorProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        input_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        output_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        client_streaming_{false},
        server_streaming_{false} {}

template <typename>
PROTOBUF_CONSTEXPR MethodDescriptorProto::MethodDescriptorProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct MethodDescriptorProtoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr MethodDescriptorProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  MethodDescriptorProtoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) MethodDescriptorProto(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~MethodDescriptorProtoDefaultTypeInternal() {}
  union {
    MethodDescriptorProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MethodDescriptorProtoDefaultTypeInternal _MethodDescriptorProto_default_instance_;

inline constexpr FieldDescriptorProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        extendee_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        default_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        json_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        number_{0},
        oneof_index_{0},
        proto3_optional_{false},
        label_{static_cast< ::google::protobuf::FieldDescriptorProto_Label >(1)},
        type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)} {}

template <typename>
PROTOBUF_CONSTEXPR FieldDescriptorProto::FieldDescriptorProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FieldDescriptorProtoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FieldDescriptorProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FieldDescriptorProtoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FieldDescriptorProto(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FieldDescriptorProtoDefaultTypeInternal() {}
  union {
    FieldDescriptorProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldDescriptorProtoDefaultTypeInternal _FieldDescriptorProto_default_instance_;

inline constexpr EnumValueDescriptorProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        number_{0} {}

template <typename>
PROTOBUF_CONSTEXPR EnumValueDescriptorProto::EnumValueDescriptorProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct EnumValueDescriptorProtoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr EnumValueDescriptorProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  EnumValueDescriptorProtoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) EnumValueDescriptorProto(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~EnumValueDescriptorProtoDefaultTypeInternal() {}
  union {
    EnumValueDescriptorProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueDescriptorProtoDefaultTypeInternal _EnumValueDescriptorProto_default_instance_;

inline constexpr DescriptorProto_ExtensionRange::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{nullptr},
        start_{0},
        end_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct DescriptorProto_ExtensionRangeDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr DescriptorProto_ExtensionRangeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  DescriptorProto_ExtensionRangeDefaultTypeInternal() {}
  void Init() { ::new (&_instance) DescriptorProto_ExtensionRange(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~DescriptorProto_ExtensionRangeDefaultTypeInternal() {}
  union {
    DescriptorProto_ExtensionRange _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProto_ExtensionRangeDefaultTypeInternal _DescriptorProto_ExtensionRange_default_instance_;

inline constexpr ServiceDescriptorProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        method_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR ServiceDescriptorProto::ServiceDescriptorProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct ServiceDescriptorProtoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr ServiceDescriptorProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ServiceDescriptorProtoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) ServiceDescriptorProto(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~ServiceDescriptorProtoDefaultTypeInternal() {}
  union {
    ServiceDescriptorProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ServiceDescriptorProtoDefaultTypeInternal _ServiceDescriptorProto_default_instance_;

inline constexpr EnumDescriptorProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_{},
        reserved_range_{},
        reserved_name_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR EnumDescriptorProto::EnumDescriptorProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct EnumDescriptorProtoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr EnumDescriptorProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  EnumDescriptorProtoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) EnumDescriptorProto(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~EnumDescriptorProtoDefaultTypeInternal() {}
  union {
    EnumDescriptorProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumDescriptorProtoDefaultTypeInternal _EnumDescriptorProto_default_instance_;

inline constexpr DescriptorProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        field_{},
        nested_type_{},
        enum_type_{},
        extension_range_{},
        extension_{},
        oneof_decl_{},
        reserved_range_{},
        reserved_name_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR DescriptorProto::DescriptorProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct DescriptorProtoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr DescriptorProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  DescriptorProtoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) DescriptorProto(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~DescriptorProtoDefaultTypeInternal() {}
  union {
    DescriptorProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProtoDefaultTypeInternal _DescriptorProto_default_instance_;

inline constexpr FileDescriptorProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        dependency_{},
        message_type_{},
        enum_type_{},
        service_{},
        extension_{},
        public_dependency_{},
        weak_dependency_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        package_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        syntax_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        source_code_info_{nullptr},
        edition_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR FileDescriptorProto::FileDescriptorProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FileDescriptorProtoDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FileDescriptorProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FileDescriptorProtoDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FileDescriptorProto(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FileDescriptorProtoDefaultTypeInternal() {}
  union {
    FileDescriptorProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileDescriptorProtoDefaultTypeInternal _FileDescriptorProto_default_instance_;

inline constexpr FileDescriptorSet::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : file_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR FileDescriptorSet::FileDescriptorSet(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct FileDescriptorSetDefaultTypeInternal {
#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr FileDescriptorSetDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
#else   // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  FileDescriptorSetDefaultTypeInternal() {}
  void Init() { ::new (&_instance) FileDescriptorSet(); };
#endif  // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  ~FileDescriptorSetDefaultTypeInternal() {}
  union {
    FileDescriptorSet _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileDescriptorSetDefaultTypeInternal _FileDescriptorSet_default_instance_;
}  // namespace protobuf
}  // namespace google
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[17];
static constexpr const ::_pb::ServiceDescriptor**
    file_level_service_descriptors_google_2fprotobuf_2fdescriptor_2eproto = nullptr;
const ::uint32_t
    TableStruct_google_2fprotobuf_2fdescriptor_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
        protodesc_cold) = {
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorSet, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorSet, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorSet, _impl_.file_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.package_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.dependency_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.public_dependency_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.weak_dependency_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.message_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.enum_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.service_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.extension_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.source_code_info_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.syntax_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.edition_),
        0,
        1,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        3,
        4,
        2,
        5,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ExtensionRange, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ExtensionRange, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ExtensionRange, _impl_.start_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ExtensionRange, _impl_.end_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ExtensionRange, _impl_.options_),
        1,
        2,
        0,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ReservedRange, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ReservedRange, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ReservedRange, _impl_.start_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ReservedRange, _impl_.end_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.field_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.nested_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.enum_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_range_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.oneof_decl_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_range_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_name_),
        0,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        1,
        ~0u,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.number_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.full_name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.reserved_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.repeated_),
        2,
        0,
        1,
        3,
        4,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.uninterpreted_option_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.declaration_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.verification_),
        ~0u,
        ~0u,
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.number_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.label_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.type_name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.extendee_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.default_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.oneof_index_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.json_name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.proto3_optional_),
        0,
        6,
        9,
        10,
        2,
        1,
        3,
        7,
        4,
        5,
        8,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofDescriptorProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofDescriptorProto, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofDescriptorProto, _impl_.options_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto_EnumReservedRange, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto_EnumReservedRange, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto_EnumReservedRange, _impl_.start_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto_EnumReservedRange, _impl_.end_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_range_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_name_),
        0,
        ~0u,
        1,
        ~0u,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueDescriptorProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueDescriptorProto, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueDescriptorProto, _impl_.number_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueDescriptorProto, _impl_.options_),
        0,
        2,
        1,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_.method_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_.options_),
        0,
        ~0u,
        1,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.input_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.output_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.client_streaming_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.server_streaming_),
        0,
        1,
        2,
        3,
        4,
        5,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_package_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_outer_classname_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_multiple_files_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_generate_equals_and_hash_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_string_check_utf8_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.optimize_for_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.go_package_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.cc_generic_services_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_generic_services_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.py_generic_services_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.cc_enable_arenas_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.objc_class_prefix_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.csharp_namespace_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.swift_prefix_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.php_class_prefix_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.php_namespace_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.php_metadata_namespace_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.ruby_package_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.uninterpreted_option_),
        0,
        1,
        11,
        12,
        13,
        18,
        2,
        14,
        15,
        16,
        17,
        19,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.message_set_wire_format_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.no_standard_descriptor_accessor_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.map_entry_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.deprecated_legacy_json_field_conflicts_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.uninterpreted_option_),
        1,
        2,
        3,
        4,
        5,
        0,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_EditionDefault, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_EditionDefault, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_EditionDefault, _impl_.edition_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_EditionDefault, _impl_.value_),
        1,
        0,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.edition_introduced_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.edition_deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.deprecation_warning_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.edition_removed_),
        1,
        2,
        0,
        3,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.ctype_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.packed_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.jstype_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.lazy_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.unverified_lazy_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.weak_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.debug_redact_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.retention_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.targets_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.edition_defaults_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.feature_support_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.uninterpreted_option_),
        2,
        4,
        3,
        5,
        6,
        7,
        8,
        9,
        10,
        ~0u,
        ~0u,
        0,
        1,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_.uninterpreted_option_),
        0,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.allow_alias_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.uninterpreted_option_),
        1,
        2,
        3,
        0,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.debug_redact_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.feature_support_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.uninterpreted_option_),
        2,
        0,
        3,
        1,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_.uninterpreted_option_),
        0,
        1,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.idempotency_level_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.uninterpreted_option_),
        1,
        2,
        0,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption_NamePart, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption_NamePart, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption_NamePart, _impl_.name_part_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption_NamePart, _impl_.is_extension_),
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.identifier_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.positive_int_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.negative_int_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.double_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.string_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.aggregate_value_),
        ~0u,
        0,
        3,
        4,
        5,
        1,
        2,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.field_presence_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.enum_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.repeated_field_encoding_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.utf8_validation_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.message_encoding_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.json_format_),
        0,
        1,
        2,
        3,
        4,
        5,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.fixed_features_),
        2,
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_.defaults_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_.minimum_edition_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_.maximum_edition_),
        ~0u,
        0,
        1,
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.path_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.span_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.leading_comments_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.trailing_comments_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.leading_detached_comments_),
        ~0u,
        ~0u,
        0,
        1,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo, _internal_metadata_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo, _impl_._extensions_),
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo, _impl_.location_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.path_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.source_file_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.begin_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.end_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.semantic_),
        ~0u,
        0,
        1,
        2,
        3,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo, _impl_.annotation_),
};

static const ::_pbi::MigrationSchema
    schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        {0, -1, -1, sizeof(::google::protobuf::FileDescriptorSet)},
        {9, 30, -1, sizeof(::google::protobuf::FileDescriptorProto)},
        {43, 54, -1, sizeof(::google::protobuf::DescriptorProto_ExtensionRange)},
        {57, 67, -1, sizeof(::google::protobuf::DescriptorProto_ReservedRange)},
        {69, 87, -1, sizeof(::google::protobuf::DescriptorProto)},
        {97, 110, -1, sizeof(::google::protobuf::ExtensionRangeOptions_Declaration)},
        {115, 127, -1, sizeof(::google::protobuf::ExtensionRangeOptions)},
        {131, 150, -1, sizeof(::google::protobuf::FieldDescriptorProto)},
        {161, 171, -1, sizeof(::google::protobuf::OneofDescriptorProto)},
        {173, 183, -1, sizeof(::google::protobuf::EnumDescriptorProto_EnumReservedRange)},
        {185, 198, -1, sizeof(::google::protobuf::EnumDescriptorProto)},
        {203, 214, -1, sizeof(::google::protobuf::EnumValueDescriptorProto)},
        {217, 228, -1, sizeof(::google::protobuf::ServiceDescriptorProto)},
        {231, 245, -1, sizeof(::google::protobuf::MethodDescriptorProto)},
        {251, 280, -1, sizeof(::google::protobuf::FileOptions)},
        {301, 316, -1, sizeof(::google::protobuf::MessageOptions)},
        {323, 333, -1, sizeof(::google::protobuf::FieldOptions_EditionDefault)},
        {335, 347, -1, sizeof(::google::protobuf::FieldOptions_FeatureSupport)},
        {351, 373, -1, sizeof(::google::protobuf::FieldOptions)},
        {387, 397, -1, sizeof(::google::protobuf::OneofOptions)},
        {399, 412, -1, sizeof(::google::protobuf::EnumOptions)},
        {417, 430, -1, sizeof(::google::protobuf::EnumValueOptions)},
        {435, 446, -1, sizeof(::google::protobuf::ServiceOptions)},
        {449, 461, -1, sizeof(::google::protobuf::MethodOptions)},
        {465, 475, -1, sizeof(::google::protobuf::UninterpretedOption_NamePart)},
        {477, 492, -1, sizeof(::google::protobuf::UninterpretedOption)},
        {499, 513, -1, sizeof(::google::protobuf::FeatureSet)},
        {519, 530, -1, sizeof(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault)},
        {533, 544, -1, sizeof(::google::protobuf::FeatureSetDefaults)},
        {547, 560, -1, sizeof(::google::protobuf::SourceCodeInfo_Location)},
        {565, -1, -1, sizeof(::google::protobuf::SourceCodeInfo)},
        {574, 587, -1, sizeof(::google::protobuf::GeneratedCodeInfo_Annotation)},
        {592, -1, -1, sizeof(::google::protobuf::GeneratedCodeInfo)},
};
static const ::_pb::Message* const file_default_instances[] = {
    &::google::protobuf::_FileDescriptorSet_default_instance_._instance,
    &::google::protobuf::_FileDescriptorProto_default_instance_._instance,
    &::google::protobuf::_DescriptorProto_ExtensionRange_default_instance_._instance,
    &::google::protobuf::_DescriptorProto_ReservedRange_default_instance_._instance,
    &::google::protobuf::_DescriptorProto_default_instance_._instance,
    &::google::protobuf::_ExtensionRangeOptions_Declaration_default_instance_._instance,
    &::google::protobuf::_ExtensionRangeOptions_default_instance_._instance,
    &::google::protobuf::_FieldDescriptorProto_default_instance_._instance,
    &::google::protobuf::_OneofDescriptorProto_default_instance_._instance,
    &::google::protobuf::_EnumDescriptorProto_EnumReservedRange_default_instance_._instance,
    &::google::protobuf::_EnumDescriptorProto_default_instance_._instance,
    &::google::protobuf::_EnumValueDescriptorProto_default_instance_._instance,
    &::google::protobuf::_ServiceDescriptorProto_default_instance_._instance,
    &::google::protobuf::_MethodDescriptorProto_default_instance_._instance,
    &::google::protobuf::_FileOptions_default_instance_._instance,
    &::google::protobuf::_MessageOptions_default_instance_._instance,
    &::google::protobuf::_FieldOptions_EditionDefault_default_instance_._instance,
    &::google::protobuf::_FieldOptions_FeatureSupport_default_instance_._instance,
    &::google::protobuf::_FieldOptions_default_instance_._instance,
    &::google::protobuf::_OneofOptions_default_instance_._instance,
    &::google::protobuf::_EnumOptions_default_instance_._instance,
    &::google::protobuf::_EnumValueOptions_default_instance_._instance,
    &::google::protobuf::_ServiceOptions_default_instance_._instance,
    &::google::protobuf::_MethodOptions_default_instance_._instance,
    &::google::protobuf::_UninterpretedOption_NamePart_default_instance_._instance,
    &::google::protobuf::_UninterpretedOption_default_instance_._instance,
    &::google::protobuf::_FeatureSet_default_instance_._instance,
    &::google::protobuf::_FeatureSetDefaults_FeatureSetEditionDefault_default_instance_._instance,
    &::google::protobuf::_FeatureSetDefaults_default_instance_._instance,
    &::google::protobuf::_SourceCodeInfo_Location_default_instance_._instance,
    &::google::protobuf::_SourceCodeInfo_default_instance_._instance,
    &::google::protobuf::_GeneratedCodeInfo_Annotation_default_instance_._instance,
    &::google::protobuf::_GeneratedCodeInfo_default_instance_._instance,
};
const char descriptor_table_protodef_google_2fprotobuf_2fdescriptor_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
    protodesc_cold) = {
    "\n google/protobuf/descriptor.proto\022\017goog"
    "le.protobuf\"U\n\021FileDescriptorSet\0222\n\004file"
    "\030\001 \003(\0132$.google.protobuf.FileDescriptorP"
    "roto*\014\010\200\354\312\377\001\020\201\354\312\377\001\"\206\004\n\023FileDescriptorPro"
    "to\022\014\n\004name\030\001 \001(\t\022\017\n\007package\030\002 \001(\t\022\022\n\ndep"
    "endency\030\003 \003(\t\022\031\n\021public_dependency\030\n \003(\005"
    "\022\027\n\017weak_dependency\030\013 \003(\005\0226\n\014message_typ"
    "e\030\004 \003(\0132 .google.protobuf.DescriptorProt"
    "o\0227\n\tenum_type\030\005 \003(\0132$.google.protobuf.E"
    "numDescriptorProto\0228\n\007service\030\006 \003(\0132\'.go"
    "ogle.protobuf.ServiceDescriptorProto\0228\n\t"
    "extension\030\007 \003(\0132%.google.protobuf.FieldD"
    "escriptorProto\022-\n\007options\030\010 \001(\0132\034.google"
    ".protobuf.FileOptions\0229\n\020source_code_inf"
    "o\030\t \001(\0132\037.google.protobuf.SourceCodeInfo"
    "\022\016\n\006syntax\030\014 \001(\t\022)\n\007edition\030\016 \001(\0162\030.goog"
    "le.protobuf.Edition\"\251\005\n\017DescriptorProto\022"
    "\014\n\004name\030\001 \001(\t\0224\n\005field\030\002 \003(\0132%.google.pr"
    "otobuf.FieldDescriptorProto\0228\n\textension"
    "\030\006 \003(\0132%.google.protobuf.FieldDescriptor"
    "Proto\0225\n\013nested_type\030\003 \003(\0132 .google.prot"
    "obuf.DescriptorProto\0227\n\tenum_type\030\004 \003(\0132"
    "$.google.protobuf.EnumDescriptorProto\022H\n"
    "\017extension_range\030\005 \003(\0132/.google.protobuf"
    ".DescriptorProto.ExtensionRange\0229\n\noneof"
    "_decl\030\010 \003(\0132%.google.protobuf.OneofDescr"
    "iptorProto\0220\n\007options\030\007 \001(\0132\037.google.pro"
    "tobuf.MessageOptions\022F\n\016reserved_range\030\t"
    " \003(\0132..google.protobuf.DescriptorProto.R"
    "eservedRange\022\025\n\rreserved_name\030\n \003(\t\032e\n\016E"
    "xtensionRange\022\r\n\005start\030\001 \001(\005\022\013\n\003end\030\002 \001("
    "\005\0227\n\007options\030\003 \001(\0132&.google.protobuf.Ext"
    "ensionRangeOptions\032+\n\rReservedRange\022\r\n\005s"
    "tart\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\"\345\003\n\025ExtensionRan"
    "geOptions\022C\n\024uninterpreted_option\030\347\007 \003(\013"
    "2$.google.protobuf.UninterpretedOption\022L"
    "\n\013declaration\030\002 \003(\01322.google.protobuf.Ex"
    "tensionRangeOptions.DeclarationB\003\210\001\002\022-\n\010"
    "features\0302 \001(\0132\033.google.protobuf.Feature"
    "Set\022_\n\014verification\030\003 \001(\01628.google.proto"
    "buf.ExtensionRangeOptions.VerificationSt"
    "ate:\nUNVERIFIEDB\003\210\001\002\032h\n\013Declaration\022\016\n\006n"
    "umber\030\001 \001(\005\022\021\n\tfull_name\030\002 \001(\t\022\014\n\004type\030\003"
    " \001(\t\022\020\n\010reserved\030\005 \001(\010\022\020\n\010repeated\030\006 \001(\010"
    "J\004\010\004\020\005\"4\n\021VerificationState\022\017\n\013DECLARATI"
    "ON\020\000\022\016\n\nUNVERIFIED\020\001*\t\010\350\007\020\200\200\200\200\002\"\325\005\n\024Fiel"
    "dDescriptorProto\022\014\n\004name\030\001 \001(\t\022\016\n\006number"
    "\030\003 \001(\005\022:\n\005label\030\004 \001(\0162+.google.protobuf."
    "FieldDescriptorProto.Label\0228\n\004type\030\005 \001(\016"
    "2*.google.protobuf.FieldDescriptorProto."
    "Type\022\021\n\ttype_name\030\006 \001(\t\022\020\n\010extendee\030\002 \001("
    "\t\022\025\n\rdefault_value\030\007 \001(\t\022\023\n\013oneof_index\030"
    "\t \001(\005\022\021\n\tjson_name\030\n \001(\t\022.\n\007options\030\010 \001("
    "\0132\035.google.protobuf.FieldOptions\022\027\n\017prot"
    "o3_optional\030\021 \001(\010\"\266\002\n\004Type\022\017\n\013TYPE_DOUBL"
    "E\020\001\022\016\n\nTYPE_FLOAT\020\002\022\016\n\nTYPE_INT64\020\003\022\017\n\013T"
    "YPE_UINT64\020\004\022\016\n\nTYPE_INT32\020\005\022\020\n\014TYPE_FIX"
    "ED64\020\006\022\020\n\014TYPE_FIXED32\020\007\022\r\n\tTYPE_BOOL\020\010\022"
    "\017\n\013TYPE_STRING\020\t\022\016\n\nTYPE_GROUP\020\n\022\020\n\014TYPE"
    "_MESSAGE\020\013\022\016\n\nTYPE_BYTES\020\014\022\017\n\013TYPE_UINT3"
    "2\020\r\022\r\n\tTYPE_ENUM\020\016\022\021\n\rTYPE_SFIXED32\020\017\022\021\n"
    "\rTYPE_SFIXED64\020\020\022\017\n\013TYPE_SINT32\020\021\022\017\n\013TYP"
    "E_SINT64\020\022\"C\n\005Label\022\022\n\016LABEL_OPTIONAL\020\001\022"
    "\022\n\016LABEL_REPEATED\020\003\022\022\n\016LABEL_REQUIRED\020\002\""
    "T\n\024OneofDescriptorProto\022\014\n\004name\030\001 \001(\t\022.\n"
    "\007options\030\002 \001(\0132\035.google.protobuf.OneofOp"
    "tions\"\244\002\n\023EnumDescriptorProto\022\014\n\004name\030\001 "
    "\001(\t\0228\n\005value\030\002 \003(\0132).google.protobuf.Enu"
    "mValueDescriptorProto\022-\n\007options\030\003 \001(\0132\034"
    ".google.protobuf.EnumOptions\022N\n\016reserved"
    "_range\030\004 \003(\01326.google.protobuf.EnumDescr"
    "iptorProto.EnumReservedRange\022\025\n\rreserved"
    "_name\030\005 \003(\t\032/\n\021EnumReservedRange\022\r\n\005star"
    "t\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\"l\n\030EnumValueDescrip"
    "torProto\022\014\n\004name\030\001 \001(\t\022\016\n\006number\030\002 \001(\005\0222"
    "\n\007options\030\003 \001(\0132!.google.protobuf.EnumVa"
    "lueOptions\"\220\001\n\026ServiceDescriptorProto\022\014\n"
    "\004name\030\001 \001(\t\0226\n\006method\030\002 \003(\0132&.google.pro"
    "tobuf.MethodDescriptorProto\0220\n\007options\030\003"
    " \001(\0132\037.google.protobuf.ServiceOptions\"\301\001"
    "\n\025MethodDescriptorProto\022\014\n\004name\030\001 \001(\t\022\022\n"
    "\ninput_type\030\002 \001(\t\022\023\n\013output_type\030\003 \001(\t\022/"
    "\n\007options\030\004 \001(\0132\036.google.protobuf.Method"
    "Options\022\037\n\020client_streaming\030\005 \001(\010:\005false"
    "\022\037\n\020server_streaming\030\006 \001(\010:\005false\"\313\006\n\013Fi"
    "leOptions\022\024\n\014java_package\030\001 \001(\t\022\034\n\024java_"
    "outer_classname\030\010 \001(\t\022\"\n\023java_multiple_f"
    "iles\030\n \001(\010:\005false\022)\n\035java_generate_equal"
    "s_and_hash\030\024 \001(\010B\002\030\001\022%\n\026java_string_chec"
    "k_utf8\030\033 \001(\010:\005false\022F\n\014optimize_for\030\t \001("
    "\0162).google.protobuf.FileOptions.Optimize"
    "Mode:\005SPEED\022\022\n\ngo_package\030\013 \001(\t\022\"\n\023cc_ge"
    "neric_services\030\020 \001(\010:\005false\022$\n\025java_gene"
    "ric_services\030\021 \001(\010:\005false\022\"\n\023py_generic_"
    "services\030\022 \001(\010:\005false\022\031\n\ndeprecated\030\027 \001("
    "\010:\005false\022\036\n\020cc_enable_arenas\030\037 \001(\010:\004true"
    "\022\031\n\021objc_class_prefix\030$ \001(\t\022\030\n\020csharp_na"
    "mespace\030% \001(\t\022\024\n\014swift_prefix\030\' \001(\t\022\030\n\020p"
    "hp_class_prefix\030( \001(\t\022\025\n\rphp_namespace\030)"
    " \001(\t\022\036\n\026php_metadata_namespace\030, \001(\t\022\024\n\014"
    "ruby_package\030- \001(\t\022-\n\010features\0302 \001(\0132\033.g"
    "oogle.protobuf.FeatureSet\022C\n\024uninterpret"
    "ed_option\030\347\007 \003(\0132$.google.protobuf.Unint"
    "erpretedOption\":\n\014OptimizeMode\022\t\n\005SPEED\020"
    "\001\022\r\n\tCODE_SIZE\020\002\022\020\n\014LITE_RUNTIME\020\003*\t\010\350\007\020"
    "\200\200\200\200\002J\004\010*\020+J\004\010&\020\'R\024php_generic_services\""
    "\347\002\n\016MessageOptions\022&\n\027message_set_wire_f"
    "ormat\030\001 \001(\010:\005false\022.\n\037no_standard_descri"
    "ptor_accessor\030\002 \001(\010:\005false\022\031\n\ndeprecated"
    "\030\003 \001(\010:\005false\022\021\n\tmap_entry\030\007 \001(\010\0222\n&depr"
    "ecated_legacy_json_field_conflicts\030\013 \001(\010"
    "B\002\030\001\022-\n\010features\030\014 \001(\0132\033.google.protobuf"
    ".FeatureSet\022C\n\024uninterpreted_option\030\347\007 \003"
    "(\0132$.google.protobuf.UninterpretedOption"
    "*\t\010\350\007\020\200\200\200\200\002J\004\010\004\020\005J\004\010\005\020\006J\004\010\006\020\007J\004\010\010\020\tJ\004\010\t\020"
    "\n\"\243\013\n\014FieldOptions\022:\n\005ctype\030\001 \001(\0162#.goog"
    "le.protobuf.FieldOptions.CType:\006STRING\022\016"
    "\n\006packed\030\002 \001(\010\022\?\n\006jstype\030\006 \001(\0162$.google."
    "protobuf.FieldOptions.JSType:\tJS_NORMAL\022"
    "\023\n\004lazy\030\005 \001(\010:\005false\022\036\n\017unverified_lazy\030"
    "\017 \001(\010:\005false\022\031\n\ndeprecated\030\003 \001(\010:\005false\022"
    "\023\n\004weak\030\n \001(\010:\005false\022\033\n\014debug_redact\030\020 \001"
    "(\010:\005false\022@\n\tretention\030\021 \001(\0162-.google.pr"
    "otobuf.FieldOptions.OptionRetention\022\?\n\007t"
    "argets\030\023 \003(\0162..google.protobuf.FieldOpti"
    "ons.OptionTargetType\022F\n\020edition_defaults"
    "\030\024 \003(\0132,.google.protobuf.FieldOptions.Ed"
    "itionDefault\022-\n\010features\030\025 \001(\0132\033.google."
    "protobuf.FeatureSet\022E\n\017feature_support\030\026"
    " \001(\0132,.google.protobuf.FieldOptions.Feat"
    "ureSupport\022C\n\024uninterpreted_option\030\347\007 \003("
    "\0132$.google.protobuf.UninterpretedOption\032"
    "J\n\016EditionDefault\022)\n\007edition\030\003 \001(\0162\030.goo"
    "gle.protobuf.Edition\022\r\n\005value\030\002 \001(\t\032\314\001\n\016"
    "FeatureSupport\0224\n\022edition_introduced\030\001 \001"
    "(\0162\030.google.protobuf.Edition\0224\n\022edition_"
    "deprecated\030\002 \001(\0162\030.google.protobuf.Editi"
    "on\022\033\n\023deprecation_warning\030\003 \001(\t\0221\n\017editi"
    "on_removed\030\004 \001(\0162\030.google.protobuf.Editi"
    "on\"/\n\005CType\022\n\n\006STRING\020\000\022\010\n\004CORD\020\001\022\020\n\014STR"
    "ING_PIECE\020\002\"5\n\006JSType\022\r\n\tJS_NORMAL\020\000\022\r\n\t"
    "JS_STRING\020\001\022\r\n\tJS_NUMBER\020\002\"U\n\017OptionRete"
    "ntion\022\025\n\021RETENTION_UNKNOWN\020\000\022\025\n\021RETENTIO"
    "N_RUNTIME\020\001\022\024\n\020RETENTION_SOURCE\020\002\"\214\002\n\020Op"
    "tionTargetType\022\027\n\023TARGET_TYPE_UNKNOWN\020\000\022"
    "\024\n\020TARGET_TYPE_FILE\020\001\022\037\n\033TARGET_TYPE_EXT"
    "ENSION_RANGE\020\002\022\027\n\023TARGET_TYPE_MESSAGE\020\003\022"
    "\025\n\021TARGET_TYPE_FIELD\020\004\022\025\n\021TARGET_TYPE_ON"
    "EOF\020\005\022\024\n\020TARGET_TYPE_ENUM\020\006\022\032\n\026TARGET_TY"
    "PE_ENUM_ENTRY\020\007\022\027\n\023TARGET_TYPE_SERVICE\020\010"
    "\022\026\n\022TARGET_TYPE_METHOD\020\t*\t\010\350\007\020\200\200\200\200\002J\004\010\004\020"
    "\005J\004\010\022\020\023\"\215\001\n\014OneofOptions\022-\n\010features\030\001 \001"
    "(\0132\033.google.protobuf.FeatureSet\022C\n\024unint"
    "erpreted_option\030\347\007 \003(\0132$.google.protobuf"
    ".UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\"\366\001\n\013Enum"
    "Options\022\023\n\013allow_alias\030\002 \001(\010\022\031\n\ndeprecat"
    "ed\030\003 \001(\010:\005false\0222\n&deprecated_legacy_jso"
    "n_field_conflicts\030\006 \001(\010B\002\030\001\022-\n\010features\030"
    "\007 \001(\0132\033.google.protobuf.FeatureSet\022C\n\024un"
    "interpreted_option\030\347\007 \003(\0132$.google.proto"
    "buf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002J\004\010\005\020\006"
    "\"\220\002\n\020EnumValueOptions\022\031\n\ndeprecated\030\001 \001("
    "\010:\005false\022-\n\010features\030\002 \001(\0132\033.google.prot"
    "obuf.FeatureSet\022\033\n\014debug_redact\030\003 \001(\010:\005f"
    "alse\022E\n\017feature_support\030\004 \001(\0132,.google.p"
    "rotobuf.FieldOptions.FeatureSupport\022C\n\024u"
    "ninterpreted_option\030\347\007 \003(\0132$.google.prot"
    "obuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\"\252\001\n\016"
    "ServiceOptions\022-\n\010features\030\" \001(\0132\033.googl"
    "e.protobuf.FeatureSet\022\031\n\ndeprecated\030! \001("
    "\010:\005false\022C\n\024uninterpreted_option\030\347\007 \003(\0132"
    "$.google.protobuf.UninterpretedOption*\t\010"
    "\350\007\020\200\200\200\200\002\"\334\002\n\rMethodOptions\022\031\n\ndeprecated"
    "\030! \001(\010:\005false\022_\n\021idempotency_level\030\" \001(\016"
    "2/.google.protobuf.MethodOptions.Idempot"
    "encyLevel:\023IDEMPOTENCY_UNKNOWN\022-\n\010featur"
    "es\030# \001(\0132\033.google.protobuf.FeatureSet\022C\n"
    "\024uninterpreted_option\030\347\007 \003(\0132$.google.pr"
    "otobuf.UninterpretedOption\"P\n\020Idempotenc"
    "yLevel\022\027\n\023IDEMPOTENCY_UNKNOWN\020\000\022\023\n\017NO_SI"
    "DE_EFFECTS\020\001\022\016\n\nIDEMPOTENT\020\002*\t\010\350\007\020\200\200\200\200\002\""
    "\236\002\n\023UninterpretedOption\022;\n\004name\030\002 \003(\0132-."
    "google.protobuf.UninterpretedOption.Name"
    "Part\022\030\n\020identifier_value\030\003 \001(\t\022\032\n\022positi"
    "ve_int_value\030\004 \001(\004\022\032\n\022negative_int_value"
    "\030\005 \001(\003\022\024\n\014double_value\030\006 \001(\001\022\024\n\014string_v"
    "alue\030\007 \001(\014\022\027\n\017aggregate_value\030\010 \001(\t\0323\n\010N"
    "amePart\022\021\n\tname_part\030\001 \002(\t\022\024\n\014is_extensi"
    "on\030\002 \002(\010\"\311\t\n\nFeatureSet\022\202\001\n\016field_presen"
    "ce\030\001 \001(\0162).google.protobuf.FeatureSet.Fi"
    "eldPresenceB\?\210\001\001\230\001\004\230\001\001\242\001\r\022\010EXPLICIT\030\204\007\242\001"
    "\r\022\010IMPLICIT\030\347\007\242\001\r\022\010EXPLICIT\030\350\007\262\001\003\010\350\007\022b\n\t"
    "enum_type\030\002 \001(\0162$.google.protobuf.Featur"
    "eSet.EnumTypeB)\210\001\001\230\001\006\230\001\001\242\001\013\022\006CLOSED\030\204\007\242\001"
    "\t\022\004OPEN\030\347\007\262\001\003\010\350\007\022\201\001\n\027repeated_field_enco"
    "ding\030\003 \001(\01621.google.protobuf.FeatureSet."
    "RepeatedFieldEncodingB-\210\001\001\230\001\004\230\001\001\242\001\r\022\010EXP"
    "ANDED\030\204\007\242\001\013\022\006PACKED\030\347\007\262\001\003\010\350\007\022n\n\017utf8_val"
    "idation\030\004 \001(\0162*.google.protobuf.FeatureS"
    "et.Utf8ValidationB)\210\001\001\230\001\004\230\001\001\242\001\t\022\004NONE\030\204\007"
    "\242\001\013\022\006VERIFY\030\347\007\262\001\003\010\350\007\022m\n\020message_encoding"
    "\030\005 \001(\0162+.google.protobuf.FeatureSet.Mess"
    "ageEncodingB&\210\001\001\230\001\004\230\001\001\242\001\024\022\017LENGTH_PREFIX"
    "ED\030\204\007\262\001\003\010\350\007\022v\n\013json_format\030\006 \001(\0162&.googl"
    "e.protobuf.FeatureSet.JsonFormatB9\210\001\001\230\001\003"
    "\230\001\006\230\001\001\242\001\027\022\022LEGACY_BEST_EFFORT\030\204\007\242\001\n\022\005ALL"
    "OW\030\347\007\262\001\003\010\350\007\"\\\n\rFieldPresence\022\032\n\026FIELD_PR"
    "ESENCE_UNKNOWN\020\000\022\014\n\010EXPLICIT\020\001\022\014\n\010IMPLIC"
    "IT\020\002\022\023\n\017LEGACY_REQUIRED\020\003\"7\n\010EnumType\022\025\n"
    "\021ENUM_TYPE_UNKNOWN\020\000\022\010\n\004OPEN\020\001\022\n\n\006CLOSED"
    "\020\002\"V\n\025RepeatedFieldEncoding\022#\n\037REPEATED_"
    "FIELD_ENCODING_UNKNOWN\020\000\022\n\n\006PACKED\020\001\022\014\n\010"
    "EXPANDED\020\002\"I\n\016Utf8Validation\022\033\n\027UTF8_VAL"
    "IDATION_UNKNOWN\020\000\022\n\n\006VERIFY\020\002\022\010\n\004NONE\020\003\""
    "\004\010\001\020\001\"S\n\017MessageEncoding\022\034\n\030MESSAGE_ENCO"
    "DING_UNKNOWN\020\000\022\023\n\017LENGTH_PREFIXED\020\001\022\r\n\tD"
    "ELIMITED\020\002\"H\n\nJsonFormat\022\027\n\023JSON_FORMAT_"
    "UNKNOWN\020\000\022\t\n\005ALLOW\020\001\022\026\n\022LEGACY_BEST_EFFO"
    "RT\020\002*\006\010\350\007\020\213N*\006\010\213N\020\220N*\006\010\220N\020\221NJ\006\010\347\007\020\350\007\"\230\003\n"
    "\022FeatureSetDefaults\022N\n\010defaults\030\001 \003(\0132<."
    "google.protobuf.FeatureSetDefaults.Featu"
    "reSetEditionDefault\0221\n\017minimum_edition\030\004"
    " \001(\0162\030.google.protobuf.Edition\0221\n\017maximu"
    "m_edition\030\005 \001(\0162\030.google.protobuf.Editio"
    "n\032\313\001\n\030FeatureSetEditionDefault\022)\n\007editio"
    "n\030\003 \001(\0162\030.google.protobuf.Edition\0229\n\024ove"
    "rridable_features\030\004 \001(\0132\033.google.protobu"
    "f.FeatureSet\0223\n\016fixed_features\030\005 \001(\0132\033.g"
    "oogle.protobuf.FeatureSetJ\004\010\001\020\002J\004\010\002\020\003R\010f"
    "eatures\"\343\001\n\016SourceCodeInfo\022:\n\010location\030\001"
    " \003(\0132(.google.protobuf.SourceCodeInfo.Lo"
    "cation\032\206\001\n\010Location\022\020\n\004path\030\001 \003(\005B\002\020\001\022\020\n"
    "\004span\030\002 \003(\005B\002\020\001\022\030\n\020leading_comments\030\003 \001("
    "\t\022\031\n\021trailing_comments\030\004 \001(\t\022!\n\031leading_"
    "detached_comments\030\006 \003(\t*\014\010\200\354\312\377\001\020\201\354\312\377\001\"\234\002"
    "\n\021GeneratedCodeInfo\022A\n\nannotation\030\001 \003(\0132"
    "-.google.protobuf.GeneratedCodeInfo.Anno"
    "tation\032\303\001\n\nAnnotation\022\020\n\004path\030\001 \003(\005B\002\020\001\022"
    "\023\n\013source_file\030\002 \001(\t\022\r\n\005begin\030\003 \001(\005\022\013\n\003e"
    "nd\030\004 \001(\005\022H\n\010semantic\030\005 \001(\01626.google.prot"
    "obuf.GeneratedCodeInfo.Annotation.Semant"
    "ic\"(\n\010Semantic\022\010\n\004NONE\020\000\022\007\n\003SET\020\001\022\t\n\005ALI"
    "AS\020\002*\247\002\n\007Edition\022\023\n\017EDITION_UNKNOWN\020\000\022\023\n"
    "\016EDITION_LEGACY\020\204\007\022\023\n\016EDITION_PROTO2\020\346\007\022"
    "\023\n\016EDITION_PROTO3\020\347\007\022\021\n\014EDITION_2023\020\350\007\022"
    "\021\n\014EDITION_2024\020\351\007\022\027\n\023EDITION_1_TEST_ONL"
    "Y\020\001\022\027\n\023EDITION_2_TEST_ONLY\020\002\022\035\n\027EDITION_"
    "99997_TEST_ONLY\020\235\215\006\022\035\n\027EDITION_99998_TES"
    "T_ONLY\020\236\215\006\022\035\n\027EDITION_99999_TEST_ONLY\020\237\215"
    "\006\022\023\n\013EDITION_MAX\020\377\377\377\377\007B~\n\023com.google.pro"
    "tobufB\020DescriptorProtosH\001Z-google.golang"
    ".org/protobuf/types/descriptorpb\370\001\001\242\002\003GP"
    "B\252\002\032Google.Protobuf.Reflection"
};
static ::absl::once_flag descriptor_table_google_2fprotobuf_2fdescriptor_2eproto_once;
PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_google_2fprotobuf_2fdescriptor_2eproto = {
    false,
    false,
    10110,
    descriptor_table_protodef_google_2fprotobuf_2fdescriptor_2eproto,
    "google/protobuf/descriptor.proto",
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto_once,
    nullptr,
    0,
    33,
    schemas,
    file_default_instances,
    TableStruct_google_2fprotobuf_2fdescriptor_2eproto::offsets,
    file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto,
    file_level_service_descriptors_google_2fprotobuf_2fdescriptor_2eproto,
};
namespace google {
namespace protobuf {
namespace internal {
#if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
PROTOBUF_EXPORT void InitializeFileDescriptorDefaultInstancesSlow() {
  _FileDescriptorSet_default_instance_.Init();
_FileDescriptorProto_default_instance_.Init();
_DescriptorProto_ExtensionRange_default_instance_.Init();
_DescriptorProto_ReservedRange_default_instance_.Init();
_DescriptorProto_default_instance_.Init();
_ExtensionRangeOptions_Declaration_default_instance_.Init();
_ExtensionRangeOptions_default_instance_.Init();
_FieldDescriptorProto_default_instance_.Init();
_OneofDescriptorProto_default_instance_.Init();
_EnumDescriptorProto_EnumReservedRange_default_instance_.Init();
_EnumDescriptorProto_default_instance_.Init();
_EnumValueDescriptorProto_default_instance_.Init();
_ServiceDescriptorProto_default_instance_.Init();
_MethodDescriptorProto_default_instance_.Init();
_FileOptions_default_instance_.Init();
_MessageOptions_default_instance_.Init();
_FieldOptions_EditionDefault_default_instance_.Init();
_FieldOptions_FeatureSupport_default_instance_.Init();
_FieldOptions_default_instance_.Init();
_OneofOptions_default_instance_.Init();
_EnumOptions_default_instance_.Init();
_EnumValueOptions_default_instance_.Init();
_ServiceOptions_default_instance_.Init();
_MethodOptions_default_instance_.Init();
_UninterpretedOption_NamePart_default_instance_.Init();
_UninterpretedOption_default_instance_.Init();
_FeatureSet_default_instance_.Init();
_FeatureSetDefaults_FeatureSetEditionDefault_default_instance_.Init();
_FeatureSetDefaults_default_instance_.Init();
_SourceCodeInfo_Location_default_instance_.Init();
_SourceCodeInfo_default_instance_.Init();
_GeneratedCodeInfo_Annotation_default_instance_.Init();
_GeneratedCodeInfo_default_instance_.Init();;
}
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
static std::true_type dynamic_init_dummy_google_2fprotobuf_2fdescriptor_2eproto{
    (InitializeFileDescriptorDefaultInstances(), std::true_type{})};
#endif  // !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
}  // namespace internal
}  // namespace protobuf
}  // namespace google
namespace google {
namespace protobuf {
const ::google::protobuf::EnumDescriptor* ExtensionRangeOptions_VerificationState_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t ExtensionRangeOptions_VerificationState_internal_data_[] = {
    131072u, 0u, };
bool ExtensionRangeOptions_VerificationState_IsValid(int value) {
  return 0 <= value && value <= 1;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr ExtensionRangeOptions_VerificationState ExtensionRangeOptions::DECLARATION;
constexpr ExtensionRangeOptions_VerificationState ExtensionRangeOptions::UNVERIFIED;
constexpr ExtensionRangeOptions_VerificationState ExtensionRangeOptions::VerificationState_MIN;
constexpr ExtensionRangeOptions_VerificationState ExtensionRangeOptions::VerificationState_MAX;
constexpr int ExtensionRangeOptions::VerificationState_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t FieldDescriptorProto_Type_internal_data_[] = {
    1179649u, 0u, };
bool FieldDescriptorProto_Type_IsValid(int value) {
  return 1 <= value && value <= 18;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_DOUBLE;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FLOAT;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT64;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT64;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT32;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED64;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED32;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BOOL;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_STRING;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_GROUP;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_MESSAGE;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BYTES;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT32;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_ENUM;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED32;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED64;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT32;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT64;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::Type_MIN;
constexpr FieldDescriptorProto_Type FieldDescriptorProto::Type_MAX;
constexpr int FieldDescriptorProto::Type_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[2];
}
PROTOBUF_CONSTINIT const uint32_t FieldDescriptorProto_Label_internal_data_[] = {
    196609u, 0u, };
bool FieldDescriptorProto_Label_IsValid(int value) {
  return 1 <= value && value <= 3;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FieldDescriptorProto_Label FieldDescriptorProto::LABEL_OPTIONAL;
constexpr FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REPEATED;
constexpr FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REQUIRED;
constexpr FieldDescriptorProto_Label FieldDescriptorProto::Label_MIN;
constexpr FieldDescriptorProto_Label FieldDescriptorProto::Label_MAX;
constexpr int FieldDescriptorProto::Label_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[3];
}
PROTOBUF_CONSTINIT const uint32_t FileOptions_OptimizeMode_internal_data_[] = {
    196609u, 0u, };
bool FileOptions_OptimizeMode_IsValid(int value) {
  return 1 <= value && value <= 3;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FileOptions_OptimizeMode FileOptions::SPEED;
constexpr FileOptions_OptimizeMode FileOptions::CODE_SIZE;
constexpr FileOptions_OptimizeMode FileOptions::LITE_RUNTIME;
constexpr FileOptions_OptimizeMode FileOptions::OptimizeMode_MIN;
constexpr FileOptions_OptimizeMode FileOptions::OptimizeMode_MAX;
constexpr int FileOptions::OptimizeMode_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[4];
}
PROTOBUF_CONSTINIT const uint32_t FieldOptions_CType_internal_data_[] = {
    196608u, 0u, };
bool FieldOptions_CType_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FieldOptions_CType FieldOptions::STRING;
constexpr FieldOptions_CType FieldOptions::CORD;
constexpr FieldOptions_CType FieldOptions::STRING_PIECE;
constexpr FieldOptions_CType FieldOptions::CType_MIN;
constexpr FieldOptions_CType FieldOptions::CType_MAX;
constexpr int FieldOptions::CType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FieldOptions_JSType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[5];
}
PROTOBUF_CONSTINIT const uint32_t FieldOptions_JSType_internal_data_[] = {
    196608u, 0u, };
bool FieldOptions_JSType_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FieldOptions_JSType FieldOptions::JS_NORMAL;
constexpr FieldOptions_JSType FieldOptions::JS_STRING;
constexpr FieldOptions_JSType FieldOptions::JS_NUMBER;
constexpr FieldOptions_JSType FieldOptions::JSType_MIN;
constexpr FieldOptions_JSType FieldOptions::JSType_MAX;
constexpr int FieldOptions::JSType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FieldOptions_OptionRetention_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[6];
}
PROTOBUF_CONSTINIT const uint32_t FieldOptions_OptionRetention_internal_data_[] = {
    196608u, 0u, };
bool FieldOptions_OptionRetention_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FieldOptions_OptionRetention FieldOptions::RETENTION_UNKNOWN;
constexpr FieldOptions_OptionRetention FieldOptions::RETENTION_RUNTIME;
constexpr FieldOptions_OptionRetention FieldOptions::RETENTION_SOURCE;
constexpr FieldOptions_OptionRetention FieldOptions::OptionRetention_MIN;
constexpr FieldOptions_OptionRetention FieldOptions::OptionRetention_MAX;
constexpr int FieldOptions::OptionRetention_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FieldOptions_OptionTargetType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[7];
}
PROTOBUF_CONSTINIT const uint32_t FieldOptions_OptionTargetType_internal_data_[] = {
    655360u, 0u, };
bool FieldOptions_OptionTargetType_IsValid(int value) {
  return 0 <= value && value <= 9;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_UNKNOWN;
constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_FILE;
constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_EXTENSION_RANGE;
constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_MESSAGE;
constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_FIELD;
constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_ONEOF;
constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_ENUM;
constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_ENUM_ENTRY;
constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_SERVICE;
constexpr FieldOptions_OptionTargetType FieldOptions::TARGET_TYPE_METHOD;
constexpr FieldOptions_OptionTargetType FieldOptions::OptionTargetType_MIN;
constexpr FieldOptions_OptionTargetType FieldOptions::OptionTargetType_MAX;
constexpr int FieldOptions::OptionTargetType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* MethodOptions_IdempotencyLevel_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[8];
}
PROTOBUF_CONSTINIT const uint32_t MethodOptions_IdempotencyLevel_internal_data_[] = {
    196608u, 0u, };
bool MethodOptions_IdempotencyLevel_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr MethodOptions_IdempotencyLevel MethodOptions::IDEMPOTENCY_UNKNOWN;
constexpr MethodOptions_IdempotencyLevel MethodOptions::NO_SIDE_EFFECTS;
constexpr MethodOptions_IdempotencyLevel MethodOptions::IDEMPOTENT;
constexpr MethodOptions_IdempotencyLevel MethodOptions::IdempotencyLevel_MIN;
constexpr MethodOptions_IdempotencyLevel MethodOptions::IdempotencyLevel_MAX;
constexpr int MethodOptions::IdempotencyLevel_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FeatureSet_FieldPresence_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[9];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_FieldPresence_internal_data_[] = {
    262144u, 0u, };
bool FeatureSet_FieldPresence_IsValid(int value) {
  return 0 <= value && value <= 3;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FeatureSet_FieldPresence FeatureSet::FIELD_PRESENCE_UNKNOWN;
constexpr FeatureSet_FieldPresence FeatureSet::EXPLICIT;
constexpr FeatureSet_FieldPresence FeatureSet::IMPLICIT;
constexpr FeatureSet_FieldPresence FeatureSet::LEGACY_REQUIRED;
constexpr FeatureSet_FieldPresence FeatureSet::FieldPresence_MIN;
constexpr FeatureSet_FieldPresence FeatureSet::FieldPresence_MAX;
constexpr int FeatureSet::FieldPresence_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FeatureSet_EnumType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[10];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_EnumType_internal_data_[] = {
    196608u, 0u, };
bool FeatureSet_EnumType_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FeatureSet_EnumType FeatureSet::ENUM_TYPE_UNKNOWN;
constexpr FeatureSet_EnumType FeatureSet::OPEN;
constexpr FeatureSet_EnumType FeatureSet::CLOSED;
constexpr FeatureSet_EnumType FeatureSet::EnumType_MIN;
constexpr FeatureSet_EnumType FeatureSet::EnumType_MAX;
constexpr int FeatureSet::EnumType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FeatureSet_RepeatedFieldEncoding_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[11];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_RepeatedFieldEncoding_internal_data_[] = {
    196608u, 0u, };
bool FeatureSet_RepeatedFieldEncoding_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FeatureSet_RepeatedFieldEncoding FeatureSet::REPEATED_FIELD_ENCODING_UNKNOWN;
constexpr FeatureSet_RepeatedFieldEncoding FeatureSet::PACKED;
constexpr FeatureSet_RepeatedFieldEncoding FeatureSet::EXPANDED;
constexpr FeatureSet_RepeatedFieldEncoding FeatureSet::RepeatedFieldEncoding_MIN;
constexpr FeatureSet_RepeatedFieldEncoding FeatureSet::RepeatedFieldEncoding_MAX;
constexpr int FeatureSet::RepeatedFieldEncoding_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FeatureSet_Utf8Validation_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[12];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_Utf8Validation_internal_data_[] = {
    65536u, 32u, 6u, };
bool FeatureSet_Utf8Validation_IsValid(int value) {
  return 0 <= value && value <= 3 && ((13u >> value) & 1) != 0;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FeatureSet_Utf8Validation FeatureSet::UTF8_VALIDATION_UNKNOWN;
constexpr FeatureSet_Utf8Validation FeatureSet::VERIFY;
constexpr FeatureSet_Utf8Validation FeatureSet::NONE;
constexpr FeatureSet_Utf8Validation FeatureSet::Utf8Validation_MIN;
constexpr FeatureSet_Utf8Validation FeatureSet::Utf8Validation_MAX;
constexpr int FeatureSet::Utf8Validation_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FeatureSet_MessageEncoding_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[13];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_MessageEncoding_internal_data_[] = {
    196608u, 0u, };
bool FeatureSet_MessageEncoding_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FeatureSet_MessageEncoding FeatureSet::MESSAGE_ENCODING_UNKNOWN;
constexpr FeatureSet_MessageEncoding FeatureSet::LENGTH_PREFIXED;
constexpr FeatureSet_MessageEncoding FeatureSet::DELIMITED;
constexpr FeatureSet_MessageEncoding FeatureSet::MessageEncoding_MIN;
constexpr FeatureSet_MessageEncoding FeatureSet::MessageEncoding_MAX;
constexpr int FeatureSet::MessageEncoding_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* FeatureSet_JsonFormat_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[14];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_JsonFormat_internal_data_[] = {
    196608u, 0u, };
bool FeatureSet_JsonFormat_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr FeatureSet_JsonFormat FeatureSet::JSON_FORMAT_UNKNOWN;
constexpr FeatureSet_JsonFormat FeatureSet::ALLOW;
constexpr FeatureSet_JsonFormat FeatureSet::LEGACY_BEST_EFFORT;
constexpr FeatureSet_JsonFormat FeatureSet::JsonFormat_MIN;
constexpr FeatureSet_JsonFormat FeatureSet::JsonFormat_MAX;
constexpr int FeatureSet::JsonFormat_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* GeneratedCodeInfo_Annotation_Semantic_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[15];
}
PROTOBUF_CONSTINIT const uint32_t GeneratedCodeInfo_Annotation_Semantic_internal_data_[] = {
    196608u, 0u, };
bool GeneratedCodeInfo_Annotation_Semantic_IsValid(int value) {
  return 0 <= value && value <= 2;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::NONE;
constexpr GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::SET;
constexpr GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::ALIAS;
constexpr GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::Semantic_MIN;
constexpr GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::Semantic_MAX;
constexpr int GeneratedCodeInfo_Annotation::Semantic_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::google::protobuf::EnumDescriptor* Edition_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[16];
}
PROTOBUF_CONSTINIT const uint32_t Edition_internal_data_[] = {
    196608u, 589824u, 99997u, 1000u, 99999u, 998u, 1001u, 99998u, 2147483647u, 900u, 999u, };
bool Edition_IsValid(int value) {
  return ::_pbi::ValidateEnum(value, Edition_internal_data_);
}
// ===================================================================

class FileDescriptorSet::_Internal {
 public:
};

FileDescriptorSet::FileDescriptorSet(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FileDescriptorSet)
}
inline PROTOBUF_NDEBUG_INLINE FileDescriptorSet::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FileDescriptorSet& from_msg)
      : _extensions_{visibility, arena},
        file_{visibility, arena, from.file_},
        _cached_size_{0} {}

FileDescriptorSet::FileDescriptorSet(
    ::google::protobuf::Arena* arena,
    const FileDescriptorSet& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FileDescriptorSet* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorSet)
}
inline PROTOBUF_NDEBUG_INLINE FileDescriptorSet::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        file_{visibility, arena},
        _cached_size_{0} {}

inline void FileDescriptorSet::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
FileDescriptorSet::~FileDescriptorSet() {
  // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorSet)
  SharedDtor(*this);
}
inline void FileDescriptorSet::SharedDtor(MessageLite& self) {
  FileDescriptorSet& this_ = static_cast<FileDescriptorSet&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

inline void* FileDescriptorSet::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FileDescriptorSet(arena);
}
constexpr auto FileDescriptorSet::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_._extensions_) +
          decltype(FileDescriptorSet::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_.file_) +
          decltype(FileDescriptorSet::_impl_.file_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(FileDescriptorSet), alignof(FileDescriptorSet), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&FileDescriptorSet::PlacementNew_,
                                 sizeof(FileDescriptorSet),
                                 alignof(FileDescriptorSet));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FileDescriptorSet::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FileDescriptorSet_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        FileDescriptorSet::IsInitializedImpl,
        &FileDescriptorSet::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FileDescriptorSet>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FileDescriptorSet::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FileDescriptorSet>(), &FileDescriptorSet::ByteSizeLong,
            &FileDescriptorSet::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_._cached_size_),
        false,
    },
    &FileDescriptorSet::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FileDescriptorSet::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<0, 1, 1, 0, 2> FileDescriptorSet::_table_ = {
  {
    0,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_._extensions_),
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FileDescriptorSet>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated .google.protobuf.FileDescriptorProto file = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_.file_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .google.protobuf.FileDescriptorProto file = 1;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_.file_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FileDescriptorProto>()},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void FileDescriptorSet::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FileDescriptorSet)
  ::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_._extensions_.Clear();
  _impl_.file_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          // repeated .google.protobuf.FileDescriptorProto file = 1;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_file_size());
               i < n; i++) {
            const auto& repfield = this_._internal_file().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    1, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [536000000, 536000001)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 536000000, 536000001, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorSet)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FileDescriptorSet::ByteSizeLong(const MessageLite& base) {
          const FileDescriptorSet& this_ = static_cast<const FileDescriptorSet&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FileDescriptorSet::ByteSizeLong() const {
          const FileDescriptorSet& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FileDescriptorSet)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.FileDescriptorProto file = 1;
            {
              total_size += 1UL * this_._internal_file_size();
              for (const auto& msg : this_._internal_file()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FileDescriptorSet::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FileDescriptorSet*>(&to_msg);
  auto& from = static_cast<const FileDescriptorSet&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FileDescriptorSet)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_file()->MergeFrom(
      from._internal_file());
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FileDescriptorSet::CopyFrom(const FileDescriptorSet& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FileDescriptorSet)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FileDescriptorSet::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FileDescriptorSet&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_file()))
    return false;
  return true;
}

void FileDescriptorSet::InternalSwap(FileDescriptorSet* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.file_.InternalSwap(&other->_impl_.file_);
}

::google::protobuf::Metadata FileDescriptorSet::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class FileDescriptorProto::_Internal {
 public:
  using HasBits =
      decltype(std::declval<FileDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_._has_bits_);
};

FileDescriptorProto::FileDescriptorProto(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FileDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE FileDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FileDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        dependency_{visibility, arena, from.dependency_},
        message_type_{visibility, arena, from.message_type_},
        enum_type_{visibility, arena, from.enum_type_},
        service_{visibility, arena, from.service_},
        extension_{visibility, arena, from.extension_},
        public_dependency_{visibility, arena, from.public_dependency_},
        weak_dependency_{visibility, arena, from.weak_dependency_},
        name_(arena, from.name_),
        package_(arena, from.package_),
        syntax_(arena, from.syntax_) {}

FileDescriptorProto::FileDescriptorProto(
    ::google::protobuf::Arena* arena,
    const FileDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FileDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (cached_has_bits & 0x00000008u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FileOptions>(
                              arena, *from._impl_.options_)
                        : nullptr;
  _impl_.source_code_info_ = (cached_has_bits & 0x00000010u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::SourceCodeInfo>(
                              arena, *from._impl_.source_code_info_)
                        : nullptr;
  _impl_.edition_ = from._impl_.edition_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE FileDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        dependency_{visibility, arena},
        message_type_{visibility, arena},
        enum_type_{visibility, arena},
        service_{visibility, arena},
        extension_{visibility, arena},
        public_dependency_{visibility, arena},
        weak_dependency_{visibility, arena},
        name_(arena),
        package_(arena),
        syntax_(arena) {}

inline void FileDescriptorProto::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, edition_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::edition_));
}
FileDescriptorProto::~FileDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorProto)
  SharedDtor(*this);
}
inline void FileDescriptorProto::SharedDtor(MessageLite& self) {
  FileDescriptorProto& this_ = static_cast<FileDescriptorProto&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.package_.Destroy();
  this_._impl_.syntax_.Destroy();
  delete this_._impl_.options_;
  delete this_._impl_.source_code_info_;
  this_._impl_.~Impl_();
}

inline void* FileDescriptorProto::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FileDescriptorProto(arena);
}
constexpr auto FileDescriptorProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.dependency_) +
          decltype(FileDescriptorProto::_impl_.dependency_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.public_dependency_) +
          decltype(FileDescriptorProto::_impl_.public_dependency_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.weak_dependency_) +
          decltype(FileDescriptorProto::_impl_.weak_dependency_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.message_type_) +
          decltype(FileDescriptorProto::_impl_.message_type_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.enum_type_) +
          decltype(FileDescriptorProto::_impl_.enum_type_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.service_) +
          decltype(FileDescriptorProto::_impl_.service_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.extension_) +
          decltype(FileDescriptorProto::_impl_.extension_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(FileDescriptorProto), alignof(FileDescriptorProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&FileDescriptorProto::PlacementNew_,
                                 sizeof(FileDescriptorProto),
                                 alignof(FileDescriptorProto));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FileDescriptorProto::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FileDescriptorProto_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        FileDescriptorProto::IsInitializedImpl,
        &FileDescriptorProto::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FileDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FileDescriptorProto::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FileDescriptorProto>(), &FileDescriptorProto::ByteSizeLong,
            &FileDescriptorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_._cached_size_),
        false,
    },
    &FileDescriptorProto::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FileDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<4, 13, 7, 79, 2> FileDescriptorProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_._has_bits_),
    0, // no _extensions_
    14, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294955008,  // skipmap
    offsetof(decltype(_table_), field_entries),
    13,  // num_field_entries
    7,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FileDescriptorProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.name_)}},
    // optional string package = 2;
    {::_pbi::TcParser::FastSS1,
     {18, 1, 0, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.package_)}},
    // repeated string dependency = 3;
    {::_pbi::TcParser::FastSR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.dependency_)}},
    // repeated .google.protobuf.DescriptorProto message_type = 4;
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.message_type_)}},
    // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.enum_type_)}},
    // repeated .google.protobuf.ServiceDescriptorProto service = 6;
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 2, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.service_)}},
    // repeated .google.protobuf.FieldDescriptorProto extension = 7;
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 3, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.extension_)}},
    // optional .google.protobuf.FileOptions options = 8;
    {::_pbi::TcParser::FastMtS1,
     {66, 3, 4, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.options_)}},
    // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
    {::_pbi::TcParser::FastMtS1,
     {74, 4, 5, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.source_code_info_)}},
    // repeated int32 public_dependency = 10;
    {::_pbi::TcParser::FastV32R1,
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.public_dependency_)}},
    // repeated int32 weak_dependency = 11;
    {::_pbi::TcParser::FastV32R1,
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.weak_dependency_)}},
    // optional string syntax = 12;
    {::_pbi::TcParser::FastSS1,
     {98, 2, 0, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.syntax_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional .google.protobuf.Edition edition = 14;
    {::_pbi::TcParser::FastEvS1,
     {112, 5, 6, PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.edition_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string package = 2;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.package_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // repeated string dependency = 3;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.dependency_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kRawString | ::_fl::kRepSString)},
    // repeated .google.protobuf.DescriptorProto message_type = 4;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.message_type_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.enum_type_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.ServiceDescriptorProto service = 6;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.service_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.FieldDescriptorProto extension = 7;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.extension_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.FileOptions options = 8;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 3, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.source_code_info_), _Internal::kHasBitsOffset + 4, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated int32 public_dependency = 10;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.public_dependency_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
    // repeated int32 weak_dependency = 11;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.weak_dependency_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
    // optional string syntax = 12;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.syntax_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .google.protobuf.Edition edition = 14;
    {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.edition_), _Internal::kHasBitsOffset + 5, 6,
    (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::DescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::EnumDescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::ServiceDescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::FieldDescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::FileOptions>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::SourceCodeInfo>()},
    {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
  }}, {{
    "\43\4\7\12\0\0\0\0\0\0\0\0\6\0\0\0"
    "google.protobuf.FileDescriptorProto"
    "name"
    "package"
    "dependency"
    "syntax"
  }},
};

PROTOBUF_NOINLINE void FileDescriptorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FileDescriptorProto)
  ::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_.dependency_.Clear();
  _impl_.message_type_.Clear();
  _impl_.enum_type_.Clear();
  _impl_.service_.Clear();
  _impl_.extension_.Clear();
  _impl_.public_dependency_.Clear();
  _impl_.weak_dependency_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.package_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      _impl_.syntax_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.options_ != nullptr);
      _impl_.options_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.source_code_info_ != nullptr);
      _impl_.source_code_info_->Clear();
    }
  }
  _impl_.edition_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string name = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileDescriptorProto.name");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // optional string package = 2;
          if (cached_has_bits & 0x00000002u) {
            const std::string& _s = this_._internal_package();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileDescriptorProto.package");
            target = stream->WriteStringMaybeAliased(2, _s, target);
          }

          // repeated string dependency = 3;
          for (int i = 0, n = this_._internal_dependency_size(); i < n; ++i) {
            const auto& s = this_._internal_dependency().Get(i);
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileDescriptorProto.dependency");
            target = stream->WriteString(3, s, target);
          }

          // repeated .google.protobuf.DescriptorProto message_type = 4;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_message_type_size());
               i < n; i++) {
            const auto& repfield = this_._internal_message_type().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    4, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_enum_type_size());
               i < n; i++) {
            const auto& repfield = this_._internal_enum_type().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    5, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated .google.protobuf.ServiceDescriptorProto service = 6;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_service_size());
               i < n; i++) {
            const auto& repfield = this_._internal_service().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    6, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated .google.protobuf.FieldDescriptorProto extension = 7;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_extension_size());
               i < n; i++) {
            const auto& repfield = this_._internal_extension().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    7, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // optional .google.protobuf.FileOptions options = 8;
          if (cached_has_bits & 0x00000008u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                8, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
                stream);
          }

          // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
          if (cached_has_bits & 0x00000010u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                9, *this_._impl_.source_code_info_, this_._impl_.source_code_info_->GetCachedSize(), target,
                stream);
          }

          // repeated int32 public_dependency = 10;
          for (int i = 0, n = this_._internal_public_dependency_size(); i < n; ++i) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteInt32ToArray(
                10, this_._internal_public_dependency().Get(i), target);
          }

          // repeated int32 weak_dependency = 11;
          for (int i = 0, n = this_._internal_weak_dependency_size(); i < n; ++i) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteInt32ToArray(
                11, this_._internal_weak_dependency().Get(i), target);
          }

          // optional string syntax = 12;
          if (cached_has_bits & 0x00000004u) {
            const std::string& _s = this_._internal_syntax();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileDescriptorProto.syntax");
            target = stream->WriteStringMaybeAliased(12, _s, target);
          }

          // optional .google.protobuf.Edition edition = 14;
          if (cached_has_bits & 0x00000020u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                14, this_._internal_edition(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorProto)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FileDescriptorProto::ByteSizeLong(const MessageLite& base) {
          const FileDescriptorProto& this_ = static_cast<const FileDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FileDescriptorProto::ByteSizeLong() const {
          const FileDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FileDescriptorProto)
          ::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 dependency = 3;
            {
              total_size +=
                  1 * ::google::protobuf::internal::FromIntSize(this_._internal_dependency().size());
              for (int i = 0, n = this_._internal_dependency().size(); i < n; ++i) {
                total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
                    this_._internal_dependency().Get(i));
              }
            }
            // repeated .google.protobuf.DescriptorProto message_type = 4;
            {
              total_size += 1UL * this_._internal_message_type_size();
              for (const auto& msg : this_._internal_message_type()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
            {
              total_size += 1UL * this_._internal_enum_type_size();
              for (const auto& msg : this_._internal_enum_type()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.ServiceDescriptorProto service = 6;
            {
              total_size += 1UL * this_._internal_service_size();
              for (const auto& msg : this_._internal_service()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.FieldDescriptorProto extension = 7;
            {
              total_size += 1UL * this_._internal_extension_size();
              for (const auto& msg : this_._internal_extension()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated int32 public_dependency = 10;
            {
              std::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
                  this_._internal_public_dependency());
              std::size_t tag_size = std::size_t{1} *
                  ::_pbi::FromIntSize(this_._internal_public_dependency_size());
              total_size += tag_size + data_size;
            }
            // repeated int32 weak_dependency = 11;
            {
              std::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
                  this_._internal_weak_dependency());
              std::size_t tag_size = std::size_t{1} *
                  ::_pbi::FromIntSize(this_._internal_weak_dependency_size());
              total_size += tag_size + data_size;
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x0000003fu) {
            // optional string name = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_name());
            }
            // optional string package = 2;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_package());
            }
            // optional string syntax = 12;
            if (cached_has_bits & 0x00000004u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_syntax());
            }
            // optional .google.protobuf.FileOptions options = 8;
            if (cached_has_bits & 0x00000008u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
            }
            // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
            if (cached_has_bits & 0x00000010u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.source_code_info_);
            }
            // optional .google.protobuf.Edition edition = 14;
            if (cached_has_bits & 0x00000020u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_edition());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FileDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FileDescriptorProto*>(&to_msg);
  auto& from = static_cast<const FileDescriptorProto&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FileDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_dependency()->MergeFrom(from._internal_dependency());
  _this->_internal_mutable_message_type()->MergeFrom(
      from._internal_message_type());
  _this->_internal_mutable_enum_type()->MergeFrom(
      from._internal_enum_type());
  _this->_internal_mutable_service()->MergeFrom(
      from._internal_service());
  _this->_internal_mutable_extension()->MergeFrom(
      from._internal_extension());
  _this->_internal_mutable_public_dependency()->MergeFrom(from._internal_public_dependency());
  _this->_internal_mutable_weak_dependency()->MergeFrom(from._internal_weak_dependency());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_package(from._internal_package());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_set_syntax(from._internal_syntax());
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FileOptions>(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(from._impl_.source_code_info_ != nullptr);
      if (_this->_impl_.source_code_info_ == nullptr) {
        _this->_impl_.source_code_info_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::SourceCodeInfo>(arena, *from._impl_.source_code_info_);
      } else {
        _this->_impl_.source_code_info_->MergeFrom(*from._impl_.source_code_info_);
      }
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.edition_ = from._impl_.edition_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FileDescriptorProto::CopyFrom(const FileDescriptorProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FileDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FileDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FileDescriptorProto&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_message_type()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_enum_type()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_service()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_extension()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000008u) != 0) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  if ((this_._impl_._has_bits_[0] & 0x00000010u) != 0) {
    if (!this_._impl_.source_code_info_->IsInitialized()) return false;
  }
  return true;
}

void FileDescriptorProto::InternalSwap(FileDescriptorProto* PROTOBUF_RESTRICT 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_.dependency_.InternalSwap(&other->_impl_.dependency_);
  _impl_.message_type_.InternalSwap(&other->_impl_.message_type_);
  _impl_.enum_type_.InternalSwap(&other->_impl_.enum_type_);
  _impl_.service_.InternalSwap(&other->_impl_.service_);
  _impl_.extension_.InternalSwap(&other->_impl_.extension_);
  _impl_.public_dependency_.InternalSwap(&other->_impl_.public_dependency_);
  _impl_.weak_dependency_.InternalSwap(&other->_impl_.weak_dependency_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.package_, &other->_impl_.package_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.syntax_, &other->_impl_.syntax_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.edition_)
      + sizeof(FileDescriptorProto::_impl_.edition_)
      - PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.options_)>(
          reinterpret_cast<char*>(&_impl_.options_),
          reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata FileDescriptorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class DescriptorProto_ExtensionRange::_Internal {
 public:
  using HasBits =
      decltype(std::declval<DescriptorProto_ExtensionRange>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_._has_bits_);
};

DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.DescriptorProto.ExtensionRange)
}
inline PROTOBUF_NDEBUG_INLINE DescriptorProto_ExtensionRange::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::DescriptorProto_ExtensionRange& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(
    ::google::protobuf::Arena* arena,
    const DescriptorProto_ExtensionRange& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DescriptorProto_ExtensionRange* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::ExtensionRangeOptions>(
                              arena, *from._impl_.options_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, start_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, start_),
           offsetof(Impl_, end_) -
               offsetof(Impl_, start_) +
               sizeof(Impl_::end_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto.ExtensionRange)
}
inline PROTOBUF_NDEBUG_INLINE DescriptorProto_ExtensionRange::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void DescriptorProto_ExtensionRange::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, end_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::end_));
}
DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() {
  // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto.ExtensionRange)
  SharedDtor(*this);
}
inline void DescriptorProto_ExtensionRange::SharedDtor(MessageLite& self) {
  DescriptorProto_ExtensionRange& this_ = static_cast<DescriptorProto_ExtensionRange&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

inline void* DescriptorProto_ExtensionRange::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) DescriptorProto_ExtensionRange(arena);
}
constexpr auto DescriptorProto_ExtensionRange::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DescriptorProto_ExtensionRange),
                                            alignof(DescriptorProto_ExtensionRange));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull DescriptorProto_ExtensionRange::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_DescriptorProto_ExtensionRange_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        DescriptorProto_ExtensionRange::IsInitializedImpl,
        &DescriptorProto_ExtensionRange::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<DescriptorProto_ExtensionRange>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &DescriptorProto_ExtensionRange::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<DescriptorProto_ExtensionRange>(), &DescriptorProto_ExtensionRange::ByteSizeLong,
            &DescriptorProto_ExtensionRange::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_._cached_size_),
        false,
    },
    &DescriptorProto_ExtensionRange::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* DescriptorProto_ExtensionRange::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<2, 3, 1, 0, 2> DescriptorProto_ExtensionRange::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::DescriptorProto_ExtensionRange>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional int32 start = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DescriptorProto_ExtensionRange, _impl_.start_), 1>(),
     {8, 1, 0, PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.start_)}},
    // optional int32 end = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DescriptorProto_ExtensionRange, _impl_.end_), 2>(),
     {16, 2, 0, PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.end_)}},
    // optional .google.protobuf.ExtensionRangeOptions options = 3;
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional int32 start = 1;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.start_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional int32 end = 2;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.end_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional .google.protobuf.ExtensionRangeOptions options = 3;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.options_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::ExtensionRangeOptions>()},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void DescriptorProto_ExtensionRange::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.DescriptorProto.ExtensionRange)
  ::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 (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.options_ != nullptr);
    _impl_.options_->Clear();
  }
  if (cached_has_bits & 0x00000006u) {
    ::memset(&_impl_.start_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.end_) -
        reinterpret_cast<char*>(&_impl_.start_)) + sizeof(_impl_.end_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* DescriptorProto_ExtensionRange::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const DescriptorProto_ExtensionRange& this_ = static_cast<const DescriptorProto_ExtensionRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* DescriptorProto_ExtensionRange::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const DescriptorProto_ExtensionRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto.ExtensionRange)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional int32 start = 1;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<1>(
                    stream, this_._internal_start(), target);
          }

          // optional int32 end = 2;
          if (cached_has_bits & 0x00000004u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<2>(
                    stream, this_._internal_end(), target);
          }

          // optional .google.protobuf.ExtensionRangeOptions options = 3;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                3, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
                stream);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto.ExtensionRange)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t DescriptorProto_ExtensionRange::ByteSizeLong(const MessageLite& base) {
          const DescriptorProto_ExtensionRange& this_ = static_cast<const DescriptorProto_ExtensionRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t DescriptorProto_ExtensionRange::ByteSizeLong() const {
          const DescriptorProto_ExtensionRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.DescriptorProto.ExtensionRange)
          ::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 (cached_has_bits & 0x00000007u) {
            // optional .google.protobuf.ExtensionRangeOptions options = 3;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
            }
            // optional int32 start = 1;
            if (cached_has_bits & 0x00000002u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_start());
            }
            // optional int32 end = 2;
            if (cached_has_bits & 0x00000004u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_end());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void DescriptorProto_ExtensionRange::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<DescriptorProto_ExtensionRange*>(&to_msg);
  auto& from = static_cast<const DescriptorProto_ExtensionRange&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.DescriptorProto.ExtensionRange)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::ExtensionRangeOptions>(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.start_ = from._impl_.start_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.end_ = from._impl_.end_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void DescriptorProto_ExtensionRange::CopyFrom(const DescriptorProto_ExtensionRange& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.DescriptorProto.ExtensionRange)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool DescriptorProto_ExtensionRange::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const DescriptorProto_ExtensionRange&>(msg);
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void DescriptorProto_ExtensionRange::InternalSwap(DescriptorProto_ExtensionRange* PROTOBUF_RESTRICT 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(DescriptorProto_ExtensionRange, _impl_.end_)
      + sizeof(DescriptorProto_ExtensionRange::_impl_.end_)
      - PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.options_)>(
          reinterpret_cast<char*>(&_impl_.options_),
          reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata DescriptorProto_ExtensionRange::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class DescriptorProto_ReservedRange::_Internal {
 public:
  using HasBits =
      decltype(std::declval<DescriptorProto_ReservedRange>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_._has_bits_);
};

DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.DescriptorProto.ReservedRange)
}
DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(
    ::google::protobuf::Arena* arena, const DescriptorProto_ReservedRange& from)
    : DescriptorProto_ReservedRange(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE DescriptorProto_ReservedRange::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void DescriptorProto_ReservedRange::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, start_),
           0,
           offsetof(Impl_, end_) -
               offsetof(Impl_, start_) +
               sizeof(Impl_::end_));
}
DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() {
  // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto.ReservedRange)
  SharedDtor(*this);
}
inline void DescriptorProto_ReservedRange::SharedDtor(MessageLite& self) {
  DescriptorProto_ReservedRange& this_ = static_cast<DescriptorProto_ReservedRange&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

inline void* DescriptorProto_ReservedRange::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) DescriptorProto_ReservedRange(arena);
}
constexpr auto DescriptorProto_ReservedRange::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DescriptorProto_ReservedRange),
                                            alignof(DescriptorProto_ReservedRange));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull DescriptorProto_ReservedRange::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_DescriptorProto_ReservedRange_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        nullptr,  // IsInitialized
        &DescriptorProto_ReservedRange::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<DescriptorProto_ReservedRange>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &DescriptorProto_ReservedRange::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<DescriptorProto_ReservedRange>(), &DescriptorProto_ReservedRange::ByteSizeLong,
            &DescriptorProto_ReservedRange::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_._cached_size_),
        false,
    },
    &DescriptorProto_ReservedRange::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* DescriptorProto_ReservedRange::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<1, 2, 0, 0, 2> DescriptorProto_ReservedRange::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::DescriptorProto_ReservedRange>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional int32 end = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DescriptorProto_ReservedRange, _impl_.end_), 1>(),
     {16, 1, 0, PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.end_)}},
    // optional int32 start = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DescriptorProto_ReservedRange, _impl_.start_), 0>(),
     {8, 0, 0, PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.start_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional int32 start = 1;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.start_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional int32 end = 2;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.end_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
  }},
  // no aux_entries
  {{
  }},
};

PROTOBUF_NOINLINE void DescriptorProto_ReservedRange::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.DescriptorProto.ReservedRange)
  ::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 (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.start_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.end_) -
        reinterpret_cast<char*>(&_impl_.start_)) + sizeof(_impl_.end_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* DescriptorProto_ReservedRange::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const DescriptorProto_ReservedRange& this_ = static_cast<const DescriptorProto_ReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* DescriptorProto_ReservedRange::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const DescriptorProto_ReservedRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto.ReservedRange)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional int32 start = 1;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<1>(
                    stream, this_._internal_start(), target);
          }

          // optional int32 end = 2;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<2>(
                    stream, this_._internal_end(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto.ReservedRange)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t DescriptorProto_ReservedRange::ByteSizeLong(const MessageLite& base) {
          const DescriptorProto_ReservedRange& this_ = static_cast<const DescriptorProto_ReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t DescriptorProto_ReservedRange::ByteSizeLong() const {
          const DescriptorProto_ReservedRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.DescriptorProto.ReservedRange)
          ::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 (cached_has_bits & 0x00000003u) {
            // optional int32 start = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_start());
            }
            // optional int32 end = 2;
            if (cached_has_bits & 0x00000002u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_end());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void DescriptorProto_ReservedRange::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<DescriptorProto_ReservedRange*>(&to_msg);
  auto& from = static_cast<const DescriptorProto_ReservedRange&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.DescriptorProto.ReservedRange)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.start_ = from._impl_.start_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.end_ = from._impl_.end_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void DescriptorProto_ReservedRange::CopyFrom(const DescriptorProto_ReservedRange& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.DescriptorProto.ReservedRange)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void DescriptorProto_ReservedRange::InternalSwap(DescriptorProto_ReservedRange* PROTOBUF_RESTRICT 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(DescriptorProto_ReservedRange, _impl_.end_)
      + sizeof(DescriptorProto_ReservedRange::_impl_.end_)
      - PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.start_)>(
          reinterpret_cast<char*>(&_impl_.start_),
          reinterpret_cast<char*>(&other->_impl_.start_));
}

::google::protobuf::Metadata DescriptorProto_ReservedRange::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class DescriptorProto::_Internal {
 public:
  using HasBits =
      decltype(std::declval<DescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_._has_bits_);
};

DescriptorProto::DescriptorProto(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.DescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE DescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::DescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        field_{visibility, arena, from.field_},
        nested_type_{visibility, arena, from.nested_type_},
        enum_type_{visibility, arena, from.enum_type_},
        extension_range_{visibility, arena, from.extension_range_},
        extension_{visibility, arena, from.extension_},
        oneof_decl_{visibility, arena, from.oneof_decl_},
        reserved_range_{visibility, arena, from.reserved_range_},
        reserved_name_{visibility, arena, from.reserved_name_},
        name_(arena, from.name_) {}

DescriptorProto::DescriptorProto(
    ::google::protobuf::Arena* arena,
    const DescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::MessageOptions>(
                              arena, *from._impl_.options_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE DescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        field_{visibility, arena},
        nested_type_{visibility, arena},
        enum_type_{visibility, arena},
        extension_range_{visibility, arena},
        extension_{visibility, arena},
        oneof_decl_{visibility, arena},
        reserved_range_{visibility, arena},
        reserved_name_{visibility, arena},
        name_(arena) {}

inline void DescriptorProto::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.options_ = {};
}
DescriptorProto::~DescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto)
  SharedDtor(*this);
}
inline void DescriptorProto::SharedDtor(MessageLite& self) {
  DescriptorProto& this_ = static_cast<DescriptorProto&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

inline void* DescriptorProto::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) DescriptorProto(arena);
}
constexpr auto DescriptorProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.field_) +
          decltype(DescriptorProto::_impl_.field_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_) +
          decltype(DescriptorProto::_impl_.extension_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.nested_type_) +
          decltype(DescriptorProto::_impl_.nested_type_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.enum_type_) +
          decltype(DescriptorProto::_impl_.enum_type_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_range_) +
          decltype(DescriptorProto::_impl_.extension_range_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.oneof_decl_) +
          decltype(DescriptorProto::_impl_.oneof_decl_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_range_) +
          decltype(DescriptorProto::_impl_.reserved_range_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_name_) +
          decltype(DescriptorProto::_impl_.reserved_name_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(DescriptorProto), alignof(DescriptorProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&DescriptorProto::PlacementNew_,
                                 sizeof(DescriptorProto),
                                 alignof(DescriptorProto));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull DescriptorProto::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_DescriptorProto_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        DescriptorProto::IsInitializedImpl,
        &DescriptorProto::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<DescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &DescriptorProto::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<DescriptorProto>(), &DescriptorProto::ByteSizeLong,
            &DescriptorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_._cached_size_),
        false,
    },
    &DescriptorProto::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* DescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<4, 10, 8, 65, 2> DescriptorProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_._has_bits_),
    0, // no _extensions_
    10, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294966272,  // skipmap
    offsetof(decltype(_table_), field_entries),
    10,  // num_field_entries
    8,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::DescriptorProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.name_)}},
    // repeated .google.protobuf.FieldDescriptorProto field = 2;
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.field_)}},
    // repeated .google.protobuf.DescriptorProto nested_type = 3;
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.nested_type_)}},
    // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.enum_type_)}},
    // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 3, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_range_)}},
    // repeated .google.protobuf.FieldDescriptorProto extension = 6;
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 4, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_)}},
    // optional .google.protobuf.MessageOptions options = 7;
    {::_pbi::TcParser::FastMtS1,
     {58, 1, 5, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.options_)}},
    // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 6, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.oneof_decl_)}},
    // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
    {::_pbi::TcParser::FastMtR1,
     {74, 63, 7, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_range_)}},
    // repeated string reserved_name = 10;
    {::_pbi::TcParser::FastSR1,
     {82, 63, 0, PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_name_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // repeated .google.protobuf.FieldDescriptorProto field = 2;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.field_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.DescriptorProto nested_type = 3;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.nested_type_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.enum_type_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_range_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.FieldDescriptorProto extension = 6;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.MessageOptions options = 7;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 1, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.oneof_decl_), -1, 6,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_range_), -1, 7,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated string reserved_name = 10;
    {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_name_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kRawString | ::_fl::kRepSString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FieldDescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::DescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::EnumDescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::DescriptorProto_ExtensionRange>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::FieldDescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::MessageOptions>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::OneofDescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::DescriptorProto_ReservedRange>()},
  }}, {{
    "\37\4\0\0\0\0\0\0\0\0\15\0\0\0\0\0"
    "google.protobuf.DescriptorProto"
    "name"
    "reserved_name"
  }},
};

PROTOBUF_NOINLINE void DescriptorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.DescriptorProto)
  ::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_.field_.Clear();
  _impl_.nested_type_.Clear();
  _impl_.enum_type_.Clear();
  _impl_.extension_range_.Clear();
  _impl_.extension_.Clear();
  _impl_.oneof_decl_.Clear();
  _impl_.reserved_range_.Clear();
  _impl_.reserved_name_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.options_ != nullptr);
      _impl_.options_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string name = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.DescriptorProto.name");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // repeated .google.protobuf.FieldDescriptorProto field = 2;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_field_size());
               i < n; i++) {
            const auto& repfield = this_._internal_field().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    2, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated .google.protobuf.DescriptorProto nested_type = 3;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_nested_type_size());
               i < n; i++) {
            const auto& repfield = this_._internal_nested_type().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    3, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_enum_type_size());
               i < n; i++) {
            const auto& repfield = this_._internal_enum_type().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    4, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_extension_range_size());
               i < n; i++) {
            const auto& repfield = this_._internal_extension_range().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    5, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated .google.protobuf.FieldDescriptorProto extension = 6;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_extension_size());
               i < n; i++) {
            const auto& repfield = this_._internal_extension().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    6, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // optional .google.protobuf.MessageOptions options = 7;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                7, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_oneof_decl_size());
               i < n; i++) {
            const auto& repfield = this_._internal_oneof_decl().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    8, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_reserved_range_size());
               i < n; i++) {
            const auto& repfield = this_._internal_reserved_range().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    9, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated string reserved_name = 10;
          for (int i = 0, n = this_._internal_reserved_name_size(); i < n; ++i) {
            const auto& s = this_._internal_reserved_name().Get(i);
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.DescriptorProto.reserved_name");
            target = stream->WriteString(10, s, target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t DescriptorProto::ByteSizeLong(const MessageLite& base) {
          const DescriptorProto& this_ = static_cast<const DescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t DescriptorProto::ByteSizeLong() const {
          const DescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.DescriptorProto)
          ::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 .google.protobuf.FieldDescriptorProto field = 2;
            {
              total_size += 1UL * this_._internal_field_size();
              for (const auto& msg : this_._internal_field()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.DescriptorProto nested_type = 3;
            {
              total_size += 1UL * this_._internal_nested_type_size();
              for (const auto& msg : this_._internal_nested_type()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
            {
              total_size += 1UL * this_._internal_enum_type_size();
              for (const auto& msg : this_._internal_enum_type()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
            {
              total_size += 1UL * this_._internal_extension_range_size();
              for (const auto& msg : this_._internal_extension_range()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.FieldDescriptorProto extension = 6;
            {
              total_size += 1UL * this_._internal_extension_size();
              for (const auto& msg : this_._internal_extension()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
            {
              total_size += 1UL * this_._internal_oneof_decl_size();
              for (const auto& msg : this_._internal_oneof_decl()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
            {
              total_size += 1UL * this_._internal_reserved_range_size();
              for (const auto& msg : this_._internal_reserved_range()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated string reserved_name = 10;
            {
              total_size +=
                  1 * ::google::protobuf::internal::FromIntSize(this_._internal_reserved_name().size());
              for (int i = 0, n = this_._internal_reserved_name().size(); i < n; ++i) {
                total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
                    this_._internal_reserved_name().Get(i));
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x00000003u) {
            // optional string name = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_name());
            }
            // optional .google.protobuf.MessageOptions options = 7;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void DescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<DescriptorProto*>(&to_msg);
  auto& from = static_cast<const DescriptorProto&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.DescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_field()->MergeFrom(
      from._internal_field());
  _this->_internal_mutable_nested_type()->MergeFrom(
      from._internal_nested_type());
  _this->_internal_mutable_enum_type()->MergeFrom(
      from._internal_enum_type());
  _this->_internal_mutable_extension_range()->MergeFrom(
      from._internal_extension_range());
  _this->_internal_mutable_extension()->MergeFrom(
      from._internal_extension());
  _this->_internal_mutable_oneof_decl()->MergeFrom(
      from._internal_oneof_decl());
  _this->_internal_mutable_reserved_range()->MergeFrom(
      from._internal_reserved_range());
  _this->_internal_mutable_reserved_name()->MergeFrom(from._internal_reserved_name());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::MessageOptions>(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void DescriptorProto::CopyFrom(const DescriptorProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.DescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool DescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const DescriptorProto&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_field()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_nested_type()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_enum_type()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_extension_range()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_extension()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_oneof_decl()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void DescriptorProto::InternalSwap(DescriptorProto* PROTOBUF_RESTRICT 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_.field_.InternalSwap(&other->_impl_.field_);
  _impl_.nested_type_.InternalSwap(&other->_impl_.nested_type_);
  _impl_.enum_type_.InternalSwap(&other->_impl_.enum_type_);
  _impl_.extension_range_.InternalSwap(&other->_impl_.extension_range_);
  _impl_.extension_.InternalSwap(&other->_impl_.extension_);
  _impl_.oneof_decl_.InternalSwap(&other->_impl_.oneof_decl_);
  _impl_.reserved_range_.InternalSwap(&other->_impl_.reserved_range_);
  _impl_.reserved_name_.InternalSwap(&other->_impl_.reserved_name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  swap(_impl_.options_, other->_impl_.options_);
}

::google::protobuf::Metadata DescriptorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class ExtensionRangeOptions_Declaration::_Internal {
 public:
  using HasBits =
      decltype(std::declval<ExtensionRangeOptions_Declaration>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_._has_bits_);
};

ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.ExtensionRangeOptions.Declaration)
}
inline PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions_Declaration::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::ExtensionRangeOptions_Declaration& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        full_name_(arena, from.full_name_),
        type_(arena, from.type_) {}

ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration(
    ::google::protobuf::Arena* arena,
    const ExtensionRangeOptions_Declaration& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ExtensionRangeOptions_Declaration* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, number_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, number_),
           offsetof(Impl_, repeated_) -
               offsetof(Impl_, number_) +
               sizeof(Impl_::repeated_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.ExtensionRangeOptions.Declaration)
}
inline PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions_Declaration::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        full_name_(arena),
        type_(arena) {}

inline void ExtensionRangeOptions_Declaration::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, number_),
           0,
           offsetof(Impl_, repeated_) -
               offsetof(Impl_, number_) +
               sizeof(Impl_::repeated_));
}
ExtensionRangeOptions_Declaration::~ExtensionRangeOptions_Declaration() {
  // @@protoc_insertion_point(destructor:google.protobuf.ExtensionRangeOptions.Declaration)
  SharedDtor(*this);
}
inline void ExtensionRangeOptions_Declaration::SharedDtor(MessageLite& self) {
  ExtensionRangeOptions_Declaration& this_ = static_cast<ExtensionRangeOptions_Declaration&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.full_name_.Destroy();
  this_._impl_.type_.Destroy();
  this_._impl_.~Impl_();
}

inline void* ExtensionRangeOptions_Declaration::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) ExtensionRangeOptions_Declaration(arena);
}
constexpr auto ExtensionRangeOptions_Declaration::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ExtensionRangeOptions_Declaration),
                                            alignof(ExtensionRangeOptions_Declaration));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions_Declaration::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_ExtensionRangeOptions_Declaration_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        nullptr,  // IsInitialized
        &ExtensionRangeOptions_Declaration::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<ExtensionRangeOptions_Declaration>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &ExtensionRangeOptions_Declaration::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<ExtensionRangeOptions_Declaration>(), &ExtensionRangeOptions_Declaration::ByteSizeLong,
            &ExtensionRangeOptions_Declaration::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_._cached_size_),
        false,
    },
    &ExtensionRangeOptions_Declaration::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* ExtensionRangeOptions_Declaration::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 5, 0, 71, 2> ExtensionRangeOptions_Declaration::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967240,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::ExtensionRangeOptions_Declaration>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional int32 number = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ExtensionRangeOptions_Declaration, _impl_.number_), 2>(),
     {8, 2, 0, PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.number_)}},
    // optional string full_name = 2;
    {::_pbi::TcParser::FastSS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.full_name_)}},
    // optional string type = 3;
    {::_pbi::TcParser::FastSS1,
     {26, 1, 0, PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.type_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool reserved = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ExtensionRangeOptions_Declaration, _impl_.reserved_), 3>(),
     {40, 3, 0, PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.reserved_)}},
    // optional bool repeated = 6;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ExtensionRangeOptions_Declaration, _impl_.repeated_), 4>(),
     {48, 4, 0, PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.repeated_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional int32 number = 1;
    {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.number_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional string full_name = 2;
    {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.full_name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string type = 3;
    {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.type_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional bool reserved = 5;
    {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.reserved_), _Internal::kHasBitsOffset + 3, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool repeated = 6;
    {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.repeated_), _Internal::kHasBitsOffset + 4, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
    "\61\0\11\4\0\0\0\0"
    "google.protobuf.ExtensionRangeOptions.Declaration"
    "full_name"
    "type"
  }},
};

PROTOBUF_NOINLINE void ExtensionRangeOptions_Declaration::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.ExtensionRangeOptions.Declaration)
  ::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 (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.full_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.type_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x0000001cu) {
    ::memset(&_impl_.number_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.repeated_) -
        reinterpret_cast<char*>(&_impl_.number_)) + sizeof(_impl_.repeated_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* ExtensionRangeOptions_Declaration::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const ExtensionRangeOptions_Declaration& this_ = static_cast<const ExtensionRangeOptions_Declaration&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* ExtensionRangeOptions_Declaration::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const ExtensionRangeOptions_Declaration& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ExtensionRangeOptions.Declaration)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional int32 number = 1;
          if (cached_has_bits & 0x00000004u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<1>(
                    stream, this_._internal_number(), target);
          }

          // optional string full_name = 2;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_full_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.ExtensionRangeOptions.Declaration.full_name");
            target = stream->WriteStringMaybeAliased(2, _s, target);
          }

          // optional string type = 3;
          if (cached_has_bits & 0x00000002u) {
            const std::string& _s = this_._internal_type();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.ExtensionRangeOptions.Declaration.type");
            target = stream->WriteStringMaybeAliased(3, _s, target);
          }

          // optional bool reserved = 5;
          if (cached_has_bits & 0x00000008u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                5, this_._internal_reserved(), target);
          }

          // optional bool repeated = 6;
          if (cached_has_bits & 0x00000010u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                6, this_._internal_repeated(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ExtensionRangeOptions.Declaration)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t ExtensionRangeOptions_Declaration::ByteSizeLong(const MessageLite& base) {
          const ExtensionRangeOptions_Declaration& this_ = static_cast<const ExtensionRangeOptions_Declaration&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t ExtensionRangeOptions_Declaration::ByteSizeLong() const {
          const ExtensionRangeOptions_Declaration& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ExtensionRangeOptions.Declaration)
          ::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 (cached_has_bits & 0x0000001fu) {
            // optional string full_name = 2;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_full_name());
            }
            // optional string type = 3;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_type());
            }
            // optional int32 number = 1;
            if (cached_has_bits & 0x00000004u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_number());
            }
            // optional bool reserved = 5;
            if (cached_has_bits & 0x00000008u) {
              total_size += 2;
            }
            // optional bool repeated = 6;
            if (cached_has_bits & 0x00000010u) {
              total_size += 2;
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void ExtensionRangeOptions_Declaration::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ExtensionRangeOptions_Declaration*>(&to_msg);
  auto& from = static_cast<const ExtensionRangeOptions_Declaration&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ExtensionRangeOptions.Declaration)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_full_name(from._internal_full_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_type(from._internal_type());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.number_ = from._impl_.number_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.reserved_ = from._impl_.reserved_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.repeated_ = from._impl_.repeated_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ExtensionRangeOptions_Declaration::CopyFrom(const ExtensionRangeOptions_Declaration& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ExtensionRangeOptions.Declaration)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ExtensionRangeOptions_Declaration::InternalSwap(ExtensionRangeOptions_Declaration* PROTOBUF_RESTRICT 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_.full_name_, &other->_impl_.full_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.type_, &other->_impl_.type_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.repeated_)
      + sizeof(ExtensionRangeOptions_Declaration::_impl_.repeated_)
      - PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.number_)>(
          reinterpret_cast<char*>(&_impl_.number_),
          reinterpret_cast<char*>(&other->_impl_.number_));
}

::google::protobuf::Metadata ExtensionRangeOptions_Declaration::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class ExtensionRangeOptions::_Internal {
 public:
  using HasBits =
      decltype(std::declval<ExtensionRangeOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._has_bits_);
};

ExtensionRangeOptions::ExtensionRangeOptions(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.ExtensionRangeOptions)
}
inline PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::ExtensionRangeOptions& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0},
        declaration_{visibility, arena, from.declaration_},
        uninterpreted_option_{visibility, arena, from.uninterpreted_option_} {}

ExtensionRangeOptions::ExtensionRangeOptions(
    ::google::protobuf::Arena* arena,
    const ExtensionRangeOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ExtensionRangeOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.features_)
                        : nullptr;
  _impl_.verification_ = from._impl_.verification_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.ExtensionRangeOptions)
}
inline PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0},
        declaration_{visibility, arena},
        uninterpreted_option_{visibility, arena},
        verification_{static_cast< ::google::protobuf::ExtensionRangeOptions_VerificationState >(1)} {}

inline void ExtensionRangeOptions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.features_ = {};
}
ExtensionRangeOptions::~ExtensionRangeOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.ExtensionRangeOptions)
  SharedDtor(*this);
}
inline void ExtensionRangeOptions::SharedDtor(MessageLite& self) {
  ExtensionRangeOptions& this_ = static_cast<ExtensionRangeOptions&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

inline void* ExtensionRangeOptions::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) ExtensionRangeOptions(arena);
}
constexpr auto ExtensionRangeOptions::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._extensions_) +
          decltype(ExtensionRangeOptions::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.uninterpreted_option_) +
          decltype(ExtensionRangeOptions::_impl_.uninterpreted_option_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.declaration_) +
          decltype(ExtensionRangeOptions::_impl_.declaration_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(ExtensionRangeOptions), alignof(ExtensionRangeOptions), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&ExtensionRangeOptions::PlacementNew_,
                                 sizeof(ExtensionRangeOptions),
                                 alignof(ExtensionRangeOptions));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_ExtensionRangeOptions_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        ExtensionRangeOptions::IsInitializedImpl,
        &ExtensionRangeOptions::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<ExtensionRangeOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &ExtensionRangeOptions::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<ExtensionRangeOptions>(), &ExtensionRangeOptions::ByteSizeLong,
            &ExtensionRangeOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._cached_size_),
        false,
    },
    &ExtensionRangeOptions::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* ExtensionRangeOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 4, 4, 0, 12> ExtensionRangeOptions::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._extensions_),
    999, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967289,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::ExtensionRangeOptions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.declaration_)}},
    // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
    {::_pbi::TcParser::FastEr0S1,
     {24, 1, 1, PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.verification_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {::_pbi::TcParser::FastMtR2,
     {16058, 63, 2, PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.uninterpreted_option_)}},
  }}, {{
    50, 0, 1,
    65534, 2,999, 0, 1,
     65534, 3,
    65535, 65535
  }}, {{
    // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
    {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.declaration_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
    {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.verification_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional .google.protobuf.FeatureSet features = 50;
    {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.uninterpreted_option_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::ExtensionRangeOptions_Declaration>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()},
    {0, 2},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void ExtensionRangeOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.ExtensionRangeOptions)
  ::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_._extensions_.Clear();
  _impl_.declaration_.Clear();
  _impl_.uninterpreted_option_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.features_ != nullptr);
      _impl_.features_->Clear();
    }
    _impl_.verification_ = 1;
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_declaration_size());
               i < n; i++) {
            const auto& repfield = this_._internal_declaration().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    2, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                3, this_._internal_verification(), target);
          }

          // optional .google.protobuf.FeatureSet features = 50;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                50, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_uninterpreted_option_size());
               i < n; i++) {
            const auto& repfield = this_._internal_uninterpreted_option().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    999, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [1000, 536870912)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 536870912, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ExtensionRangeOptions)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t ExtensionRangeOptions::ByteSizeLong(const MessageLite& base) {
          const ExtensionRangeOptions& this_ = static_cast<const ExtensionRangeOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t ExtensionRangeOptions::ByteSizeLong() const {
          const ExtensionRangeOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ExtensionRangeOptions)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
            {
              total_size += 1UL * this_._internal_declaration_size();
              for (const auto& msg : this_._internal_declaration()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
            {
              total_size += 2UL * this_._internal_uninterpreted_option_size();
              for (const auto& msg : this_._internal_uninterpreted_option()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x00000003u) {
            // optional .google.protobuf.FeatureSet features = 50;
            if (cached_has_bits & 0x00000001u) {
              total_size += 2 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
            }
            // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_verification());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void ExtensionRangeOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ExtensionRangeOptions*>(&to_msg);
  auto& from = static_cast<const ExtensionRangeOptions&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ExtensionRangeOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_declaration()->MergeFrom(
      from._internal_declaration());
  _this->_internal_mutable_uninterpreted_option()->MergeFrom(
      from._internal_uninterpreted_option());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.verification_ = from._impl_.verification_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ExtensionRangeOptions::CopyFrom(const ExtensionRangeOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ExtensionRangeOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ExtensionRangeOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const ExtensionRangeOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void ExtensionRangeOptions::InternalSwap(ExtensionRangeOptions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.declaration_.InternalSwap(&other->_impl_.declaration_);
  _impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.verification_)
      + sizeof(ExtensionRangeOptions::_impl_.verification_)
      - PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata ExtensionRangeOptions::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class FieldDescriptorProto::_Internal {
 public:
  using HasBits =
      decltype(std::declval<FieldDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_._has_bits_);
};

FieldDescriptorProto::FieldDescriptorProto(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FieldDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE FieldDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FieldDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_),
        extendee_(arena, from.extendee_),
        type_name_(arena, from.type_name_),
        default_value_(arena, from.default_value_),
        json_name_(arena, from.json_name_) {}

FieldDescriptorProto::FieldDescriptorProto(
    ::google::protobuf::Arena* arena,
    const FieldDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FieldDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (cached_has_bits & 0x00000020u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FieldOptions>(
                              arena, *from._impl_.options_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, number_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, number_),
           offsetof(Impl_, type_) -
               offsetof(Impl_, number_) +
               sizeof(Impl_::type_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE FieldDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena),
        extendee_(arena),
        type_name_(arena),
        default_value_(arena),
        json_name_(arena),
        label_{static_cast< ::google::protobuf::FieldDescriptorProto_Label >(1)},
        type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)} {}

inline void FieldDescriptorProto::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, proto3_optional_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::proto3_optional_));
}
FieldDescriptorProto::~FieldDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.FieldDescriptorProto)
  SharedDtor(*this);
}
inline void FieldDescriptorProto::SharedDtor(MessageLite& self) {
  FieldDescriptorProto& this_ = static_cast<FieldDescriptorProto&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.extendee_.Destroy();
  this_._impl_.type_name_.Destroy();
  this_._impl_.default_value_.Destroy();
  this_._impl_.json_name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

inline void* FieldDescriptorProto::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FieldDescriptorProto(arena);
}
constexpr auto FieldDescriptorProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FieldDescriptorProto),
                                            alignof(FieldDescriptorProto));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FieldDescriptorProto::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FieldDescriptorProto_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        FieldDescriptorProto::IsInitializedImpl,
        &FieldDescriptorProto::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FieldDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FieldDescriptorProto::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FieldDescriptorProto>(), &FieldDescriptorProto::ByteSizeLong,
            &FieldDescriptorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_._cached_size_),
        false,
    },
    &FieldDescriptorProto::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FieldDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<4, 11, 3, 96, 2> FieldDescriptorProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_._has_bits_),
    0, // no _extensions_
    17, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294900736,  // skipmap
    offsetof(decltype(_table_), field_entries),
    11,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FieldDescriptorProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.name_)}},
    // optional string extendee = 2;
    {::_pbi::TcParser::FastSS1,
     {18, 1, 0, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.extendee_)}},
    // optional int32 number = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldDescriptorProto, _impl_.number_), 6>(),
     {24, 6, 0, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.number_)}},
    // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
    {::_pbi::TcParser::FastEr1S1,
     {32, 9, 3, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.label_)}},
    // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
    {::_pbi::TcParser::FastEr1S1,
     {40, 10, 18, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_)}},
    // optional string type_name = 6;
    {::_pbi::TcParser::FastSS1,
     {50, 2, 0, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_name_)}},
    // optional string default_value = 7;
    {::_pbi::TcParser::FastSS1,
     {58, 3, 0, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.default_value_)}},
    // optional .google.protobuf.FieldOptions options = 8;
    {::_pbi::TcParser::FastMtS1,
     {66, 5, 0, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.options_)}},
    // optional int32 oneof_index = 9;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldDescriptorProto, _impl_.oneof_index_), 7>(),
     {72, 7, 0, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.oneof_index_)}},
    // optional string json_name = 10;
    {::_pbi::TcParser::FastSS1,
     {82, 4, 0, PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.json_name_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string extendee = 2;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.extendee_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional int32 number = 3;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.number_), _Internal::kHasBitsOffset + 6, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.label_), _Internal::kHasBitsOffset + 9, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_), _Internal::kHasBitsOffset + 10, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional string type_name = 6;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_name_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string default_value = 7;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.default_value_), _Internal::kHasBitsOffset + 3, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .google.protobuf.FieldOptions options = 8;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 5, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional int32 oneof_index = 9;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.oneof_index_), _Internal::kHasBitsOffset + 7, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional string json_name = 10;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.json_name_), _Internal::kHasBitsOffset + 4, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional bool proto3_optional = 17;
    {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.proto3_optional_), _Internal::kHasBitsOffset + 8, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions>()},
    {1, 3},
    {1, 18},
  }}, {{
    "\44\4\10\0\0\0\11\15\0\0\11\0\0\0\0\0"
    "google.protobuf.FieldDescriptorProto"
    "name"
    "extendee"
    "type_name"
    "default_value"
    "json_name"
  }},
};

PROTOBUF_NOINLINE void FieldDescriptorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FieldDescriptorProto)
  ::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 (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.extendee_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      _impl_.type_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      _impl_.default_value_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000010u) {
      _impl_.json_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000020u) {
      ABSL_DCHECK(_impl_.options_ != nullptr);
      _impl_.options_->Clear();
    }
  }
  if (cached_has_bits & 0x000000c0u) {
    ::memset(&_impl_.number_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.oneof_index_) -
        reinterpret_cast<char*>(&_impl_.number_)) + sizeof(_impl_.oneof_index_));
  }
  if (cached_has_bits & 0x00000700u) {
    _impl_.proto3_optional_ = false;
    _impl_.label_ = 1;
    _impl_.type_ = 1;
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string name = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FieldDescriptorProto.name");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // optional string extendee = 2;
          if (cached_has_bits & 0x00000002u) {
            const std::string& _s = this_._internal_extendee();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FieldDescriptorProto.extendee");
            target = stream->WriteStringMaybeAliased(2, _s, target);
          }

          // optional int32 number = 3;
          if (cached_has_bits & 0x00000040u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<3>(
                    stream, this_._internal_number(), target);
          }

          // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
          if (cached_has_bits & 0x00000200u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                4, this_._internal_label(), target);
          }

          // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
          if (cached_has_bits & 0x00000400u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                5, this_._internal_type(), target);
          }

          // optional string type_name = 6;
          if (cached_has_bits & 0x00000004u) {
            const std::string& _s = this_._internal_type_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FieldDescriptorProto.type_name");
            target = stream->WriteStringMaybeAliased(6, _s, target);
          }

          // optional string default_value = 7;
          if (cached_has_bits & 0x00000008u) {
            const std::string& _s = this_._internal_default_value();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FieldDescriptorProto.default_value");
            target = stream->WriteStringMaybeAliased(7, _s, target);
          }

          // optional .google.protobuf.FieldOptions options = 8;
          if (cached_has_bits & 0x00000020u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                8, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
                stream);
          }

          // optional int32 oneof_index = 9;
          if (cached_has_bits & 0x00000080u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<9>(
                    stream, this_._internal_oneof_index(), target);
          }

          // optional string json_name = 10;
          if (cached_has_bits & 0x00000010u) {
            const std::string& _s = this_._internal_json_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FieldDescriptorProto.json_name");
            target = stream->WriteStringMaybeAliased(10, _s, target);
          }

          // optional bool proto3_optional = 17;
          if (cached_has_bits & 0x00000100u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                17, this_._internal_proto3_optional(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldDescriptorProto)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FieldDescriptorProto::ByteSizeLong(const MessageLite& base) {
          const FieldDescriptorProto& this_ = static_cast<const FieldDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FieldDescriptorProto::ByteSizeLong() const {
          const FieldDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldDescriptorProto)
          ::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 (cached_has_bits & 0x000000ffu) {
            // optional string name = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_name());
            }
            // optional string extendee = 2;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_extendee());
            }
            // optional string type_name = 6;
            if (cached_has_bits & 0x00000004u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_type_name());
            }
            // optional string default_value = 7;
            if (cached_has_bits & 0x00000008u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_default_value());
            }
            // optional string json_name = 10;
            if (cached_has_bits & 0x00000010u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_json_name());
            }
            // optional .google.protobuf.FieldOptions options = 8;
            if (cached_has_bits & 0x00000020u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
            }
            // optional int32 number = 3;
            if (cached_has_bits & 0x00000040u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_number());
            }
            // optional int32 oneof_index = 9;
            if (cached_has_bits & 0x00000080u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_oneof_index());
            }
          }
          if (cached_has_bits & 0x00000700u) {
            // optional bool proto3_optional = 17;
            if (cached_has_bits & 0x00000100u) {
              total_size += 3;
            }
            // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
            if (cached_has_bits & 0x00000200u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_label());
            }
            // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
            if (cached_has_bits & 0x00000400u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FieldDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FieldDescriptorProto*>(&to_msg);
  auto& from = static_cast<const FieldDescriptorProto&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_extendee(from._internal_extendee());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_set_type_name(from._internal_type_name());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_set_default_value(from._internal_default_value());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_set_json_name(from._internal_json_name());
    }
    if (cached_has_bits & 0x00000020u) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FieldOptions>(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.number_ = from._impl_.number_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.oneof_index_ = from._impl_.oneof_index_;
    }
  }
  if (cached_has_bits & 0x00000700u) {
    if (cached_has_bits & 0x00000100u) {
      _this->_impl_.proto3_optional_ = from._impl_.proto3_optional_;
    }
    if (cached_has_bits & 0x00000200u) {
      _this->_impl_.label_ = from._impl_.label_;
    }
    if (cached_has_bits & 0x00000400u) {
      _this->_impl_.type_ = from._impl_.type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FieldDescriptorProto::CopyFrom(const FieldDescriptorProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FieldDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FieldDescriptorProto&>(msg);
  if ((this_._impl_._has_bits_[0] & 0x00000020u) != 0) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void FieldDescriptorProto::InternalSwap(FieldDescriptorProto* PROTOBUF_RESTRICT 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_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.extendee_, &other->_impl_.extendee_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.type_name_, &other->_impl_.type_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.default_value_, &other->_impl_.default_value_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.json_name_, &other->_impl_.json_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_)
      + sizeof(FieldDescriptorProto::_impl_.type_)
      - PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.options_)>(
          reinterpret_cast<char*>(&_impl_.options_),
          reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata FieldDescriptorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class OneofDescriptorProto::_Internal {
 public:
  using HasBits =
      decltype(std::declval<OneofDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_._has_bits_);
};

OneofDescriptorProto::OneofDescriptorProto(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.OneofDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE OneofDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::OneofDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_) {}

OneofDescriptorProto::OneofDescriptorProto(
    ::google::protobuf::Arena* arena,
    const OneofDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  OneofDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::OneofOptions>(
                              arena, *from._impl_.options_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.OneofDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE OneofDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena) {}

inline void OneofDescriptorProto::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.options_ = {};
}
OneofDescriptorProto::~OneofDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.OneofDescriptorProto)
  SharedDtor(*this);
}
inline void OneofDescriptorProto::SharedDtor(MessageLite& self) {
  OneofDescriptorProto& this_ = static_cast<OneofDescriptorProto&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

inline void* OneofDescriptorProto::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) OneofDescriptorProto(arena);
}
constexpr auto OneofDescriptorProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(OneofDescriptorProto),
                                            alignof(OneofDescriptorProto));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull OneofDescriptorProto::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_OneofDescriptorProto_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        OneofDescriptorProto::IsInitializedImpl,
        &OneofDescriptorProto::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<OneofDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &OneofDescriptorProto::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<OneofDescriptorProto>(), &OneofDescriptorProto::ByteSizeLong,
            &OneofDescriptorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_._cached_size_),
        false,
    },
    &OneofDescriptorProto::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* OneofDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<1, 2, 1, 49, 2> OneofDescriptorProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::OneofDescriptorProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional .google.protobuf.OneofOptions options = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 0, PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_.options_)}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_.name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .google.protobuf.OneofOptions options = 2;
    {PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::OneofOptions>()},
  }}, {{
    "\44\4\0\0\0\0\0\0"
    "google.protobuf.OneofDescriptorProto"
    "name"
  }},
};

PROTOBUF_NOINLINE void OneofDescriptorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.OneofDescriptorProto)
  ::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 (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.options_ != nullptr);
      _impl_.options_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string name = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.OneofDescriptorProto.name");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // optional .google.protobuf.OneofOptions options = 2;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                2, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
                stream);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.OneofDescriptorProto)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t OneofDescriptorProto::ByteSizeLong(const MessageLite& base) {
          const OneofDescriptorProto& this_ = static_cast<const OneofDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t OneofDescriptorProto::ByteSizeLong() const {
          const OneofDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.OneofDescriptorProto)
          ::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 (cached_has_bits & 0x00000003u) {
            // optional string name = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_name());
            }
            // optional .google.protobuf.OneofOptions options = 2;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void OneofDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<OneofDescriptorProto*>(&to_msg);
  auto& from = static_cast<const OneofDescriptorProto&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.OneofDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::OneofOptions>(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void OneofDescriptorProto::CopyFrom(const OneofDescriptorProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.OneofDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool OneofDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const OneofDescriptorProto&>(msg);
  if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void OneofDescriptorProto::InternalSwap(OneofDescriptorProto* PROTOBUF_RESTRICT 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_.name_, &other->_impl_.name_, arena);
  swap(_impl_.options_, other->_impl_.options_);
}

::google::protobuf::Metadata OneofDescriptorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class EnumDescriptorProto_EnumReservedRange::_Internal {
 public:
  using HasBits =
      decltype(std::declval<EnumDescriptorProto_EnumReservedRange>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_._has_bits_);
};

EnumDescriptorProto_EnumReservedRange::EnumDescriptorProto_EnumReservedRange(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumDescriptorProto.EnumReservedRange)
}
EnumDescriptorProto_EnumReservedRange::EnumDescriptorProto_EnumReservedRange(
    ::google::protobuf::Arena* arena, const EnumDescriptorProto_EnumReservedRange& from)
    : EnumDescriptorProto_EnumReservedRange(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE EnumDescriptorProto_EnumReservedRange::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void EnumDescriptorProto_EnumReservedRange::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, start_),
           0,
           offsetof(Impl_, end_) -
               offsetof(Impl_, start_) +
               sizeof(Impl_::end_));
}
EnumDescriptorProto_EnumReservedRange::~EnumDescriptorProto_EnumReservedRange() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  SharedDtor(*this);
}
inline void EnumDescriptorProto_EnumReservedRange::SharedDtor(MessageLite& self) {
  EnumDescriptorProto_EnumReservedRange& this_ = static_cast<EnumDescriptorProto_EnumReservedRange&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

inline void* EnumDescriptorProto_EnumReservedRange::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) EnumDescriptorProto_EnumReservedRange(arena);
}
constexpr auto EnumDescriptorProto_EnumReservedRange::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(EnumDescriptorProto_EnumReservedRange),
                                            alignof(EnumDescriptorProto_EnumReservedRange));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull EnumDescriptorProto_EnumReservedRange::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_EnumDescriptorProto_EnumReservedRange_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        nullptr,  // IsInitialized
        &EnumDescriptorProto_EnumReservedRange::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<EnumDescriptorProto_EnumReservedRange>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &EnumDescriptorProto_EnumReservedRange::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<EnumDescriptorProto_EnumReservedRange>(), &EnumDescriptorProto_EnumReservedRange::ByteSizeLong,
            &EnumDescriptorProto_EnumReservedRange::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_._cached_size_),
        false,
    },
    &EnumDescriptorProto_EnumReservedRange::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* EnumDescriptorProto_EnumReservedRange::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<1, 2, 0, 0, 2> EnumDescriptorProto_EnumReservedRange::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::EnumDescriptorProto_EnumReservedRange>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional int32 end = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(EnumDescriptorProto_EnumReservedRange, _impl_.end_), 1>(),
     {16, 1, 0, PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.end_)}},
    // optional int32 start = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(EnumDescriptorProto_EnumReservedRange, _impl_.start_), 0>(),
     {8, 0, 0, PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.start_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional int32 start = 1;
    {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.start_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional int32 end = 2;
    {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.end_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
  }},
  // no aux_entries
  {{
  }},
};

PROTOBUF_NOINLINE void EnumDescriptorProto_EnumReservedRange::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  ::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 (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.start_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.end_) -
        reinterpret_cast<char*>(&_impl_.start_)) + sizeof(_impl_.end_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* EnumDescriptorProto_EnumReservedRange::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const EnumDescriptorProto_EnumReservedRange& this_ = static_cast<const EnumDescriptorProto_EnumReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* EnumDescriptorProto_EnumReservedRange::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const EnumDescriptorProto_EnumReservedRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional int32 start = 1;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<1>(
                    stream, this_._internal_start(), target);
          }

          // optional int32 end = 2;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<2>(
                    stream, this_._internal_end(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumDescriptorProto.EnumReservedRange)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t EnumDescriptorProto_EnumReservedRange::ByteSizeLong(const MessageLite& base) {
          const EnumDescriptorProto_EnumReservedRange& this_ = static_cast<const EnumDescriptorProto_EnumReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t EnumDescriptorProto_EnumReservedRange::ByteSizeLong() const {
          const EnumDescriptorProto_EnumReservedRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
          ::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 (cached_has_bits & 0x00000003u) {
            // optional int32 start = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_start());
            }
            // optional int32 end = 2;
            if (cached_has_bits & 0x00000002u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_end());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void EnumDescriptorProto_EnumReservedRange::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<EnumDescriptorProto_EnumReservedRange*>(&to_msg);
  auto& from = static_cast<const EnumDescriptorProto_EnumReservedRange&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.start_ = from._impl_.start_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.end_ = from._impl_.end_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void EnumDescriptorProto_EnumReservedRange::CopyFrom(const EnumDescriptorProto_EnumReservedRange& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void EnumDescriptorProto_EnumReservedRange::InternalSwap(EnumDescriptorProto_EnumReservedRange* PROTOBUF_RESTRICT 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(EnumDescriptorProto_EnumReservedRange, _impl_.end_)
      + sizeof(EnumDescriptorProto_EnumReservedRange::_impl_.end_)
      - PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.start_)>(
          reinterpret_cast<char*>(&_impl_.start_),
          reinterpret_cast<char*>(&other->_impl_.start_));
}

::google::protobuf::Metadata EnumDescriptorProto_EnumReservedRange::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class EnumDescriptorProto::_Internal {
 public:
  using HasBits =
      decltype(std::declval<EnumDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_._has_bits_);
};

EnumDescriptorProto::EnumDescriptorProto(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE EnumDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::EnumDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        value_{visibility, arena, from.value_},
        reserved_range_{visibility, arena, from.reserved_range_},
        reserved_name_{visibility, arena, from.reserved_name_},
        name_(arena, from.name_) {}

EnumDescriptorProto::EnumDescriptorProto(
    ::google::protobuf::Arena* arena,
    const EnumDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EnumDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::EnumOptions>(
                              arena, *from._impl_.options_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE EnumDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        value_{visibility, arena},
        reserved_range_{visibility, arena},
        reserved_name_{visibility, arena},
        name_(arena) {}

inline void EnumDescriptorProto::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.options_ = {};
}
EnumDescriptorProto::~EnumDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumDescriptorProto)
  SharedDtor(*this);
}
inline void EnumDescriptorProto::SharedDtor(MessageLite& self) {
  EnumDescriptorProto& this_ = static_cast<EnumDescriptorProto&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

inline void* EnumDescriptorProto::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) EnumDescriptorProto(arena);
}
constexpr auto EnumDescriptorProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.value_) +
          decltype(EnumDescriptorProto::_impl_.value_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_range_) +
          decltype(EnumDescriptorProto::_impl_.reserved_range_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_name_) +
          decltype(EnumDescriptorProto::_impl_.reserved_name_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(EnumDescriptorProto), alignof(EnumDescriptorProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&EnumDescriptorProto::PlacementNew_,
                                 sizeof(EnumDescriptorProto),
                                 alignof(EnumDescriptorProto));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull EnumDescriptorProto::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_EnumDescriptorProto_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        EnumDescriptorProto::IsInitializedImpl,
        &EnumDescriptorProto::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<EnumDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &EnumDescriptorProto::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<EnumDescriptorProto>(), &EnumDescriptorProto::ByteSizeLong,
            &EnumDescriptorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_._cached_size_),
        false,
    },
    &EnumDescriptorProto::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* EnumDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 5, 3, 61, 2> EnumDescriptorProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::EnumDescriptorProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.name_)}},
    // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.value_)}},
    // optional .google.protobuf.EnumOptions options = 3;
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.options_)}},
    // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_range_)}},
    // repeated string reserved_name = 5;
    {::_pbi::TcParser::FastSR1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_name_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
    {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.value_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.EnumOptions options = 3;
    {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
    {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_range_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated string reserved_name = 5;
    {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_name_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kRawString | ::_fl::kRepSString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::EnumValueDescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::EnumOptions>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::EnumDescriptorProto_EnumReservedRange>()},
  }}, {{
    "\43\4\0\0\0\15\0\0"
    "google.protobuf.EnumDescriptorProto"
    "name"
    "reserved_name"
  }},
};

PROTOBUF_NOINLINE void EnumDescriptorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.EnumDescriptorProto)
  ::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_.value_.Clear();
  _impl_.reserved_range_.Clear();
  _impl_.reserved_name_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.options_ != nullptr);
      _impl_.options_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string name = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.EnumDescriptorProto.name");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_value_size());
               i < n; i++) {
            const auto& repfield = this_._internal_value().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    2, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // optional .google.protobuf.EnumOptions options = 3;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                3, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_reserved_range_size());
               i < n; i++) {
            const auto& repfield = this_._internal_reserved_range().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    4, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // repeated string reserved_name = 5;
          for (int i = 0, n = this_._internal_reserved_name_size(); i < n; ++i) {
            const auto& s = this_._internal_reserved_name().Get(i);
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.EnumDescriptorProto.reserved_name");
            target = stream->WriteString(5, s, target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumDescriptorProto)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t EnumDescriptorProto::ByteSizeLong(const MessageLite& base) {
          const EnumDescriptorProto& this_ = static_cast<const EnumDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t EnumDescriptorProto::ByteSizeLong() const {
          const EnumDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumDescriptorProto)
          ::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 .google.protobuf.EnumValueDescriptorProto value = 2;
            {
              total_size += 1UL * this_._internal_value_size();
              for (const auto& msg : this_._internal_value()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
            {
              total_size += 1UL * this_._internal_reserved_range_size();
              for (const auto& msg : this_._internal_reserved_range()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated string reserved_name = 5;
            {
              total_size +=
                  1 * ::google::protobuf::internal::FromIntSize(this_._internal_reserved_name().size());
              for (int i = 0, n = this_._internal_reserved_name().size(); i < n; ++i) {
                total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
                    this_._internal_reserved_name().Get(i));
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x00000003u) {
            // optional string name = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_name());
            }
            // optional .google.protobuf.EnumOptions options = 3;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void EnumDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<EnumDescriptorProto*>(&to_msg);
  auto& from = static_cast<const EnumDescriptorProto&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_value()->MergeFrom(
      from._internal_value());
  _this->_internal_mutable_reserved_range()->MergeFrom(
      from._internal_reserved_range());
  _this->_internal_mutable_reserved_name()->MergeFrom(from._internal_reserved_name());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::EnumOptions>(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void EnumDescriptorProto::CopyFrom(const EnumDescriptorProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool EnumDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const EnumDescriptorProto&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_value()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void EnumDescriptorProto::InternalSwap(EnumDescriptorProto* PROTOBUF_RESTRICT 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_.value_.InternalSwap(&other->_impl_.value_);
  _impl_.reserved_range_.InternalSwap(&other->_impl_.reserved_range_);
  _impl_.reserved_name_.InternalSwap(&other->_impl_.reserved_name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  swap(_impl_.options_, other->_impl_.options_);
}

::google::protobuf::Metadata EnumDescriptorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class EnumValueDescriptorProto::_Internal {
 public:
  using HasBits =
      decltype(std::declval<EnumValueDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_._has_bits_);
};

EnumValueDescriptorProto::EnumValueDescriptorProto(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumValueDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE EnumValueDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::EnumValueDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_) {}

EnumValueDescriptorProto::EnumValueDescriptorProto(
    ::google::protobuf::Arena* arena,
    const EnumValueDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EnumValueDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::EnumValueOptions>(
                              arena, *from._impl_.options_)
                        : nullptr;
  _impl_.number_ = from._impl_.number_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE EnumValueDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena) {}

inline void EnumValueDescriptorProto::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, number_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::number_));
}
EnumValueDescriptorProto::~EnumValueDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumValueDescriptorProto)
  SharedDtor(*this);
}
inline void EnumValueDescriptorProto::SharedDtor(MessageLite& self) {
  EnumValueDescriptorProto& this_ = static_cast<EnumValueDescriptorProto&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

inline void* EnumValueDescriptorProto::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) EnumValueDescriptorProto(arena);
}
constexpr auto EnumValueDescriptorProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EnumValueDescriptorProto),
                                            alignof(EnumValueDescriptorProto));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull EnumValueDescriptorProto::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_EnumValueDescriptorProto_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        EnumValueDescriptorProto::IsInitializedImpl,
        &EnumValueDescriptorProto::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<EnumValueDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &EnumValueDescriptorProto::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<EnumValueDescriptorProto>(), &EnumValueDescriptorProto::ByteSizeLong,
            &EnumValueDescriptorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_._cached_size_),
        false,
    },
    &EnumValueDescriptorProto::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* EnumValueDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<2, 3, 1, 53, 2> EnumValueDescriptorProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::EnumValueDescriptorProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.name_)}},
    // optional int32 number = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(EnumValueDescriptorProto, _impl_.number_), 2>(),
     {16, 2, 0, PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.number_)}},
    // optional .google.protobuf.EnumValueOptions options = 3;
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 0, PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional int32 number = 2;
    {PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.number_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional .google.protobuf.EnumValueOptions options = 3;
    {PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::EnumValueOptions>()},
  }}, {{
    "\50\4\0\0\0\0\0\0"
    "google.protobuf.EnumValueDescriptorProto"
    "name"
  }},
};

PROTOBUF_NOINLINE void EnumValueDescriptorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.EnumValueDescriptorProto)
  ::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 (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.options_ != nullptr);
      _impl_.options_->Clear();
    }
  }
  _impl_.number_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string name = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.EnumValueDescriptorProto.name");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // optional int32 number = 2;
          if (cached_has_bits & 0x00000004u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<2>(
                    stream, this_._internal_number(), target);
          }

          // optional .google.protobuf.EnumValueOptions options = 3;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                3, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
                stream);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueDescriptorProto)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t EnumValueDescriptorProto::ByteSizeLong(const MessageLite& base) {
          const EnumValueDescriptorProto& this_ = static_cast<const EnumValueDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t EnumValueDescriptorProto::ByteSizeLong() const {
          const EnumValueDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumValueDescriptorProto)
          ::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 (cached_has_bits & 0x00000007u) {
            // optional string name = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_name());
            }
            // optional .google.protobuf.EnumValueOptions options = 3;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
            }
            // optional int32 number = 2;
            if (cached_has_bits & 0x00000004u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_number());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void EnumValueDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<EnumValueDescriptorProto*>(&to_msg);
  auto& from = static_cast<const EnumValueDescriptorProto&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumValueDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::EnumValueOptions>(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.number_ = from._impl_.number_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void EnumValueDescriptorProto::CopyFrom(const EnumValueDescriptorProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumValueDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool EnumValueDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const EnumValueDescriptorProto&>(msg);
  if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void EnumValueDescriptorProto::InternalSwap(EnumValueDescriptorProto* PROTOBUF_RESTRICT 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_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.number_)
      + sizeof(EnumValueDescriptorProto::_impl_.number_)
      - PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.options_)>(
          reinterpret_cast<char*>(&_impl_.options_),
          reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata EnumValueDescriptorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class ServiceDescriptorProto::_Internal {
 public:
  using HasBits =
      decltype(std::declval<ServiceDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_._has_bits_);
};

ServiceDescriptorProto::ServiceDescriptorProto(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.ServiceDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE ServiceDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::ServiceDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        method_{visibility, arena, from.method_},
        name_(arena, from.name_) {}

ServiceDescriptorProto::ServiceDescriptorProto(
    ::google::protobuf::Arena* arena,
    const ServiceDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ServiceDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::ServiceOptions>(
                              arena, *from._impl_.options_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE ServiceDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        method_{visibility, arena},
        name_(arena) {}

inline void ServiceDescriptorProto::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.options_ = {};
}
ServiceDescriptorProto::~ServiceDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.ServiceDescriptorProto)
  SharedDtor(*this);
}
inline void ServiceDescriptorProto::SharedDtor(MessageLite& self) {
  ServiceDescriptorProto& this_ = static_cast<ServiceDescriptorProto&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

inline void* ServiceDescriptorProto::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) ServiceDescriptorProto(arena);
}
constexpr auto ServiceDescriptorProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.method_) +
          decltype(ServiceDescriptorProto::_impl_.method_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(ServiceDescriptorProto), alignof(ServiceDescriptorProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&ServiceDescriptorProto::PlacementNew_,
                                 sizeof(ServiceDescriptorProto),
                                 alignof(ServiceDescriptorProto));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull ServiceDescriptorProto::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_ServiceDescriptorProto_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        ServiceDescriptorProto::IsInitializedImpl,
        &ServiceDescriptorProto::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<ServiceDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &ServiceDescriptorProto::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<ServiceDescriptorProto>(), &ServiceDescriptorProto::ByteSizeLong,
            &ServiceDescriptorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_._cached_size_),
        false,
    },
    &ServiceDescriptorProto::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* ServiceDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<2, 3, 2, 51, 2> ServiceDescriptorProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::ServiceDescriptorProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.name_)}},
    // repeated .google.protobuf.MethodDescriptorProto method = 2;
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.method_)}},
    // optional .google.protobuf.ServiceOptions options = 3;
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // repeated .google.protobuf.MethodDescriptorProto method = 2;
    {PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.method_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.ServiceOptions options = 3;
    {PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::MethodDescriptorProto>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::ServiceOptions>()},
  }}, {{
    "\46\4\0\0\0\0\0\0"
    "google.protobuf.ServiceDescriptorProto"
    "name"
  }},
};

PROTOBUF_NOINLINE void ServiceDescriptorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.ServiceDescriptorProto)
  ::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_.method_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.options_ != nullptr);
      _impl_.options_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string name = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.ServiceDescriptorProto.name");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // repeated .google.protobuf.MethodDescriptorProto method = 2;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_method_size());
               i < n; i++) {
            const auto& repfield = this_._internal_method().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    2, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // optional .google.protobuf.ServiceOptions options = 3;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                3, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
                stream);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceDescriptorProto)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t ServiceDescriptorProto::ByteSizeLong(const MessageLite& base) {
          const ServiceDescriptorProto& this_ = static_cast<const ServiceDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t ServiceDescriptorProto::ByteSizeLong() const {
          const ServiceDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ServiceDescriptorProto)
          ::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 .google.protobuf.MethodDescriptorProto method = 2;
            {
              total_size += 1UL * this_._internal_method_size();
              for (const auto& msg : this_._internal_method()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x00000003u) {
            // optional string name = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_name());
            }
            // optional .google.protobuf.ServiceOptions options = 3;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void ServiceDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ServiceDescriptorProto*>(&to_msg);
  auto& from = static_cast<const ServiceDescriptorProto&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ServiceDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_method()->MergeFrom(
      from._internal_method());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::ServiceOptions>(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ServiceDescriptorProto::CopyFrom(const ServiceDescriptorProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ServiceDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ServiceDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const ServiceDescriptorProto&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_method()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void ServiceDescriptorProto::InternalSwap(ServiceDescriptorProto* PROTOBUF_RESTRICT 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_.method_.InternalSwap(&other->_impl_.method_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  swap(_impl_.options_, other->_impl_.options_);
}

::google::protobuf::Metadata ServiceDescriptorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class MethodDescriptorProto::_Internal {
 public:
  using HasBits =
      decltype(std::declval<MethodDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_._has_bits_);
};

MethodDescriptorProto::MethodDescriptorProto(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.MethodDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE MethodDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::MethodDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_),
        input_type_(arena, from.input_type_),
        output_type_(arena, from.output_type_) {}

MethodDescriptorProto::MethodDescriptorProto(
    ::google::protobuf::Arena* arena,
    const MethodDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MethodDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (cached_has_bits & 0x00000008u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::MethodOptions>(
                              arena, *from._impl_.options_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, client_streaming_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, client_streaming_),
           offsetof(Impl_, server_streaming_) -
               offsetof(Impl_, client_streaming_) +
               sizeof(Impl_::server_streaming_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodDescriptorProto)
}
inline PROTOBUF_NDEBUG_INLINE MethodDescriptorProto::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena),
        input_type_(arena),
        output_type_(arena) {}

inline void MethodDescriptorProto::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, server_streaming_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::server_streaming_));
}
MethodDescriptorProto::~MethodDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.MethodDescriptorProto)
  SharedDtor(*this);
}
inline void MethodDescriptorProto::SharedDtor(MessageLite& self) {
  MethodDescriptorProto& this_ = static_cast<MethodDescriptorProto&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.input_type_.Destroy();
  this_._impl_.output_type_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

inline void* MethodDescriptorProto::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) MethodDescriptorProto(arena);
}
constexpr auto MethodDescriptorProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MethodDescriptorProto),
                                            alignof(MethodDescriptorProto));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull MethodDescriptorProto::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_MethodDescriptorProto_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        MethodDescriptorProto::IsInitializedImpl,
        &MethodDescriptorProto::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<MethodDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &MethodDescriptorProto::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<MethodDescriptorProto>(), &MethodDescriptorProto::ByteSizeLong,
            &MethodDescriptorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_._cached_size_),
        false,
    },
    &MethodDescriptorProto::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* MethodDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 6, 1, 71, 2> MethodDescriptorProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::MethodDescriptorProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.name_)}},
    // optional string input_type = 2;
    {::_pbi::TcParser::FastSS1,
     {18, 1, 0, PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.input_type_)}},
    // optional string output_type = 3;
    {::_pbi::TcParser::FastSS1,
     {26, 2, 0, PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.output_type_)}},
    // optional .google.protobuf.MethodOptions options = 4;
    {::_pbi::TcParser::FastMtS1,
     {34, 3, 0, PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.options_)}},
    // optional bool client_streaming = 5 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MethodDescriptorProto, _impl_.client_streaming_), 4>(),
     {40, 4, 0, PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.client_streaming_)}},
    // optional bool server_streaming = 6 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MethodDescriptorProto, _impl_.server_streaming_), 5>(),
     {48, 5, 0, PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.server_streaming_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string input_type = 2;
    {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.input_type_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string output_type = 3;
    {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.output_type_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .google.protobuf.MethodOptions options = 4;
    {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 3, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional bool client_streaming = 5 [default = false];
    {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.client_streaming_), _Internal::kHasBitsOffset + 4, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool server_streaming = 6 [default = false];
    {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.server_streaming_), _Internal::kHasBitsOffset + 5, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::MethodOptions>()},
  }}, {{
    "\45\4\12\13\0\0\0\0"
    "google.protobuf.MethodDescriptorProto"
    "name"
    "input_type"
    "output_type"
  }},
};

PROTOBUF_NOINLINE void MethodDescriptorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.MethodDescriptorProto)
  ::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 (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.input_type_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      _impl_.output_type_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.options_ != nullptr);
      _impl_.options_->Clear();
    }
  }
  ::memset(&_impl_.client_streaming_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.server_streaming_) -
      reinterpret_cast<char*>(&_impl_.client_streaming_)) + sizeof(_impl_.server_streaming_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string name = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_name();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.MethodDescriptorProto.name");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // optional string input_type = 2;
          if (cached_has_bits & 0x00000002u) {
            const std::string& _s = this_._internal_input_type();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.MethodDescriptorProto.input_type");
            target = stream->WriteStringMaybeAliased(2, _s, target);
          }

          // optional string output_type = 3;
          if (cached_has_bits & 0x00000004u) {
            const std::string& _s = this_._internal_output_type();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.MethodDescriptorProto.output_type");
            target = stream->WriteStringMaybeAliased(3, _s, target);
          }

          // optional .google.protobuf.MethodOptions options = 4;
          if (cached_has_bits & 0x00000008u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                4, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
                stream);
          }

          // optional bool client_streaming = 5 [default = false];
          if (cached_has_bits & 0x00000010u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                5, this_._internal_client_streaming(), target);
          }

          // optional bool server_streaming = 6 [default = false];
          if (cached_has_bits & 0x00000020u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                6, this_._internal_server_streaming(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodDescriptorProto)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t MethodDescriptorProto::ByteSizeLong(const MessageLite& base) {
          const MethodDescriptorProto& this_ = static_cast<const MethodDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t MethodDescriptorProto::ByteSizeLong() const {
          const MethodDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.MethodDescriptorProto)
          ::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 (cached_has_bits & 0x0000003fu) {
            // optional string name = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_name());
            }
            // optional string input_type = 2;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_input_type());
            }
            // optional string output_type = 3;
            if (cached_has_bits & 0x00000004u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_output_type());
            }
            // optional .google.protobuf.MethodOptions options = 4;
            if (cached_has_bits & 0x00000008u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
            }
            // optional bool client_streaming = 5 [default = false];
            if (cached_has_bits & 0x00000010u) {
              total_size += 2;
            }
            // optional bool server_streaming = 6 [default = false];
            if (cached_has_bits & 0x00000020u) {
              total_size += 2;
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void MethodDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<MethodDescriptorProto*>(&to_msg);
  auto& from = static_cast<const MethodDescriptorProto&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.MethodDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_input_type(from._internal_input_type());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_set_output_type(from._internal_output_type());
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::MethodOptions>(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.client_streaming_ = from._impl_.client_streaming_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.server_streaming_ = from._impl_.server_streaming_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MethodDescriptorProto::CopyFrom(const MethodDescriptorProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.MethodDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool MethodDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const MethodDescriptorProto&>(msg);
  if ((this_._impl_._has_bits_[0] & 0x00000008u) != 0) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void MethodDescriptorProto::InternalSwap(MethodDescriptorProto* PROTOBUF_RESTRICT 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_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.input_type_, &other->_impl_.input_type_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.output_type_, &other->_impl_.output_type_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.server_streaming_)
      + sizeof(MethodDescriptorProto::_impl_.server_streaming_)
      - PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.options_)>(
          reinterpret_cast<char*>(&_impl_.options_),
          reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata MethodDescriptorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class FileOptions::_Internal {
 public:
  using HasBits =
      decltype(std::declval<FileOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._has_bits_);
};

FileOptions::FileOptions(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FileOptions)
}
inline PROTOBUF_NDEBUG_INLINE FileOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FileOptions& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena, from.uninterpreted_option_},
        java_package_(arena, from.java_package_),
        java_outer_classname_(arena, from.java_outer_classname_),
        go_package_(arena, from.go_package_),
        objc_class_prefix_(arena, from.objc_class_prefix_),
        csharp_namespace_(arena, from.csharp_namespace_),
        swift_prefix_(arena, from.swift_prefix_),
        php_class_prefix_(arena, from.php_class_prefix_),
        php_namespace_(arena, from.php_namespace_),
        php_metadata_namespace_(arena, from.php_metadata_namespace_),
        ruby_package_(arena, from.ruby_package_) {}

FileOptions::FileOptions(
    ::google::protobuf::Arena* arena,
    const FileOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FileOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000400u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.features_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, java_multiple_files_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, java_multiple_files_),
           offsetof(Impl_, cc_enable_arenas_) -
               offsetof(Impl_, java_multiple_files_) +
               sizeof(Impl_::cc_enable_arenas_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FileOptions)
}
inline PROTOBUF_NDEBUG_INLINE FileOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena},
        java_package_(arena),
        java_outer_classname_(arena),
        go_package_(arena),
        objc_class_prefix_(arena),
        csharp_namespace_(arena),
        swift_prefix_(arena),
        php_class_prefix_(arena),
        php_namespace_(arena),
        php_metadata_namespace_(arena),
        ruby_package_(arena),
        optimize_for_{static_cast< ::google::protobuf::FileOptions_OptimizeMode >(1)},
        cc_enable_arenas_{true} {}

inline void FileOptions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, deprecated_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::deprecated_));
}
FileOptions::~FileOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.FileOptions)
  SharedDtor(*this);
}
inline void FileOptions::SharedDtor(MessageLite& self) {
  FileOptions& this_ = static_cast<FileOptions&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.java_package_.Destroy();
  this_._impl_.java_outer_classname_.Destroy();
  this_._impl_.go_package_.Destroy();
  this_._impl_.objc_class_prefix_.Destroy();
  this_._impl_.csharp_namespace_.Destroy();
  this_._impl_.swift_prefix_.Destroy();
  this_._impl_.php_class_prefix_.Destroy();
  this_._impl_.php_namespace_.Destroy();
  this_._impl_.php_metadata_namespace_.Destroy();
  this_._impl_.ruby_package_.Destroy();
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

inline void* FileOptions::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FileOptions(arena);
}
constexpr auto FileOptions::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._extensions_) +
          decltype(FileOptions::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.uninterpreted_option_) +
          decltype(FileOptions::_impl_.uninterpreted_option_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(FileOptions), alignof(FileOptions), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&FileOptions::PlacementNew_,
                                 sizeof(FileOptions),
                                 alignof(FileOptions));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FileOptions::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FileOptions_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        FileOptions::IsInitializedImpl,
        &FileOptions::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FileOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FileOptions::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FileOptions>(), &FileOptions::ByteSizeLong,
            &FileOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._cached_size_),
        false,
    },
    &FileOptions::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FileOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<5, 21, 3, 202, 12> FileOptions::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._extensions_),
    999, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    3149166718,  // skipmap
    offsetof(decltype(_table_), field_entries),
    21,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FileOptions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string java_package = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_package_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional string java_outer_classname = 8;
    {::_pbi::TcParser::FastSS1,
     {66, 1, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_outer_classname_)}},
    // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
    {::_pbi::TcParser::FastEr1S1,
     {72, 18, 3, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.optimize_for_)}},
    // optional bool java_multiple_files = 10 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FileOptions, _impl_.java_multiple_files_), 11>(),
     {80, 11, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_multiple_files_)}},
    // optional string go_package = 11;
    {::_pbi::TcParser::FastSS1,
     {90, 2, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.go_package_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool cc_generic_services = 16 [default = false];
    {::_pbi::TcParser::FastV8S2,
     {384, 14, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_generic_services_)}},
    // optional bool java_generic_services = 17 [default = false];
    {::_pbi::TcParser::FastV8S2,
     {392, 15, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_generic_services_)}},
    // optional bool py_generic_services = 18 [default = false];
    {::_pbi::TcParser::FastV8S2,
     {400, 16, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.py_generic_services_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
    {::_pbi::TcParser::FastV8S2,
     {416, 12, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_generate_equals_and_hash_)}},
    // optional string csharp_namespace = 37;
    {::_pbi::TcParser::FastSS2,
     {682, 4, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.csharp_namespace_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool deprecated = 23 [default = false];
    {::_pbi::TcParser::FastV8S2,
     {440, 17, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.deprecated_)}},
    // optional string php_class_prefix = 40;
    {::_pbi::TcParser::FastSS2,
     {706, 6, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_class_prefix_)}},
    // optional string php_namespace = 41;
    {::_pbi::TcParser::FastSS2,
     {714, 7, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_namespace_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool java_string_check_utf8 = 27 [default = false];
    {::_pbi::TcParser::FastV8S2,
     {472, 13, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_string_check_utf8_)}},
    // optional string php_metadata_namespace = 44;
    {::_pbi::TcParser::FastSS2,
     {738, 8, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_metadata_namespace_)}},
    // optional string ruby_package = 45;
    {::_pbi::TcParser::FastSS2,
     {746, 9, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.ruby_package_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool cc_enable_arenas = 31 [default = true];
    {::_pbi::TcParser::FastV8S2,
     {504, 19, 0, PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_enable_arenas_)}},
  }}, {{
    36, 0, 1,
    48324, 12,999, 0, 1,
     65534, 20,
    65535, 65535
  }}, {{
    // optional string java_package = 1;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_package_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string java_outer_classname = 8;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_outer_classname_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.optimize_for_), _Internal::kHasBitsOffset + 18, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional bool java_multiple_files = 10 [default = false];
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_multiple_files_), _Internal::kHasBitsOffset + 11, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional string go_package = 11;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.go_package_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional bool cc_generic_services = 16 [default = false];
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_generic_services_), _Internal::kHasBitsOffset + 14, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool java_generic_services = 17 [default = false];
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_generic_services_), _Internal::kHasBitsOffset + 15, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool py_generic_services = 18 [default = false];
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.py_generic_services_), _Internal::kHasBitsOffset + 16, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_generate_equals_and_hash_), _Internal::kHasBitsOffset + 12, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool deprecated = 23 [default = false];
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 17, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool java_string_check_utf8 = 27 [default = false];
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_string_check_utf8_), _Internal::kHasBitsOffset + 13, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool cc_enable_arenas = 31 [default = true];
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_enable_arenas_), _Internal::kHasBitsOffset + 19, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional string objc_class_prefix = 36;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.objc_class_prefix_), _Internal::kHasBitsOffset + 3, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string csharp_namespace = 37;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.csharp_namespace_), _Internal::kHasBitsOffset + 4, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string swift_prefix = 39;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.swift_prefix_), _Internal::kHasBitsOffset + 5, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string php_class_prefix = 40;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_class_prefix_), _Internal::kHasBitsOffset + 6, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string php_namespace = 41;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_namespace_), _Internal::kHasBitsOffset + 7, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string php_metadata_namespace = 44;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_metadata_namespace_), _Internal::kHasBitsOffset + 8, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string ruby_package = 45;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.ruby_package_), _Internal::kHasBitsOffset + 9, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .google.protobuf.FeatureSet features = 50;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.features_), _Internal::kHasBitsOffset + 10, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.uninterpreted_option_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()},
    {1, 3},
  }}, {{
    "\33\14\24\0\0\12\0\0\0\0\0\0\0\21\20\14\20\15\26\14\0\0\0\0"
    "google.protobuf.FileOptions"
    "java_package"
    "java_outer_classname"
    "go_package"
    "objc_class_prefix"
    "csharp_namespace"
    "swift_prefix"
    "php_class_prefix"
    "php_namespace"
    "php_metadata_namespace"
    "ruby_package"
  }},
};

PROTOBUF_NOINLINE void FileOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FileOptions)
  ::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_._extensions_.Clear();
  _impl_.uninterpreted_option_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.java_package_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.java_outer_classname_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      _impl_.go_package_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      _impl_.objc_class_prefix_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000010u) {
      _impl_.csharp_namespace_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000020u) {
      _impl_.swift_prefix_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000040u) {
      _impl_.php_class_prefix_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000080u) {
      _impl_.php_namespace_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x00000700u) {
    if (cached_has_bits & 0x00000100u) {
      _impl_.php_metadata_namespace_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000200u) {
      _impl_.ruby_package_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000400u) {
      ABSL_DCHECK(_impl_.features_ != nullptr);
      _impl_.features_->Clear();
    }
  }
  if (cached_has_bits & 0x0000f800u) {
    ::memset(&_impl_.java_multiple_files_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.java_generic_services_) -
        reinterpret_cast<char*>(&_impl_.java_multiple_files_)) + sizeof(_impl_.java_generic_services_));
  }
  if (cached_has_bits & 0x000f0000u) {
    ::memset(&_impl_.py_generic_services_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.deprecated_) -
        reinterpret_cast<char*>(&_impl_.py_generic_services_)) + sizeof(_impl_.deprecated_));
    _impl_.optimize_for_ = 1;
    _impl_.cc_enable_arenas_ = true;
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string java_package = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_java_package();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.java_package");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // optional string java_outer_classname = 8;
          if (cached_has_bits & 0x00000002u) {
            const std::string& _s = this_._internal_java_outer_classname();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.java_outer_classname");
            target = stream->WriteStringMaybeAliased(8, _s, target);
          }

          // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
          if (cached_has_bits & 0x00040000u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                9, this_._internal_optimize_for(), target);
          }

          // optional bool java_multiple_files = 10 [default = false];
          if (cached_has_bits & 0x00000800u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                10, this_._internal_java_multiple_files(), target);
          }

          // optional string go_package = 11;
          if (cached_has_bits & 0x00000004u) {
            const std::string& _s = this_._internal_go_package();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.go_package");
            target = stream->WriteStringMaybeAliased(11, _s, target);
          }

          // optional bool cc_generic_services = 16 [default = false];
          if (cached_has_bits & 0x00004000u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                16, this_._internal_cc_generic_services(), target);
          }

          // optional bool java_generic_services = 17 [default = false];
          if (cached_has_bits & 0x00008000u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                17, this_._internal_java_generic_services(), target);
          }

          // optional bool py_generic_services = 18 [default = false];
          if (cached_has_bits & 0x00010000u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                18, this_._internal_py_generic_services(), target);
          }

          // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
          if (cached_has_bits & 0x00001000u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                20, this_._internal_java_generate_equals_and_hash(), target);
          }

          // optional bool deprecated = 23 [default = false];
          if (cached_has_bits & 0x00020000u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                23, this_._internal_deprecated(), target);
          }

          // optional bool java_string_check_utf8 = 27 [default = false];
          if (cached_has_bits & 0x00002000u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                27, this_._internal_java_string_check_utf8(), target);
          }

          // optional bool cc_enable_arenas = 31 [default = true];
          if (cached_has_bits & 0x00080000u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                31, this_._internal_cc_enable_arenas(), target);
          }

          // optional string objc_class_prefix = 36;
          if (cached_has_bits & 0x00000008u) {
            const std::string& _s = this_._internal_objc_class_prefix();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.objc_class_prefix");
            target = stream->WriteStringMaybeAliased(36, _s, target);
          }

          // optional string csharp_namespace = 37;
          if (cached_has_bits & 0x00000010u) {
            const std::string& _s = this_._internal_csharp_namespace();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.csharp_namespace");
            target = stream->WriteStringMaybeAliased(37, _s, target);
          }

          // optional string swift_prefix = 39;
          if (cached_has_bits & 0x00000020u) {
            const std::string& _s = this_._internal_swift_prefix();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.swift_prefix");
            target = stream->WriteStringMaybeAliased(39, _s, target);
          }

          // optional string php_class_prefix = 40;
          if (cached_has_bits & 0x00000040u) {
            const std::string& _s = this_._internal_php_class_prefix();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.php_class_prefix");
            target = stream->WriteStringMaybeAliased(40, _s, target);
          }

          // optional string php_namespace = 41;
          if (cached_has_bits & 0x00000080u) {
            const std::string& _s = this_._internal_php_namespace();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.php_namespace");
            target = stream->WriteStringMaybeAliased(41, _s, target);
          }

          // optional string php_metadata_namespace = 44;
          if (cached_has_bits & 0x00000100u) {
            const std::string& _s = this_._internal_php_metadata_namespace();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.php_metadata_namespace");
            target = stream->WriteStringMaybeAliased(44, _s, target);
          }

          // optional string ruby_package = 45;
          if (cached_has_bits & 0x00000200u) {
            const std::string& _s = this_._internal_ruby_package();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FileOptions.ruby_package");
            target = stream->WriteStringMaybeAliased(45, _s, target);
          }

          // optional .google.protobuf.FeatureSet features = 50;
          if (cached_has_bits & 0x00000400u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                50, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_uninterpreted_option_size());
               i < n; i++) {
            const auto& repfield = this_._internal_uninterpreted_option().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    999, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [1000, 536870912)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 536870912, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileOptions)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FileOptions::ByteSizeLong(const MessageLite& base) {
          const FileOptions& this_ = static_cast<const FileOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FileOptions::ByteSizeLong() const {
          const FileOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FileOptions)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
            {
              total_size += 2UL * this_._internal_uninterpreted_option_size();
              for (const auto& msg : this_._internal_uninterpreted_option()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x000000ffu) {
            // optional string java_package = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_java_package());
            }
            // optional string java_outer_classname = 8;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_java_outer_classname());
            }
            // optional string go_package = 11;
            if (cached_has_bits & 0x00000004u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_go_package());
            }
            // optional string objc_class_prefix = 36;
            if (cached_has_bits & 0x00000008u) {
              total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_objc_class_prefix());
            }
            // optional string csharp_namespace = 37;
            if (cached_has_bits & 0x00000010u) {
              total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_csharp_namespace());
            }
            // optional string swift_prefix = 39;
            if (cached_has_bits & 0x00000020u) {
              total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_swift_prefix());
            }
            // optional string php_class_prefix = 40;
            if (cached_has_bits & 0x00000040u) {
              total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_php_class_prefix());
            }
            // optional string php_namespace = 41;
            if (cached_has_bits & 0x00000080u) {
              total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_php_namespace());
            }
          }
          if (cached_has_bits & 0x0000ff00u) {
            // optional string php_metadata_namespace = 44;
            if (cached_has_bits & 0x00000100u) {
              total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_php_metadata_namespace());
            }
            // optional string ruby_package = 45;
            if (cached_has_bits & 0x00000200u) {
              total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_ruby_package());
            }
            // optional .google.protobuf.FeatureSet features = 50;
            if (cached_has_bits & 0x00000400u) {
              total_size += 2 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
            }
            // optional bool java_multiple_files = 10 [default = false];
            if (cached_has_bits & 0x00000800u) {
              total_size += 2;
            }
            // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
            if (cached_has_bits & 0x00001000u) {
              total_size += 3;
            }
            // optional bool java_string_check_utf8 = 27 [default = false];
            if (cached_has_bits & 0x00002000u) {
              total_size += 3;
            }
            // optional bool cc_generic_services = 16 [default = false];
            if (cached_has_bits & 0x00004000u) {
              total_size += 3;
            }
            // optional bool java_generic_services = 17 [default = false];
            if (cached_has_bits & 0x00008000u) {
              total_size += 3;
            }
          }
          if (cached_has_bits & 0x000f0000u) {
            // optional bool py_generic_services = 18 [default = false];
            if (cached_has_bits & 0x00010000u) {
              total_size += 3;
            }
            // optional bool deprecated = 23 [default = false];
            if (cached_has_bits & 0x00020000u) {
              total_size += 3;
            }
            // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
            if (cached_has_bits & 0x00040000u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_optimize_for());
            }
            // optional bool cc_enable_arenas = 31 [default = true];
            if (cached_has_bits & 0x00080000u) {
              total_size += 3;
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FileOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FileOptions*>(&to_msg);
  auto& from = static_cast<const FileOptions&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FileOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_uninterpreted_option()->MergeFrom(
      from._internal_uninterpreted_option());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_java_package(from._internal_java_package());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_java_outer_classname(from._internal_java_outer_classname());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_set_go_package(from._internal_go_package());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_set_objc_class_prefix(from._internal_objc_class_prefix());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_set_csharp_namespace(from._internal_csharp_namespace());
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_internal_set_swift_prefix(from._internal_swift_prefix());
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_internal_set_php_class_prefix(from._internal_php_class_prefix());
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_internal_set_php_namespace(from._internal_php_namespace());
    }
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      _this->_internal_set_php_metadata_namespace(from._internal_php_metadata_namespace());
    }
    if (cached_has_bits & 0x00000200u) {
      _this->_internal_set_ruby_package(from._internal_ruby_package());
    }
    if (cached_has_bits & 0x00000400u) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (cached_has_bits & 0x00000800u) {
      _this->_impl_.java_multiple_files_ = from._impl_.java_multiple_files_;
    }
    if (cached_has_bits & 0x00001000u) {
      _this->_impl_.java_generate_equals_and_hash_ = from._impl_.java_generate_equals_and_hash_;
    }
    if (cached_has_bits & 0x00002000u) {
      _this->_impl_.java_string_check_utf8_ = from._impl_.java_string_check_utf8_;
    }
    if (cached_has_bits & 0x00004000u) {
      _this->_impl_.cc_generic_services_ = from._impl_.cc_generic_services_;
    }
    if (cached_has_bits & 0x00008000u) {
      _this->_impl_.java_generic_services_ = from._impl_.java_generic_services_;
    }
  }
  if (cached_has_bits & 0x000f0000u) {
    if (cached_has_bits & 0x00010000u) {
      _this->_impl_.py_generic_services_ = from._impl_.py_generic_services_;
    }
    if (cached_has_bits & 0x00020000u) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (cached_has_bits & 0x00040000u) {
      _this->_impl_.optimize_for_ = from._impl_.optimize_for_;
    }
    if (cached_has_bits & 0x00080000u) {
      _this->_impl_.cc_enable_arenas_ = from._impl_.cc_enable_arenas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FileOptions::CopyFrom(const FileOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FileOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FileOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FileOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000400u) != 0) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void FileOptions::InternalSwap(FileOptions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  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_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.java_package_, &other->_impl_.java_package_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.java_outer_classname_, &other->_impl_.java_outer_classname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.go_package_, &other->_impl_.go_package_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.objc_class_prefix_, &other->_impl_.objc_class_prefix_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.csharp_namespace_, &other->_impl_.csharp_namespace_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.swift_prefix_, &other->_impl_.swift_prefix_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.php_class_prefix_, &other->_impl_.php_class_prefix_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.php_namespace_, &other->_impl_.php_namespace_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.php_metadata_namespace_, &other->_impl_.php_metadata_namespace_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ruby_package_, &other->_impl_.ruby_package_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_enable_arenas_)
      + sizeof(FileOptions::_impl_.cc_enable_arenas_)
      - PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata FileOptions::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class MessageOptions::_Internal {
 public:
  using HasBits =
      decltype(std::declval<MessageOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._has_bits_);
};

MessageOptions::MessageOptions(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.MessageOptions)
}
inline PROTOBUF_NDEBUG_INLINE MessageOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::MessageOptions& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena, from.uninterpreted_option_} {}

MessageOptions::MessageOptions(
    ::google::protobuf::Arena* arena,
    const MessageOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MessageOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.features_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, message_set_wire_format_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, message_set_wire_format_),
           offsetof(Impl_, deprecated_legacy_json_field_conflicts_) -
               offsetof(Impl_, message_set_wire_format_) +
               sizeof(Impl_::deprecated_legacy_json_field_conflicts_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.MessageOptions)
}
inline PROTOBUF_NDEBUG_INLINE MessageOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena} {}

inline void MessageOptions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, deprecated_legacy_json_field_conflicts_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::deprecated_legacy_json_field_conflicts_));
}
MessageOptions::~MessageOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.MessageOptions)
  SharedDtor(*this);
}
inline void MessageOptions::SharedDtor(MessageLite& self) {
  MessageOptions& this_ = static_cast<MessageOptions&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

inline void* MessageOptions::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) MessageOptions(arena);
}
constexpr auto MessageOptions::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._extensions_) +
          decltype(MessageOptions::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.uninterpreted_option_) +
          decltype(MessageOptions::_impl_.uninterpreted_option_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(MessageOptions), alignof(MessageOptions), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&MessageOptions::PlacementNew_,
                                 sizeof(MessageOptions),
                                 alignof(MessageOptions));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull MessageOptions::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_MessageOptions_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        MessageOptions::IsInitializedImpl,
        &MessageOptions::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<MessageOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &MessageOptions::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<MessageOptions>(), &MessageOptions::ByteSizeLong,
            &MessageOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._cached_size_),
        false,
    },
    &MessageOptions::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* MessageOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 7, 2, 0, 7> MessageOptions::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._extensions_),
    999, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294964152,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::MessageOptions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool message_set_wire_format = 1 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MessageOptions, _impl_.message_set_wire_format_), 1>(),
     {8, 1, 0, PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.message_set_wire_format_)}},
    // optional bool no_standard_descriptor_accessor = 2 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MessageOptions, _impl_.no_standard_descriptor_accessor_), 2>(),
     {16, 2, 0, PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.no_standard_descriptor_accessor_)}},
    // optional bool deprecated = 3 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MessageOptions, _impl_.deprecated_), 3>(),
     {24, 3, 0, PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.deprecated_)}},
    // optional .google.protobuf.FeatureSet features = 12;
    {::_pbi::TcParser::FastMtS1,
     {98, 0, 0, PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.features_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool map_entry = 7;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MessageOptions, _impl_.map_entry_), 4>(),
     {56, 4, 0, PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.map_entry_)}},
  }}, {{
    999, 0, 1,
    65534, 6,
    65535, 65535
  }}, {{
    // optional bool message_set_wire_format = 1 [default = false];
    {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.message_set_wire_format_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool no_standard_descriptor_accessor = 2 [default = false];
    {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.no_standard_descriptor_accessor_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool deprecated = 3 [default = false];
    {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 3, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool map_entry = 7;
    {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.map_entry_), _Internal::kHasBitsOffset + 4, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
    {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.deprecated_legacy_json_field_conflicts_), _Internal::kHasBitsOffset + 5, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional .google.protobuf.FeatureSet features = 12;
    {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.uninterpreted_option_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void MessageOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.MessageOptions)
  ::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_._extensions_.Clear();
  _impl_.uninterpreted_option_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.features_ != nullptr);
    _impl_.features_->Clear();
  }
  if (cached_has_bits & 0x0000003eu) {
    ::memset(&_impl_.message_set_wire_format_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.deprecated_legacy_json_field_conflicts_) -
        reinterpret_cast<char*>(&_impl_.message_set_wire_format_)) + sizeof(_impl_.deprecated_legacy_json_field_conflicts_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional bool message_set_wire_format = 1 [default = false];
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                1, this_._internal_message_set_wire_format(), target);
          }

          // optional bool no_standard_descriptor_accessor = 2 [default = false];
          if (cached_has_bits & 0x00000004u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                2, this_._internal_no_standard_descriptor_accessor(), target);
          }

          // optional bool deprecated = 3 [default = false];
          if (cached_has_bits & 0x00000008u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                3, this_._internal_deprecated(), target);
          }

          // optional bool map_entry = 7;
          if (cached_has_bits & 0x00000010u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                7, this_._internal_map_entry(), target);
          }

          // optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
          if (cached_has_bits & 0x00000020u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                11, this_._internal_deprecated_legacy_json_field_conflicts(), target);
          }

          // optional .google.protobuf.FeatureSet features = 12;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                12, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_uninterpreted_option_size());
               i < n; i++) {
            const auto& repfield = this_._internal_uninterpreted_option().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    999, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [1000, 536870912)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 536870912, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MessageOptions)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t MessageOptions::ByteSizeLong(const MessageLite& base) {
          const MessageOptions& this_ = static_cast<const MessageOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t MessageOptions::ByteSizeLong() const {
          const MessageOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.MessageOptions)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
            {
              total_size += 2UL * this_._internal_uninterpreted_option_size();
              for (const auto& msg : this_._internal_uninterpreted_option()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x0000003fu) {
            // optional .google.protobuf.FeatureSet features = 12;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
            }
            // optional bool message_set_wire_format = 1 [default = false];
            if (cached_has_bits & 0x00000002u) {
              total_size += 2;
            }
            // optional bool no_standard_descriptor_accessor = 2 [default = false];
            if (cached_has_bits & 0x00000004u) {
              total_size += 2;
            }
            // optional bool deprecated = 3 [default = false];
            if (cached_has_bits & 0x00000008u) {
              total_size += 2;
            }
            // optional bool map_entry = 7;
            if (cached_has_bits & 0x00000010u) {
              total_size += 2;
            }
            // optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
            if (cached_has_bits & 0x00000020u) {
              total_size += 2;
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void MessageOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<MessageOptions*>(&to_msg);
  auto& from = static_cast<const MessageOptions&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.MessageOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_uninterpreted_option()->MergeFrom(
      from._internal_uninterpreted_option());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.message_set_wire_format_ = from._impl_.message_set_wire_format_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.no_standard_descriptor_accessor_ = from._impl_.no_standard_descriptor_accessor_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.map_entry_ = from._impl_.map_entry_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.deprecated_legacy_json_field_conflicts_ = from._impl_.deprecated_legacy_json_field_conflicts_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageOptions::CopyFrom(const MessageOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.MessageOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool MessageOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const MessageOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void MessageOptions::InternalSwap(MessageOptions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.deprecated_legacy_json_field_conflicts_)
      + sizeof(MessageOptions::_impl_.deprecated_legacy_json_field_conflicts_)
      - PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata MessageOptions::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class FieldOptions_EditionDefault::_Internal {
 public:
  using HasBits =
      decltype(std::declval<FieldOptions_EditionDefault>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_._has_bits_);
};

FieldOptions_EditionDefault::FieldOptions_EditionDefault(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FieldOptions.EditionDefault)
}
inline PROTOBUF_NDEBUG_INLINE FieldOptions_EditionDefault::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FieldOptions_EditionDefault& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        value_(arena, from.value_) {}

FieldOptions_EditionDefault::FieldOptions_EditionDefault(
    ::google::protobuf::Arena* arena,
    const FieldOptions_EditionDefault& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FieldOptions_EditionDefault* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.edition_ = from._impl_.edition_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions.EditionDefault)
}
inline PROTOBUF_NDEBUG_INLINE FieldOptions_EditionDefault::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        value_(arena) {}

inline void FieldOptions_EditionDefault::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.edition_ = {};
}
FieldOptions_EditionDefault::~FieldOptions_EditionDefault() {
  // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions.EditionDefault)
  SharedDtor(*this);
}
inline void FieldOptions_EditionDefault::SharedDtor(MessageLite& self) {
  FieldOptions_EditionDefault& this_ = static_cast<FieldOptions_EditionDefault&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.value_.Destroy();
  this_._impl_.~Impl_();
}

inline void* FieldOptions_EditionDefault::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FieldOptions_EditionDefault(arena);
}
constexpr auto FieldOptions_EditionDefault::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FieldOptions_EditionDefault),
                                            alignof(FieldOptions_EditionDefault));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FieldOptions_EditionDefault::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FieldOptions_EditionDefault_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        nullptr,  // IsInitialized
        &FieldOptions_EditionDefault::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FieldOptions_EditionDefault>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FieldOptions_EditionDefault::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FieldOptions_EditionDefault>(), &FieldOptions_EditionDefault::ByteSizeLong,
            &FieldOptions_EditionDefault::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_._cached_size_),
        false,
    },
    &FieldOptions_EditionDefault::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FieldOptions_EditionDefault::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<1, 2, 1, 57, 2> FieldOptions_EditionDefault::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_._has_bits_),
    0, // no _extensions_
    3, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967289,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions_EditionDefault>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional string value = 2;
    {::_pbi::TcParser::FastSS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_.value_)}},
    // optional .google.protobuf.Edition edition = 3;
    {::_pbi::TcParser::FastEvS1,
     {24, 1, 0, PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_.edition_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string value = 2;
    {PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_.value_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .google.protobuf.Edition edition = 3;
    {PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_.edition_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
  }}, {{
    {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
  }}, {{
    "\53\5\0\0\0\0\0\0"
    "google.protobuf.FieldOptions.EditionDefault"
    "value"
  }},
};

PROTOBUF_NOINLINE void FieldOptions_EditionDefault::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FieldOptions.EditionDefault)
  ::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 (cached_has_bits & 0x00000001u) {
    _impl_.value_.ClearNonDefaultToEmpty();
  }
  _impl_.edition_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* FieldOptions_EditionDefault::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const FieldOptions_EditionDefault& this_ = static_cast<const FieldOptions_EditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* FieldOptions_EditionDefault::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const FieldOptions_EditionDefault& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldOptions.EditionDefault)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string value = 2;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_value();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FieldOptions.EditionDefault.value");
            target = stream->WriteStringMaybeAliased(2, _s, target);
          }

          // optional .google.protobuf.Edition edition = 3;
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                3, this_._internal_edition(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions.EditionDefault)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FieldOptions_EditionDefault::ByteSizeLong(const MessageLite& base) {
          const FieldOptions_EditionDefault& this_ = static_cast<const FieldOptions_EditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FieldOptions_EditionDefault::ByteSizeLong() const {
          const FieldOptions_EditionDefault& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldOptions.EditionDefault)
          ::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 (cached_has_bits & 0x00000003u) {
            // optional string value = 2;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_value());
            }
            // optional .google.protobuf.Edition edition = 3;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_edition());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FieldOptions_EditionDefault::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FieldOptions_EditionDefault*>(&to_msg);
  auto& from = static_cast<const FieldOptions_EditionDefault&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldOptions.EditionDefault)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_value(from._internal_value());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.edition_ = from._impl_.edition_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FieldOptions_EditionDefault::CopyFrom(const FieldOptions_EditionDefault& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldOptions.EditionDefault)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void FieldOptions_EditionDefault::InternalSwap(FieldOptions_EditionDefault* PROTOBUF_RESTRICT 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);
  swap(_impl_.edition_, other->_impl_.edition_);
}

::google::protobuf::Metadata FieldOptions_EditionDefault::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class FieldOptions_FeatureSupport::_Internal {
 public:
  using HasBits =
      decltype(std::declval<FieldOptions_FeatureSupport>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._has_bits_);
};

FieldOptions_FeatureSupport::FieldOptions_FeatureSupport(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FieldOptions.FeatureSupport)
}
inline PROTOBUF_NDEBUG_INLINE FieldOptions_FeatureSupport::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FieldOptions_FeatureSupport& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        deprecation_warning_(arena, from.deprecation_warning_) {}

FieldOptions_FeatureSupport::FieldOptions_FeatureSupport(
    ::google::protobuf::Arena* arena,
    const FieldOptions_FeatureSupport& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FieldOptions_FeatureSupport* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, edition_introduced_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, edition_introduced_),
           offsetof(Impl_, edition_removed_) -
               offsetof(Impl_, edition_introduced_) +
               sizeof(Impl_::edition_removed_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions.FeatureSupport)
}
inline PROTOBUF_NDEBUG_INLINE FieldOptions_FeatureSupport::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        deprecation_warning_(arena) {}

inline void FieldOptions_FeatureSupport::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, edition_introduced_),
           0,
           offsetof(Impl_, edition_removed_) -
               offsetof(Impl_, edition_introduced_) +
               sizeof(Impl_::edition_removed_));
}
FieldOptions_FeatureSupport::~FieldOptions_FeatureSupport() {
  // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions.FeatureSupport)
  SharedDtor(*this);
}
inline void FieldOptions_FeatureSupport::SharedDtor(MessageLite& self) {
  FieldOptions_FeatureSupport& this_ = static_cast<FieldOptions_FeatureSupport&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.deprecation_warning_.Destroy();
  this_._impl_.~Impl_();
}

inline void* FieldOptions_FeatureSupport::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FieldOptions_FeatureSupport(arena);
}
constexpr auto FieldOptions_FeatureSupport::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FieldOptions_FeatureSupport),
                                            alignof(FieldOptions_FeatureSupport));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FieldOptions_FeatureSupport::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FieldOptions_FeatureSupport_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        nullptr,  // IsInitialized
        &FieldOptions_FeatureSupport::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FieldOptions_FeatureSupport>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FieldOptions_FeatureSupport::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FieldOptions_FeatureSupport>(), &FieldOptions_FeatureSupport::ByteSizeLong,
            &FieldOptions_FeatureSupport::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._cached_size_),
        false,
    },
    &FieldOptions_FeatureSupport::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FieldOptions_FeatureSupport::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<2, 4, 3, 71, 2> FieldOptions_FeatureSupport::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions_FeatureSupport>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional .google.protobuf.Edition edition_removed = 4;
    {::_pbi::TcParser::FastEvS1,
     {32, 3, 2, PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_removed_)}},
    // optional .google.protobuf.Edition edition_introduced = 1;
    {::_pbi::TcParser::FastEvS1,
     {8, 1, 0, PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_introduced_)}},
    // optional .google.protobuf.Edition edition_deprecated = 2;
    {::_pbi::TcParser::FastEvS1,
     {16, 2, 1, PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_deprecated_)}},
    // optional string deprecation_warning = 3;
    {::_pbi::TcParser::FastSS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.deprecation_warning_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .google.protobuf.Edition edition_introduced = 1;
    {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_introduced_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    // optional .google.protobuf.Edition edition_deprecated = 2;
    {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_deprecated_), _Internal::kHasBitsOffset + 2, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    // optional string deprecation_warning = 3;
    {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.deprecation_warning_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .google.protobuf.Edition edition_removed = 4;
    {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_removed_), _Internal::kHasBitsOffset + 3, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
  }}, {{
    {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
    {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
    {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
  }}, {{
    "\53\0\0\23\0\0\0\0"
    "google.protobuf.FieldOptions.FeatureSupport"
    "deprecation_warning"
  }},
};

PROTOBUF_NOINLINE void FieldOptions_FeatureSupport::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FieldOptions.FeatureSupport)
  ::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 (cached_has_bits & 0x00000001u) {
    _impl_.deprecation_warning_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x0000000eu) {
    ::memset(&_impl_.edition_introduced_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.edition_removed_) -
        reinterpret_cast<char*>(&_impl_.edition_introduced_)) + sizeof(_impl_.edition_removed_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* FieldOptions_FeatureSupport::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const FieldOptions_FeatureSupport& this_ = static_cast<const FieldOptions_FeatureSupport&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* FieldOptions_FeatureSupport::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const FieldOptions_FeatureSupport& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldOptions.FeatureSupport)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional .google.protobuf.Edition edition_introduced = 1;
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                1, this_._internal_edition_introduced(), target);
          }

          // optional .google.protobuf.Edition edition_deprecated = 2;
          if (cached_has_bits & 0x00000004u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                2, this_._internal_edition_deprecated(), target);
          }

          // optional string deprecation_warning = 3;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_deprecation_warning();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.FieldOptions.FeatureSupport.deprecation_warning");
            target = stream->WriteStringMaybeAliased(3, _s, target);
          }

          // optional .google.protobuf.Edition edition_removed = 4;
          if (cached_has_bits & 0x00000008u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                4, this_._internal_edition_removed(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions.FeatureSupport)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FieldOptions_FeatureSupport::ByteSizeLong(const MessageLite& base) {
          const FieldOptions_FeatureSupport& this_ = static_cast<const FieldOptions_FeatureSupport&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FieldOptions_FeatureSupport::ByteSizeLong() const {
          const FieldOptions_FeatureSupport& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldOptions.FeatureSupport)
          ::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 (cached_has_bits & 0x0000000fu) {
            // optional string deprecation_warning = 3;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_deprecation_warning());
            }
            // optional .google.protobuf.Edition edition_introduced = 1;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_edition_introduced());
            }
            // optional .google.protobuf.Edition edition_deprecated = 2;
            if (cached_has_bits & 0x00000004u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_edition_deprecated());
            }
            // optional .google.protobuf.Edition edition_removed = 4;
            if (cached_has_bits & 0x00000008u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_edition_removed());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FieldOptions_FeatureSupport::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FieldOptions_FeatureSupport*>(&to_msg);
  auto& from = static_cast<const FieldOptions_FeatureSupport&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldOptions.FeatureSupport)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_deprecation_warning(from._internal_deprecation_warning());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.edition_introduced_ = from._impl_.edition_introduced_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.edition_deprecated_ = from._impl_.edition_deprecated_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.edition_removed_ = from._impl_.edition_removed_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FieldOptions_FeatureSupport::CopyFrom(const FieldOptions_FeatureSupport& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldOptions.FeatureSupport)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void FieldOptions_FeatureSupport::InternalSwap(FieldOptions_FeatureSupport* PROTOBUF_RESTRICT 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_.deprecation_warning_, &other->_impl_.deprecation_warning_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_removed_)
      + sizeof(FieldOptions_FeatureSupport::_impl_.edition_removed_)
      - PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_introduced_)>(
          reinterpret_cast<char*>(&_impl_.edition_introduced_),
          reinterpret_cast<char*>(&other->_impl_.edition_introduced_));
}

::google::protobuf::Metadata FieldOptions_FeatureSupport::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class FieldOptions::_Internal {
 public:
  using HasBits =
      decltype(std::declval<FieldOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._has_bits_);
};

FieldOptions::FieldOptions(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FieldOptions)
}
inline PROTOBUF_NDEBUG_INLINE FieldOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FieldOptions& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0},
        targets_{visibility, arena, from.targets_},
        edition_defaults_{visibility, arena, from.edition_defaults_},
        uninterpreted_option_{visibility, arena, from.uninterpreted_option_} {}

FieldOptions::FieldOptions(
    ::google::protobuf::Arena* arena,
    const FieldOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FieldOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.features_)
                        : nullptr;
  _impl_.feature_support_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FieldOptions_FeatureSupport>(
                              arena, *from._impl_.feature_support_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, ctype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, ctype_),
           offsetof(Impl_, retention_) -
               offsetof(Impl_, ctype_) +
               sizeof(Impl_::retention_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions)
}
inline PROTOBUF_NDEBUG_INLINE FieldOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0},
        targets_{visibility, arena},
        edition_defaults_{visibility, arena},
        uninterpreted_option_{visibility, arena} {}

inline void FieldOptions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, retention_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::retention_));
}
FieldOptions::~FieldOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions)
  SharedDtor(*this);
}
inline void FieldOptions::SharedDtor(MessageLite& self) {
  FieldOptions& this_ = static_cast<FieldOptions&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  delete this_._impl_.feature_support_;
  this_._impl_.~Impl_();
}

inline void* FieldOptions::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FieldOptions(arena);
}
constexpr auto FieldOptions::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._extensions_) +
          decltype(FieldOptions::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.targets_) +
          decltype(FieldOptions::_impl_.targets_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.edition_defaults_) +
          decltype(FieldOptions::_impl_.edition_defaults_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.uninterpreted_option_) +
          decltype(FieldOptions::_impl_.uninterpreted_option_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(FieldOptions), alignof(FieldOptions), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&FieldOptions::PlacementNew_,
                                 sizeof(FieldOptions),
                                 alignof(FieldOptions));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FieldOptions::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FieldOptions_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        FieldOptions::IsInitializedImpl,
        &FieldOptions::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FieldOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FieldOptions::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FieldOptions>(), &FieldOptions::ByteSizeLong,
            &FieldOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._cached_size_),
        false,
    },
    &FieldOptions::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FieldOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<4, 14, 8, 0, 7> FieldOptions::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._extensions_),
    999, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4290919880,  // skipmap
    offsetof(decltype(_table_), field_entries),
    14,  // num_field_entries
    8,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional bool debug_redact = 16 [default = false];
    {::_pbi::TcParser::FastV8S2,
     {384, 9, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.debug_redact_)}},
    // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
    {::_pbi::TcParser::FastEr0S1,
     {8, 2, 2, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.ctype_)}},
    // optional bool packed = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.packed_), 4>(),
     {16, 4, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.packed_)}},
    // optional bool deprecated = 3 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.deprecated_), 7>(),
     {24, 7, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.deprecated_)}},
    // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
    {::_pbi::TcParser::FastMtR2,
     {418, 63, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.edition_defaults_)}},
    // optional bool lazy = 5 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.lazy_), 5>(),
     {40, 5, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.lazy_)}},
    // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
    {::_pbi::TcParser::FastEr0S1,
     {48, 3, 2, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.jstype_)}},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {::_pbi::TcParser::FastMtR2,
     {16058, 63, 3, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.uninterpreted_option_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool weak = 10 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.weak_), 8>(),
     {80, 8, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.weak_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool unverified_lazy = 15 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.unverified_lazy_), 6>(),
     {120, 6, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.unverified_lazy_)}},
  }}, {{
    999, 0, 1,
    65534, 13,
    65535, 65535
  }}, {{
    // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.ctype_), _Internal::kHasBitsOffset + 2, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional bool packed = 2;
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.packed_), _Internal::kHasBitsOffset + 4, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool deprecated = 3 [default = false];
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 7, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool lazy = 5 [default = false];
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.lazy_), _Internal::kHasBitsOffset + 5, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.jstype_), _Internal::kHasBitsOffset + 3, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional bool weak = 10 [default = false];
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.weak_), _Internal::kHasBitsOffset + 8, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool unverified_lazy = 15 [default = false];
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.unverified_lazy_), _Internal::kHasBitsOffset + 6, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool debug_redact = 16 [default = false];
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.debug_redact_), _Internal::kHasBitsOffset + 9, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.retention_), _Internal::kHasBitsOffset + 10, 6,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.targets_), -1, 7,
    (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
    // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.edition_defaults_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.FeatureSet features = 21;
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.feature_support_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.uninterpreted_option_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions_EditionDefault>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions_FeatureSupport>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()},
    {0, 3},
    {0, 3},
    {0, 3},
    {0, 10},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void FieldOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FieldOptions)
  ::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_._extensions_.Clear();
  _impl_.targets_.Clear();
  _impl_.edition_defaults_.Clear();
  _impl_.uninterpreted_option_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.features_ != nullptr);
      _impl_.features_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.feature_support_ != nullptr);
      _impl_.feature_support_->Clear();
    }
  }
  if (cached_has_bits & 0x000000fcu) {
    ::memset(&_impl_.ctype_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.deprecated_) -
        reinterpret_cast<char*>(&_impl_.ctype_)) + sizeof(_impl_.deprecated_));
  }
  if (cached_has_bits & 0x00000700u) {
    ::memset(&_impl_.weak_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.retention_) -
        reinterpret_cast<char*>(&_impl_.weak_)) + sizeof(_impl_.retention_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
          if (cached_has_bits & 0x00000004u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                1, this_._internal_ctype(), target);
          }

          // optional bool packed = 2;
          if (cached_has_bits & 0x00000010u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                2, this_._internal_packed(), target);
          }

          // optional bool deprecated = 3 [default = false];
          if (cached_has_bits & 0x00000080u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                3, this_._internal_deprecated(), target);
          }

          // optional bool lazy = 5 [default = false];
          if (cached_has_bits & 0x00000020u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                5, this_._internal_lazy(), target);
          }

          // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
          if (cached_has_bits & 0x00000008u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                6, this_._internal_jstype(), target);
          }

          // optional bool weak = 10 [default = false];
          if (cached_has_bits & 0x00000100u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                10, this_._internal_weak(), target);
          }

          // optional bool unverified_lazy = 15 [default = false];
          if (cached_has_bits & 0x00000040u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                15, this_._internal_unverified_lazy(), target);
          }

          // optional bool debug_redact = 16 [default = false];
          if (cached_has_bits & 0x00000200u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                16, this_._internal_debug_redact(), target);
          }

          // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
          if (cached_has_bits & 0x00000400u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                17, this_._internal_retention(), target);
          }

          // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
          for (int i = 0, n = this_._internal_targets_size(); i < n; ++i) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                19, static_cast<::google::protobuf::FieldOptions_OptionTargetType>(this_._internal_targets().Get(i)),
                target);
          }

          // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_edition_defaults_size());
               i < n; i++) {
            const auto& repfield = this_._internal_edition_defaults().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    20, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // optional .google.protobuf.FeatureSet features = 21;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                21, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
                stream);
          }

          // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                22, *this_._impl_.feature_support_, this_._impl_.feature_support_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_uninterpreted_option_size());
               i < n; i++) {
            const auto& repfield = this_._internal_uninterpreted_option().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    999, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [1000, 536870912)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 536870912, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FieldOptions::ByteSizeLong(const MessageLite& base) {
          const FieldOptions& this_ = static_cast<const FieldOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FieldOptions::ByteSizeLong() const {
          const FieldOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldOptions)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
            {
              std::size_t data_size =
                  ::_pbi::WireFormatLite::EnumSize(this_._internal_targets());
              std::size_t tag_size = std::size_t{2} *
                  ::_pbi::FromIntSize(this_._internal_targets_size());
              total_size += data_size + tag_size;
            }
            // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
            {
              total_size += 2UL * this_._internal_edition_defaults_size();
              for (const auto& msg : this_._internal_edition_defaults()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
            // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
            {
              total_size += 2UL * this_._internal_uninterpreted_option_size();
              for (const auto& msg : this_._internal_uninterpreted_option()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x000000ffu) {
            // optional .google.protobuf.FeatureSet features = 21;
            if (cached_has_bits & 0x00000001u) {
              total_size += 2 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
            }
            // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
            if (cached_has_bits & 0x00000002u) {
              total_size += 2 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_support_);
            }
            // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
            if (cached_has_bits & 0x00000004u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_ctype());
            }
            // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
            if (cached_has_bits & 0x00000008u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_jstype());
            }
            // optional bool packed = 2;
            if (cached_has_bits & 0x00000010u) {
              total_size += 2;
            }
            // optional bool lazy = 5 [default = false];
            if (cached_has_bits & 0x00000020u) {
              total_size += 2;
            }
            // optional bool unverified_lazy = 15 [default = false];
            if (cached_has_bits & 0x00000040u) {
              total_size += 2;
            }
            // optional bool deprecated = 3 [default = false];
            if (cached_has_bits & 0x00000080u) {
              total_size += 2;
            }
          }
          if (cached_has_bits & 0x00000700u) {
            // optional bool weak = 10 [default = false];
            if (cached_has_bits & 0x00000100u) {
              total_size += 2;
            }
            // optional bool debug_redact = 16 [default = false];
            if (cached_has_bits & 0x00000200u) {
              total_size += 3;
            }
            // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
            if (cached_has_bits & 0x00000400u) {
              total_size += 2 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_retention());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FieldOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FieldOptions*>(&to_msg);
  auto& from = static_cast<const FieldOptions&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_targets()->MergeFrom(from._internal_targets());
  _this->_internal_mutable_edition_defaults()->MergeFrom(
      from._internal_edition_defaults());
  _this->_internal_mutable_uninterpreted_option()->MergeFrom(
      from._internal_uninterpreted_option());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.feature_support_ != nullptr);
      if (_this->_impl_.feature_support_ == nullptr) {
        _this->_impl_.feature_support_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FieldOptions_FeatureSupport>(arena, *from._impl_.feature_support_);
      } else {
        _this->_impl_.feature_support_->MergeFrom(*from._impl_.feature_support_);
      }
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.ctype_ = from._impl_.ctype_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.jstype_ = from._impl_.jstype_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.packed_ = from._impl_.packed_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.lazy_ = from._impl_.lazy_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.unverified_lazy_ = from._impl_.unverified_lazy_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
  }
  if (cached_has_bits & 0x00000700u) {
    if (cached_has_bits & 0x00000100u) {
      _this->_impl_.weak_ = from._impl_.weak_;
    }
    if (cached_has_bits & 0x00000200u) {
      _this->_impl_.debug_redact_ = from._impl_.debug_redact_;
    }
    if (cached_has_bits & 0x00000400u) {
      _this->_impl_.retention_ = from._impl_.retention_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FieldOptions::CopyFrom(const FieldOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FieldOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FieldOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void FieldOptions::InternalSwap(FieldOptions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.targets_.InternalSwap(&other->_impl_.targets_);
  _impl_.edition_defaults_.InternalSwap(&other->_impl_.edition_defaults_);
  _impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.retention_)
      + sizeof(FieldOptions::_impl_.retention_)
      - PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata FieldOptions::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class OneofOptions::_Internal {
 public:
  using HasBits =
      decltype(std::declval<OneofOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._has_bits_);
};

OneofOptions::OneofOptions(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.OneofOptions)
}
inline PROTOBUF_NDEBUG_INLINE OneofOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::OneofOptions& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena, from.uninterpreted_option_} {}

OneofOptions::OneofOptions(
    ::google::protobuf::Arena* arena,
    const OneofOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  OneofOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.features_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.OneofOptions)
}
inline PROTOBUF_NDEBUG_INLINE OneofOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena} {}

inline void OneofOptions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.features_ = {};
}
OneofOptions::~OneofOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.OneofOptions)
  SharedDtor(*this);
}
inline void OneofOptions::SharedDtor(MessageLite& self) {
  OneofOptions& this_ = static_cast<OneofOptions&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

inline void* OneofOptions::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) OneofOptions(arena);
}
constexpr auto OneofOptions::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._extensions_) +
          decltype(OneofOptions::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_.uninterpreted_option_) +
          decltype(OneofOptions::_impl_.uninterpreted_option_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(OneofOptions), alignof(OneofOptions), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&OneofOptions::PlacementNew_,
                                 sizeof(OneofOptions),
                                 alignof(OneofOptions));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull OneofOptions::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_OneofOptions_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        OneofOptions::IsInitializedImpl,
        &OneofOptions::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<OneofOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &OneofOptions::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<OneofOptions>(), &OneofOptions::ByteSizeLong,
            &OneofOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._cached_size_),
        false,
    },
    &OneofOptions::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* OneofOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<2, 2, 2, 0, 7> OneofOptions::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._extensions_),
    999, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::OneofOptions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional .google.protobuf.FeatureSet features = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_.features_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {::_pbi::TcParser::FastMtR2,
     {16058, 63, 1, PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_.uninterpreted_option_)}},
  }}, {{
    999, 0, 1,
    65534, 1,
    65535, 65535
  }}, {{
    // optional .google.protobuf.FeatureSet features = 1;
    {PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_.uninterpreted_option_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void OneofOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.OneofOptions)
  ::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_._extensions_.Clear();
  _impl_.uninterpreted_option_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.features_ != nullptr);
    _impl_.features_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional .google.protobuf.FeatureSet features = 1;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                1, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_uninterpreted_option_size());
               i < n; i++) {
            const auto& repfield = this_._internal_uninterpreted_option().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    999, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [1000, 536870912)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 536870912, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.OneofOptions)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t OneofOptions::ByteSizeLong(const MessageLite& base) {
          const OneofOptions& this_ = static_cast<const OneofOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t OneofOptions::ByteSizeLong() const {
          const OneofOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.OneofOptions)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
            {
              total_size += 2UL * this_._internal_uninterpreted_option_size();
              for (const auto& msg : this_._internal_uninterpreted_option()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
           {
            // optional .google.protobuf.FeatureSet features = 1;
            cached_has_bits = this_._impl_._has_bits_[0];
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void OneofOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<OneofOptions*>(&to_msg);
  auto& from = static_cast<const OneofOptions&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.OneofOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_uninterpreted_option()->MergeFrom(
      from._internal_uninterpreted_option());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.features_ != nullptr);
    if (_this->_impl_.features_ == nullptr) {
      _this->_impl_.features_ =
          ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.features_);
    } else {
      _this->_impl_.features_->MergeFrom(*from._impl_.features_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void OneofOptions::CopyFrom(const OneofOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.OneofOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool OneofOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const OneofOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void OneofOptions::InternalSwap(OneofOptions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  swap(_impl_.features_, other->_impl_.features_);
}

::google::protobuf::Metadata OneofOptions::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class EnumOptions::_Internal {
 public:
  using HasBits =
      decltype(std::declval<EnumOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._has_bits_);
};

EnumOptions::EnumOptions(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumOptions)
}
inline PROTOBUF_NDEBUG_INLINE EnumOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::EnumOptions& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena, from.uninterpreted_option_} {}

EnumOptions::EnumOptions(
    ::google::protobuf::Arena* arena,
    const EnumOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EnumOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.features_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, allow_alias_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, allow_alias_),
           offsetof(Impl_, deprecated_legacy_json_field_conflicts_) -
               offsetof(Impl_, allow_alias_) +
               sizeof(Impl_::deprecated_legacy_json_field_conflicts_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumOptions)
}
inline PROTOBUF_NDEBUG_INLINE EnumOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena} {}

inline void EnumOptions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, deprecated_legacy_json_field_conflicts_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::deprecated_legacy_json_field_conflicts_));
}
EnumOptions::~EnumOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumOptions)
  SharedDtor(*this);
}
inline void EnumOptions::SharedDtor(MessageLite& self) {
  EnumOptions& this_ = static_cast<EnumOptions&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

inline void* EnumOptions::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) EnumOptions(arena);
}
constexpr auto EnumOptions::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._extensions_) +
          decltype(EnumOptions::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.uninterpreted_option_) +
          decltype(EnumOptions::_impl_.uninterpreted_option_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(EnumOptions), alignof(EnumOptions), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&EnumOptions::PlacementNew_,
                                 sizeof(EnumOptions),
                                 alignof(EnumOptions));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull EnumOptions::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_EnumOptions_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        EnumOptions::IsInitializedImpl,
        &EnumOptions::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<EnumOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &EnumOptions::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<EnumOptions>(), &EnumOptions::ByteSizeLong,
            &EnumOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._cached_size_),
        false,
    },
    &EnumOptions::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* EnumOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 5, 2, 0, 7> EnumOptions::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._extensions_),
    999, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967193,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::EnumOptions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool allow_alias = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumOptions, _impl_.allow_alias_), 1>(),
     {16, 1, 0, PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.allow_alias_)}},
    // optional bool deprecated = 3 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumOptions, _impl_.deprecated_), 2>(),
     {24, 2, 0, PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_), 3>(),
     {48, 3, 0, PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_)}},
    // optional .google.protobuf.FeatureSet features = 7;
    {::_pbi::TcParser::FastMtS1,
     {58, 0, 0, PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.features_)}},
  }}, {{
    999, 0, 1,
    65534, 4,
    65535, 65535
  }}, {{
    // optional bool allow_alias = 2;
    {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.allow_alias_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool deprecated = 3 [default = false];
    {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
    {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_), _Internal::kHasBitsOffset + 3, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional .google.protobuf.FeatureSet features = 7;
    {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.uninterpreted_option_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void EnumOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.EnumOptions)
  ::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_._extensions_.Clear();
  _impl_.uninterpreted_option_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.features_ != nullptr);
    _impl_.features_->Clear();
  }
  ::memset(&_impl_.allow_alias_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.deprecated_legacy_json_field_conflicts_) -
      reinterpret_cast<char*>(&_impl_.allow_alias_)) + sizeof(_impl_.deprecated_legacy_json_field_conflicts_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional bool allow_alias = 2;
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                2, this_._internal_allow_alias(), target);
          }

          // optional bool deprecated = 3 [default = false];
          if (cached_has_bits & 0x00000004u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                3, this_._internal_deprecated(), target);
          }

          // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
          if (cached_has_bits & 0x00000008u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                6, this_._internal_deprecated_legacy_json_field_conflicts(), target);
          }

          // optional .google.protobuf.FeatureSet features = 7;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                7, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_uninterpreted_option_size());
               i < n; i++) {
            const auto& repfield = this_._internal_uninterpreted_option().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    999, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [1000, 536870912)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 536870912, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumOptions)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t EnumOptions::ByteSizeLong(const MessageLite& base) {
          const EnumOptions& this_ = static_cast<const EnumOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t EnumOptions::ByteSizeLong() const {
          const EnumOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumOptions)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
            {
              total_size += 2UL * this_._internal_uninterpreted_option_size();
              for (const auto& msg : this_._internal_uninterpreted_option()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x0000000fu) {
            // optional .google.protobuf.FeatureSet features = 7;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
            }
            // optional bool allow_alias = 2;
            if (cached_has_bits & 0x00000002u) {
              total_size += 2;
            }
            // optional bool deprecated = 3 [default = false];
            if (cached_has_bits & 0x00000004u) {
              total_size += 2;
            }
            // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
            if (cached_has_bits & 0x00000008u) {
              total_size += 2;
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void EnumOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<EnumOptions*>(&to_msg);
  auto& from = static_cast<const EnumOptions&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_uninterpreted_option()->MergeFrom(
      from._internal_uninterpreted_option());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.allow_alias_ = from._impl_.allow_alias_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.deprecated_legacy_json_field_conflicts_ = from._impl_.deprecated_legacy_json_field_conflicts_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void EnumOptions::CopyFrom(const EnumOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool EnumOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const EnumOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void EnumOptions::InternalSwap(EnumOptions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_)
      + sizeof(EnumOptions::_impl_.deprecated_legacy_json_field_conflicts_)
      - PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata EnumOptions::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class EnumValueOptions::_Internal {
 public:
  using HasBits =
      decltype(std::declval<EnumValueOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._has_bits_);
};

EnumValueOptions::EnumValueOptions(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumValueOptions)
}
inline PROTOBUF_NDEBUG_INLINE EnumValueOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::EnumValueOptions& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena, from.uninterpreted_option_} {}

EnumValueOptions::EnumValueOptions(
    ::google::protobuf::Arena* arena,
    const EnumValueOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EnumValueOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.features_)
                        : nullptr;
  _impl_.feature_support_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FieldOptions_FeatureSupport>(
                              arena, *from._impl_.feature_support_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, deprecated_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, deprecated_),
           offsetof(Impl_, debug_redact_) -
               offsetof(Impl_, deprecated_) +
               sizeof(Impl_::debug_redact_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueOptions)
}
inline PROTOBUF_NDEBUG_INLINE EnumValueOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena} {}

inline void EnumValueOptions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, debug_redact_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::debug_redact_));
}
EnumValueOptions::~EnumValueOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumValueOptions)
  SharedDtor(*this);
}
inline void EnumValueOptions::SharedDtor(MessageLite& self) {
  EnumValueOptions& this_ = static_cast<EnumValueOptions&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  delete this_._impl_.feature_support_;
  this_._impl_.~Impl_();
}

inline void* EnumValueOptions::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) EnumValueOptions(arena);
}
constexpr auto EnumValueOptions::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._extensions_) +
          decltype(EnumValueOptions::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.uninterpreted_option_) +
          decltype(EnumValueOptions::_impl_.uninterpreted_option_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(EnumValueOptions), alignof(EnumValueOptions), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&EnumValueOptions::PlacementNew_,
                                 sizeof(EnumValueOptions),
                                 alignof(EnumValueOptions));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull EnumValueOptions::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_EnumValueOptions_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        EnumValueOptions::IsInitializedImpl,
        &EnumValueOptions::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<EnumValueOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &EnumValueOptions::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<EnumValueOptions>(), &EnumValueOptions::ByteSizeLong,
            &EnumValueOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._cached_size_),
        false,
    },
    &EnumValueOptions::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* EnumValueOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 5, 3, 0, 7> EnumValueOptions::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._extensions_),
    999, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::EnumValueOptions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool deprecated = 1 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumValueOptions, _impl_.deprecated_), 2>(),
     {8, 2, 0, PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.deprecated_)}},
    // optional .google.protobuf.FeatureSet features = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.features_)}},
    // optional bool debug_redact = 3 [default = false];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumValueOptions, _impl_.debug_redact_), 3>(),
     {24, 3, 0, PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.debug_redact_)}},
    // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.feature_support_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {::_pbi::TcParser::FastMtR2,
     {16058, 63, 2, PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.uninterpreted_option_)}},
  }}, {{
    999, 0, 1,
    65534, 4,
    65535, 65535
  }}, {{
    // optional bool deprecated = 1 [default = false];
    {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional .google.protobuf.FeatureSet features = 2;
    {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional bool debug_redact = 3 [default = false];
    {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.debug_redact_), _Internal::kHasBitsOffset + 3, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
    {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.feature_support_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.uninterpreted_option_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions_FeatureSupport>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void EnumValueOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.EnumValueOptions)
  ::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_._extensions_.Clear();
  _impl_.uninterpreted_option_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.features_ != nullptr);
      _impl_.features_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.feature_support_ != nullptr);
      _impl_.feature_support_->Clear();
    }
  }
  ::memset(&_impl_.deprecated_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.debug_redact_) -
      reinterpret_cast<char*>(&_impl_.deprecated_)) + sizeof(_impl_.debug_redact_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional bool deprecated = 1 [default = false];
          if (cached_has_bits & 0x00000004u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                1, this_._internal_deprecated(), target);
          }

          // optional .google.protobuf.FeatureSet features = 2;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                2, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
                stream);
          }

          // optional bool debug_redact = 3 [default = false];
          if (cached_has_bits & 0x00000008u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                3, this_._internal_debug_redact(), target);
          }

          // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                4, *this_._impl_.feature_support_, this_._impl_.feature_support_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_uninterpreted_option_size());
               i < n; i++) {
            const auto& repfield = this_._internal_uninterpreted_option().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    999, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [1000, 536870912)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 536870912, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueOptions)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t EnumValueOptions::ByteSizeLong(const MessageLite& base) {
          const EnumValueOptions& this_ = static_cast<const EnumValueOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t EnumValueOptions::ByteSizeLong() const {
          const EnumValueOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumValueOptions)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
            {
              total_size += 2UL * this_._internal_uninterpreted_option_size();
              for (const auto& msg : this_._internal_uninterpreted_option()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x0000000fu) {
            // optional .google.protobuf.FeatureSet features = 2;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
            }
            // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_support_);
            }
            // optional bool deprecated = 1 [default = false];
            if (cached_has_bits & 0x00000004u) {
              total_size += 2;
            }
            // optional bool debug_redact = 3 [default = false];
            if (cached_has_bits & 0x00000008u) {
              total_size += 2;
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void EnumValueOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<EnumValueOptions*>(&to_msg);
  auto& from = static_cast<const EnumValueOptions&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumValueOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_uninterpreted_option()->MergeFrom(
      from._internal_uninterpreted_option());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.feature_support_ != nullptr);
      if (_this->_impl_.feature_support_ == nullptr) {
        _this->_impl_.feature_support_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FieldOptions_FeatureSupport>(arena, *from._impl_.feature_support_);
      } else {
        _this->_impl_.feature_support_->MergeFrom(*from._impl_.feature_support_);
      }
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.debug_redact_ = from._impl_.debug_redact_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void EnumValueOptions::CopyFrom(const EnumValueOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumValueOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool EnumValueOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const EnumValueOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void EnumValueOptions::InternalSwap(EnumValueOptions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.debug_redact_)
      + sizeof(EnumValueOptions::_impl_.debug_redact_)
      - PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata EnumValueOptions::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class ServiceOptions::_Internal {
 public:
  using HasBits =
      decltype(std::declval<ServiceOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._has_bits_);
};

ServiceOptions::ServiceOptions(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.ServiceOptions)
}
inline PROTOBUF_NDEBUG_INLINE ServiceOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::ServiceOptions& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena, from.uninterpreted_option_} {}

ServiceOptions::ServiceOptions(
    ::google::protobuf::Arena* arena,
    const ServiceOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ServiceOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.features_)
                        : nullptr;
  _impl_.deprecated_ = from._impl_.deprecated_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceOptions)
}
inline PROTOBUF_NDEBUG_INLINE ServiceOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena} {}

inline void ServiceOptions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, deprecated_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::deprecated_));
}
ServiceOptions::~ServiceOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.ServiceOptions)
  SharedDtor(*this);
}
inline void ServiceOptions::SharedDtor(MessageLite& self) {
  ServiceOptions& this_ = static_cast<ServiceOptions&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

inline void* ServiceOptions::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) ServiceOptions(arena);
}
constexpr auto ServiceOptions::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._extensions_) +
          decltype(ServiceOptions::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.uninterpreted_option_) +
          decltype(ServiceOptions::_impl_.uninterpreted_option_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(ServiceOptions), alignof(ServiceOptions), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&ServiceOptions::PlacementNew_,
                                 sizeof(ServiceOptions),
                                 alignof(ServiceOptions));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull ServiceOptions::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_ServiceOptions_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        ServiceOptions::IsInitializedImpl,
        &ServiceOptions::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<ServiceOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &ServiceOptions::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<ServiceOptions>(), &ServiceOptions::ByteSizeLong,
            &ServiceOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._cached_size_),
        false,
    },
    &ServiceOptions::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* ServiceOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<2, 3, 2, 0, 12> ServiceOptions::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._extensions_),
    999, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967295,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::ServiceOptions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool deprecated = 33 [default = false];
    {::_pbi::TcParser::FastV8S2,
     {648, 1, 0, PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.deprecated_)}},
    // optional .google.protobuf.FeatureSet features = 34;
    {::_pbi::TcParser::FastMtS2,
     {658, 0, 0, PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.features_)}},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {::_pbi::TcParser::FastMtR2,
     {16058, 63, 1, PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.uninterpreted_option_)}},
  }}, {{
    33, 0, 1,
    65532, 0,999, 0, 1,
     65534, 2,
    65535, 65535
  }}, {{
    // optional bool deprecated = 33 [default = false];
    {PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional .google.protobuf.FeatureSet features = 34;
    {PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.uninterpreted_option_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void ServiceOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.ServiceOptions)
  ::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_._extensions_.Clear();
  _impl_.uninterpreted_option_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.features_ != nullptr);
    _impl_.features_->Clear();
  }
  _impl_.deprecated_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional bool deprecated = 33 [default = false];
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                33, this_._internal_deprecated(), target);
          }

          // optional .google.protobuf.FeatureSet features = 34;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                34, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_uninterpreted_option_size());
               i < n; i++) {
            const auto& repfield = this_._internal_uninterpreted_option().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    999, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [1000, 536870912)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 536870912, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceOptions)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t ServiceOptions::ByteSizeLong(const MessageLite& base) {
          const ServiceOptions& this_ = static_cast<const ServiceOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t ServiceOptions::ByteSizeLong() const {
          const ServiceOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ServiceOptions)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
            {
              total_size += 2UL * this_._internal_uninterpreted_option_size();
              for (const auto& msg : this_._internal_uninterpreted_option()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x00000003u) {
            // optional .google.protobuf.FeatureSet features = 34;
            if (cached_has_bits & 0x00000001u) {
              total_size += 2 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
            }
            // optional bool deprecated = 33 [default = false];
            if (cached_has_bits & 0x00000002u) {
              total_size += 3;
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void ServiceOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ServiceOptions*>(&to_msg);
  auto& from = static_cast<const ServiceOptions&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ServiceOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_uninterpreted_option()->MergeFrom(
      from._internal_uninterpreted_option());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ServiceOptions::CopyFrom(const ServiceOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ServiceOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ServiceOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const ServiceOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void ServiceOptions::InternalSwap(ServiceOptions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.deprecated_)
      + sizeof(ServiceOptions::_impl_.deprecated_)
      - PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata ServiceOptions::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class MethodOptions::_Internal {
 public:
  using HasBits =
      decltype(std::declval<MethodOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._has_bits_);
};

MethodOptions::MethodOptions(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.MethodOptions)
}
inline PROTOBUF_NDEBUG_INLINE MethodOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::MethodOptions& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena, from.uninterpreted_option_} {}

MethodOptions::MethodOptions(
    ::google::protobuf::Arena* arena,
    const MethodOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MethodOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.features_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, deprecated_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, deprecated_),
           offsetof(Impl_, idempotency_level_) -
               offsetof(Impl_, deprecated_) +
               sizeof(Impl_::idempotency_level_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodOptions)
}
inline PROTOBUF_NDEBUG_INLINE MethodOptions::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0},
        uninterpreted_option_{visibility, arena} {}

inline void MethodOptions::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, idempotency_level_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::idempotency_level_));
}
MethodOptions::~MethodOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.MethodOptions)
  SharedDtor(*this);
}
inline void MethodOptions::SharedDtor(MessageLite& self) {
  MethodOptions& this_ = static_cast<MethodOptions&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

inline void* MethodOptions::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) MethodOptions(arena);
}
constexpr auto MethodOptions::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._extensions_) +
          decltype(MethodOptions::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.uninterpreted_option_) +
          decltype(MethodOptions::_impl_.uninterpreted_option_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(MethodOptions), alignof(MethodOptions), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&MethodOptions::PlacementNew_,
                                 sizeof(MethodOptions),
                                 alignof(MethodOptions));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull MethodOptions::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_MethodOptions_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        MethodOptions::IsInitializedImpl,
        &MethodOptions::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<MethodOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &MethodOptions::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<MethodOptions>(), &MethodOptions::ByteSizeLong,
            &MethodOptions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._cached_size_),
        false,
    },
    &MethodOptions::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* MethodOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 4, 3, 0, 12> MethodOptions::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._extensions_),
    999, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967295,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::MethodOptions>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional bool deprecated = 33 [default = false];
    {::_pbi::TcParser::FastV8S2,
     {648, 1, 0, PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.deprecated_)}},
    // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
    {::_pbi::TcParser::FastEr0S2,
     {656, 2, 2, PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.idempotency_level_)}},
    // optional .google.protobuf.FeatureSet features = 35;
    {::_pbi::TcParser::FastMtS2,
     {666, 0, 0, PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.features_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {::_pbi::TcParser::FastMtR2,
     {16058, 63, 1, PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.uninterpreted_option_)}},
  }}, {{
    33, 0, 1,
    65528, 0,999, 0, 1,
     65534, 3,
    65535, 65535
  }}, {{
    // optional bool deprecated = 33 [default = false];
    {PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
    {PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.idempotency_level_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional .google.protobuf.FeatureSet features = 35;
    {PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    {PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.uninterpreted_option_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()},
    {0, 3},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void MethodOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.MethodOptions)
  ::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_._extensions_.Clear();
  _impl_.uninterpreted_option_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.features_ != nullptr);
    _impl_.features_->Clear();
  }
  if (cached_has_bits & 0x00000006u) {
    ::memset(&_impl_.deprecated_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.idempotency_level_) -
        reinterpret_cast<char*>(&_impl_.deprecated_)) + sizeof(_impl_.idempotency_level_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional bool deprecated = 33 [default = false];
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                33, this_._internal_deprecated(), target);
          }

          // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
          if (cached_has_bits & 0x00000004u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                34, this_._internal_idempotency_level(), target);
          }

          // optional .google.protobuf.FeatureSet features = 35;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                35, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
                stream);
          }

          // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_uninterpreted_option_size());
               i < n; i++) {
            const auto& repfield = this_._internal_uninterpreted_option().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    999, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [1000, 536870912)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 536870912, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodOptions)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t MethodOptions::ByteSizeLong(const MessageLite& base) {
          const MethodOptions& this_ = static_cast<const MethodOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t MethodOptions::ByteSizeLong() const {
          const MethodOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.MethodOptions)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
            {
              total_size += 2UL * this_._internal_uninterpreted_option_size();
              for (const auto& msg : this_._internal_uninterpreted_option()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x00000007u) {
            // optional .google.protobuf.FeatureSet features = 35;
            if (cached_has_bits & 0x00000001u) {
              total_size += 2 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
            }
            // optional bool deprecated = 33 [default = false];
            if (cached_has_bits & 0x00000002u) {
              total_size += 3;
            }
            // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
            if (cached_has_bits & 0x00000004u) {
              total_size += 2 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_idempotency_level());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void MethodOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<MethodOptions*>(&to_msg);
  auto& from = static_cast<const MethodOptions&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.MethodOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_uninterpreted_option()->MergeFrom(
      from._internal_uninterpreted_option());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.idempotency_level_ = from._impl_.idempotency_level_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MethodOptions::CopyFrom(const MethodOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.MethodOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool MethodOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const MethodOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void MethodOptions::InternalSwap(MethodOptions* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.idempotency_level_)
      + sizeof(MethodOptions::_impl_.idempotency_level_)
      - PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata MethodOptions::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class UninterpretedOption_NamePart::_Internal {
 public:
  using HasBits =
      decltype(std::declval<UninterpretedOption_NamePart>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_._has_bits_);
  static bool MissingRequiredFields(const HasBits& has_bits) {
    return ((has_bits[0] & 0x00000003) ^ 0x00000003) != 0;
  }
};

UninterpretedOption_NamePart::UninterpretedOption_NamePart(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.UninterpretedOption.NamePart)
}
inline PROTOBUF_NDEBUG_INLINE UninterpretedOption_NamePart::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::UninterpretedOption_NamePart& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_part_(arena, from.name_part_) {}

UninterpretedOption_NamePart::UninterpretedOption_NamePart(
    ::google::protobuf::Arena* arena,
    const UninterpretedOption_NamePart& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  UninterpretedOption_NamePart* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.is_extension_ = from._impl_.is_extension_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption.NamePart)
}
inline PROTOBUF_NDEBUG_INLINE UninterpretedOption_NamePart::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_part_(arena) {}

inline void UninterpretedOption_NamePart::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.is_extension_ = {};
}
UninterpretedOption_NamePart::~UninterpretedOption_NamePart() {
  // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption.NamePart)
  SharedDtor(*this);
}
inline void UninterpretedOption_NamePart::SharedDtor(MessageLite& self) {
  UninterpretedOption_NamePart& this_ = static_cast<UninterpretedOption_NamePart&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_part_.Destroy();
  this_._impl_.~Impl_();
}

inline void* UninterpretedOption_NamePart::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) UninterpretedOption_NamePart(arena);
}
constexpr auto UninterpretedOption_NamePart::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(UninterpretedOption_NamePart),
                                            alignof(UninterpretedOption_NamePart));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull UninterpretedOption_NamePart::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_UninterpretedOption_NamePart_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        UninterpretedOption_NamePart::IsInitializedImpl,
        &UninterpretedOption_NamePart::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<UninterpretedOption_NamePart>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &UninterpretedOption_NamePart::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<UninterpretedOption_NamePart>(), &UninterpretedOption_NamePart::ByteSizeLong,
            &UninterpretedOption_NamePart::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_._cached_size_),
        false,
    },
    &UninterpretedOption_NamePart::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* UninterpretedOption_NamePart::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<1, 2, 0, 62, 2> UninterpretedOption_NamePart::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption_NamePart>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // required bool is_extension = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(UninterpretedOption_NamePart, _impl_.is_extension_), 1>(),
     {16, 1, 0, PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_.is_extension_)}},
    // required string name_part = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_.name_part_)}},
  }}, {{
    65535, 65535
  }}, {{
    // required string name_part = 1;
    {PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_.name_part_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // required bool is_extension = 2;
    {PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_.is_extension_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
    "\54\11\0\0\0\0\0\0"
    "google.protobuf.UninterpretedOption.NamePart"
    "name_part"
  }},
};

PROTOBUF_NOINLINE void UninterpretedOption_NamePart::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.UninterpretedOption.NamePart)
  ::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 (cached_has_bits & 0x00000001u) {
    _impl_.name_part_.ClearNonDefaultToEmpty();
  }
  _impl_.is_extension_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* UninterpretedOption_NamePart::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const UninterpretedOption_NamePart& this_ = static_cast<const UninterpretedOption_NamePart&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* UninterpretedOption_NamePart::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const UninterpretedOption_NamePart& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.UninterpretedOption.NamePart)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          cached_has_bits = this_._impl_._has_bits_[0];
          // required string name_part = 1;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_name_part();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.UninterpretedOption.NamePart.name_part");
            target = stream->WriteStringMaybeAliased(1, _s, target);
          }

          // required bool is_extension = 2;
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteBoolToArray(
                2, this_._internal_is_extension(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption.NamePart)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t UninterpretedOption_NamePart::ByteSizeLong(const MessageLite& base) {
          const UninterpretedOption_NamePart& this_ = static_cast<const UninterpretedOption_NamePart&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t UninterpretedOption_NamePart::ByteSizeLong() const {
          const UninterpretedOption_NamePart& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.UninterpretedOption.NamePart)
          ::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 (cached_has_bits & 0x00000003u) {
            // required string name_part = 1;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_name_part());
            }
            // required bool is_extension = 2;
            if (cached_has_bits & 0x00000002u) {
              total_size += 2;
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void UninterpretedOption_NamePart::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<UninterpretedOption_NamePart*>(&to_msg);
  auto& from = static_cast<const UninterpretedOption_NamePart&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.UninterpretedOption.NamePart)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name_part(from._internal_name_part());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.is_extension_ = from._impl_.is_extension_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UninterpretedOption_NamePart::CopyFrom(const UninterpretedOption_NamePart& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.UninterpretedOption.NamePart)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool UninterpretedOption_NamePart::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const UninterpretedOption_NamePart&>(msg);
  if (_Internal::MissingRequiredFields(this_._impl_._has_bits_)) {
    return false;
  }
  return true;
}

void UninterpretedOption_NamePart::InternalSwap(UninterpretedOption_NamePart* PROTOBUF_RESTRICT 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_.name_part_, &other->_impl_.name_part_, arena);
        swap(_impl_.is_extension_, other->_impl_.is_extension_);
}

::google::protobuf::Metadata UninterpretedOption_NamePart::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class UninterpretedOption::_Internal {
 public:
  using HasBits =
      decltype(std::declval<UninterpretedOption>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_._has_bits_);
};

UninterpretedOption::UninterpretedOption(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.UninterpretedOption)
}
inline PROTOBUF_NDEBUG_INLINE UninterpretedOption::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::UninterpretedOption& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_{visibility, arena, from.name_},
        identifier_value_(arena, from.identifier_value_),
        string_value_(arena, from.string_value_),
        aggregate_value_(arena, from.aggregate_value_) {}

UninterpretedOption::UninterpretedOption(
    ::google::protobuf::Arena* arena,
    const UninterpretedOption& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  UninterpretedOption* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, positive_int_value_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, positive_int_value_),
           offsetof(Impl_, double_value_) -
               offsetof(Impl_, positive_int_value_) +
               sizeof(Impl_::double_value_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption)
}
inline PROTOBUF_NDEBUG_INLINE UninterpretedOption::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_{visibility, arena},
        identifier_value_(arena),
        string_value_(arena),
        aggregate_value_(arena) {}

inline void UninterpretedOption::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, positive_int_value_),
           0,
           offsetof(Impl_, double_value_) -
               offsetof(Impl_, positive_int_value_) +
               sizeof(Impl_::double_value_));
}
UninterpretedOption::~UninterpretedOption() {
  // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption)
  SharedDtor(*this);
}
inline void UninterpretedOption::SharedDtor(MessageLite& self) {
  UninterpretedOption& this_ = static_cast<UninterpretedOption&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.identifier_value_.Destroy();
  this_._impl_.string_value_.Destroy();
  this_._impl_.aggregate_value_.Destroy();
  this_._impl_.~Impl_();
}

inline void* UninterpretedOption::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) UninterpretedOption(arena);
}
constexpr auto UninterpretedOption::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.name_) +
          decltype(UninterpretedOption::_impl_.name_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(UninterpretedOption), alignof(UninterpretedOption), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&UninterpretedOption::PlacementNew_,
                                 sizeof(UninterpretedOption),
                                 alignof(UninterpretedOption));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull UninterpretedOption::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_UninterpretedOption_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        UninterpretedOption::IsInitializedImpl,
        &UninterpretedOption::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<UninterpretedOption>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &UninterpretedOption::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<UninterpretedOption>(), &UninterpretedOption::ByteSizeLong,
            &UninterpretedOption::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_._cached_size_),
        false,
    },
    &UninterpretedOption::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* UninterpretedOption::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 7, 1, 75, 2> UninterpretedOption::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967041,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional string aggregate_value = 8;
    {::_pbi::TcParser::FastSS1,
     {66, 2, 0, PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.aggregate_value_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.name_)}},
    // optional string identifier_value = 3;
    {::_pbi::TcParser::FastSS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.identifier_value_)}},
    // optional uint64 positive_int_value = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(UninterpretedOption, _impl_.positive_int_value_), 3>(),
     {32, 3, 0, PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.positive_int_value_)}},
    // optional int64 negative_int_value = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(UninterpretedOption, _impl_.negative_int_value_), 4>(),
     {40, 4, 0, PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.negative_int_value_)}},
    // optional double double_value = 6;
    {::_pbi::TcParser::FastF64S1,
     {49, 5, 0, PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.double_value_)}},
    // optional bytes string_value = 7;
    {::_pbi::TcParser::FastBS1,
     {58, 1, 0, PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.string_value_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
    {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional string identifier_value = 3;
    {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.identifier_value_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional uint64 positive_int_value = 4;
    {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.positive_int_value_), _Internal::kHasBitsOffset + 3, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional int64 negative_int_value = 5;
    {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.negative_int_value_), _Internal::kHasBitsOffset + 4, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    // optional double double_value = 6;
    {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.double_value_), _Internal::kHasBitsOffset + 5, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
    // optional bytes string_value = 7;
    {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.string_value_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // optional string aggregate_value = 8;
    {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.aggregate_value_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption_NamePart>()},
  }}, {{
    "\43\0\20\0\0\0\0\17"
    "google.protobuf.UninterpretedOption"
    "identifier_value"
    "aggregate_value"
  }},
};

PROTOBUF_NOINLINE void UninterpretedOption::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.UninterpretedOption)
  ::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_.name_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.identifier_value_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.string_value_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      _impl_.aggregate_value_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x00000038u) {
    ::memset(&_impl_.positive_int_value_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.double_value_) -
        reinterpret_cast<char*>(&_impl_.positive_int_value_)) + sizeof(_impl_.double_value_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_name_size());
               i < n; i++) {
            const auto& repfield = this_._internal_name().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    2, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string identifier_value = 3;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_identifier_value();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.UninterpretedOption.identifier_value");
            target = stream->WriteStringMaybeAliased(3, _s, target);
          }

          // optional uint64 positive_int_value = 4;
          if (cached_has_bits & 0x00000008u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
                4, this_._internal_positive_int_value(), target);
          }

          // optional int64 negative_int_value = 5;
          if (cached_has_bits & 0x00000010u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt64ToArrayWithField<5>(
                    stream, this_._internal_negative_int_value(), target);
          }

          // optional double double_value = 6;
          if (cached_has_bits & 0x00000020u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteDoubleToArray(
                6, this_._internal_double_value(), target);
          }

          // optional bytes string_value = 7;
          if (cached_has_bits & 0x00000002u) {
            const std::string& _s = this_._internal_string_value();
            target = stream->WriteBytesMaybeAliased(7, _s, target);
          }

          // optional string aggregate_value = 8;
          if (cached_has_bits & 0x00000004u) {
            const std::string& _s = this_._internal_aggregate_value();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.UninterpretedOption.aggregate_value");
            target = stream->WriteStringMaybeAliased(8, _s, target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t UninterpretedOption::ByteSizeLong(const MessageLite& base) {
          const UninterpretedOption& this_ = static_cast<const UninterpretedOption&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t UninterpretedOption::ByteSizeLong() const {
          const UninterpretedOption& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.UninterpretedOption)
          ::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 .google.protobuf.UninterpretedOption.NamePart name = 2;
            {
              total_size += 1UL * this_._internal_name_size();
              for (const auto& msg : this_._internal_name()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x0000003fu) {
            // optional string identifier_value = 3;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_identifier_value());
            }
            // optional bytes string_value = 7;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                              this_._internal_string_value());
            }
            // optional string aggregate_value = 8;
            if (cached_has_bits & 0x00000004u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_aggregate_value());
            }
            // optional uint64 positive_int_value = 4;
            if (cached_has_bits & 0x00000008u) {
              total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
                  this_._internal_positive_int_value());
            }
            // optional int64 negative_int_value = 5;
            if (cached_has_bits & 0x00000010u) {
              total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
                  this_._internal_negative_int_value());
            }
            // optional double double_value = 6;
            if (cached_has_bits & 0x00000020u) {
              total_size += 9;
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void UninterpretedOption::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<UninterpretedOption*>(&to_msg);
  auto& from = static_cast<const UninterpretedOption&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.UninterpretedOption)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_name()->MergeFrom(
      from._internal_name());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_identifier_value(from._internal_identifier_value());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_string_value(from._internal_string_value());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_set_aggregate_value(from._internal_aggregate_value());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.positive_int_value_ = from._impl_.positive_int_value_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.negative_int_value_ = from._impl_.negative_int_value_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.double_value_ = from._impl_.double_value_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UninterpretedOption::CopyFrom(const UninterpretedOption& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.UninterpretedOption)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool UninterpretedOption::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const UninterpretedOption&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_name()))
    return false;
  return true;
}

void UninterpretedOption::InternalSwap(UninterpretedOption* PROTOBUF_RESTRICT 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_.name_.InternalSwap(&other->_impl_.name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.identifier_value_, &other->_impl_.identifier_value_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.string_value_, &other->_impl_.string_value_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.aggregate_value_, &other->_impl_.aggregate_value_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.double_value_)
      + sizeof(UninterpretedOption::_impl_.double_value_)
      - PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.positive_int_value_)>(
          reinterpret_cast<char*>(&_impl_.positive_int_value_),
          reinterpret_cast<char*>(&other->_impl_.positive_int_value_));
}

::google::protobuf::Metadata UninterpretedOption::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class FeatureSet::_Internal {
 public:
  using HasBits =
      decltype(std::declval<FeatureSet>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._has_bits_);
};

FeatureSet::FeatureSet(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FeatureSet)
}
inline PROTOBUF_NDEBUG_INLINE FeatureSet::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FeatureSet& from_msg)
      : _extensions_{visibility, arena},
        _has_bits_{from._has_bits_},
        _cached_size_{0} {}

FeatureSet::FeatureSet(
    ::google::protobuf::Arena* arena,
    const FeatureSet& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FeatureSet* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, field_presence_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, field_presence_),
           offsetof(Impl_, json_format_) -
               offsetof(Impl_, field_presence_) +
               sizeof(Impl_::json_format_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FeatureSet)
}
inline PROTOBUF_NDEBUG_INLINE FeatureSet::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        _cached_size_{0} {}

inline void FeatureSet::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, field_presence_),
           0,
           offsetof(Impl_, json_format_) -
               offsetof(Impl_, field_presence_) +
               sizeof(Impl_::json_format_));
}
FeatureSet::~FeatureSet() {
  // @@protoc_insertion_point(destructor:google.protobuf.FeatureSet)
  SharedDtor(*this);
}
inline void FeatureSet::SharedDtor(MessageLite& self) {
  FeatureSet& this_ = static_cast<FeatureSet&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

inline void* FeatureSet::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FeatureSet(arena);
}
constexpr auto FeatureSet::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._extensions_) +
          decltype(FeatureSet::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(FeatureSet), alignof(FeatureSet), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&FeatureSet::PlacementNew_,
                                 sizeof(FeatureSet),
                                 alignof(FeatureSet));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FeatureSet::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FeatureSet_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        FeatureSet::IsInitializedImpl,
        &FeatureSet::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FeatureSet>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FeatureSet::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FeatureSet>(), &FeatureSet::ByteSizeLong,
            &FeatureSet::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._cached_size_),
        false,
    },
    &FeatureSet::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FeatureSet::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 6, 6, 0, 2> FeatureSet::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._extensions_),
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    {::_pbi::TcParser::FastEr0S1,
     {8, 0, 3, PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.field_presence_)}},
    // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
    {::_pbi::TcParser::FastEr0S1,
     {16, 1, 2, PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.enum_type_)}},
    // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    {::_pbi::TcParser::FastEr0S1,
     {24, 2, 2, PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.repeated_field_encoding_)}},
    // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    {::_pbi::TcParser::FastEvS1,
     {32, 3, 3, PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.utf8_validation_)}},
    // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    {::_pbi::TcParser::FastEr0S1,
     {40, 4, 2, PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.message_encoding_)}},
    // optional .google.protobuf.FeatureSet.JsonFormat json_format = 6 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
    {::_pbi::TcParser::FastEr0S1,
     {48, 5, 2, PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.json_format_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.field_presence_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
    {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.enum_type_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.repeated_field_encoding_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.utf8_validation_), _Internal::kHasBitsOffset + 3, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.message_encoding_), _Internal::kHasBitsOffset + 4, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional .google.protobuf.FeatureSet.JsonFormat json_format = 6 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
    {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.json_format_), _Internal::kHasBitsOffset + 5, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
  }}, {{
    {0, 4},
    {0, 3},
    {0, 3},
    {::_pbi::FieldAuxEnumData{}, ::google::protobuf::FeatureSet_Utf8Validation_internal_data_},
    {0, 3},
    {0, 3},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void FeatureSet::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FeatureSet)
  ::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_._extensions_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    ::memset(&_impl_.field_presence_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.json_format_) -
        reinterpret_cast<char*>(&_impl_.field_presence_)) + sizeof(_impl_.json_format_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
          if (cached_has_bits & 0x00000001u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                1, this_._internal_field_presence(), target);
          }

          // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                2, this_._internal_enum_type(), target);
          }

          // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
          if (cached_has_bits & 0x00000004u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                3, this_._internal_repeated_field_encoding(), target);
          }

          // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
          if (cached_has_bits & 0x00000008u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                4, this_._internal_utf8_validation(), target);
          }

          // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
          if (cached_has_bits & 0x00000010u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                5, this_._internal_message_encoding(), target);
          }

          // optional .google.protobuf.FeatureSet.JsonFormat json_format = 6 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
          if (cached_has_bits & 0x00000020u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                6, this_._internal_json_format(), target);
          }

          // Extension range [1000, 10001)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 1000, 10001, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FeatureSet)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FeatureSet::ByteSizeLong(const MessageLite& base) {
          const FeatureSet& this_ = static_cast<const FeatureSet&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FeatureSet::ByteSizeLong() const {
          const FeatureSet& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FeatureSet)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

          ::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 (cached_has_bits & 0x0000003fu) {
            // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_field_presence());
            }
            // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_enum_type());
            }
            // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
            if (cached_has_bits & 0x00000004u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_repeated_field_encoding());
            }
            // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
            if (cached_has_bits & 0x00000008u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_utf8_validation());
            }
            // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
            if (cached_has_bits & 0x00000010u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_message_encoding());
            }
            // optional .google.protobuf.FeatureSet.JsonFormat json_format = 6 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
            if (cached_has_bits & 0x00000020u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_json_format());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FeatureSet::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FeatureSet*>(&to_msg);
  auto& from = static_cast<const FeatureSet&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FeatureSet)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.field_presence_ = from._impl_.field_presence_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.enum_type_ = from._impl_.enum_type_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.repeated_field_encoding_ = from._impl_.repeated_field_encoding_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.utf8_validation_ = from._impl_.utf8_validation_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.message_encoding_ = from._impl_.message_encoding_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.json_format_ = from._impl_.json_format_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FeatureSet::CopyFrom(const FeatureSet& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FeatureSet)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FeatureSet::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FeatureSet&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  return true;
}

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

::google::protobuf::Metadata FeatureSet::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class FeatureSetDefaults_FeatureSetEditionDefault::_Internal {
 public:
  using HasBits =
      decltype(std::declval<FeatureSetDefaults_FeatureSetEditionDefault>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_._has_bits_);
};

FeatureSetDefaults_FeatureSetEditionDefault::FeatureSetDefaults_FeatureSetEditionDefault(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
}
inline PROTOBUF_NDEBUG_INLINE FeatureSetDefaults_FeatureSetEditionDefault::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

FeatureSetDefaults_FeatureSetEditionDefault::FeatureSetDefaults_FeatureSetEditionDefault(
    ::google::protobuf::Arena* arena,
    const FeatureSetDefaults_FeatureSetEditionDefault& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FeatureSetDefaults_FeatureSetEditionDefault* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.overridable_features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.overridable_features_)
                        : nullptr;
  _impl_.fixed_features_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
                              arena, *from._impl_.fixed_features_)
                        : nullptr;
  _impl_.edition_ = from._impl_.edition_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
}
inline PROTOBUF_NDEBUG_INLINE FeatureSetDefaults_FeatureSetEditionDefault::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void FeatureSetDefaults_FeatureSetEditionDefault::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, overridable_features_),
           0,
           offsetof(Impl_, edition_) -
               offsetof(Impl_, overridable_features_) +
               sizeof(Impl_::edition_));
}
FeatureSetDefaults_FeatureSetEditionDefault::~FeatureSetDefaults_FeatureSetEditionDefault() {
  // @@protoc_insertion_point(destructor:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  SharedDtor(*this);
}
inline void FeatureSetDefaults_FeatureSetEditionDefault::SharedDtor(MessageLite& self) {
  FeatureSetDefaults_FeatureSetEditionDefault& this_ = static_cast<FeatureSetDefaults_FeatureSetEditionDefault&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.overridable_features_;
  delete this_._impl_.fixed_features_;
  this_._impl_.~Impl_();
}

inline void* FeatureSetDefaults_FeatureSetEditionDefault::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FeatureSetDefaults_FeatureSetEditionDefault(arena);
}
constexpr auto FeatureSetDefaults_FeatureSetEditionDefault::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(FeatureSetDefaults_FeatureSetEditionDefault),
                                            alignof(FeatureSetDefaults_FeatureSetEditionDefault));
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FeatureSetDefaults_FeatureSetEditionDefault::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FeatureSetDefaults_FeatureSetEditionDefault_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        FeatureSetDefaults_FeatureSetEditionDefault::IsInitializedImpl,
        &FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FeatureSetDefaults_FeatureSetEditionDefault>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FeatureSetDefaults_FeatureSetEditionDefault::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FeatureSetDefaults_FeatureSetEditionDefault>(), &FeatureSetDefaults_FeatureSetEditionDefault::ByteSizeLong,
            &FeatureSetDefaults_FeatureSetEditionDefault::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_._cached_size_),
        false,
    },
    &FeatureSetDefaults_FeatureSetEditionDefault::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FeatureSetDefaults_FeatureSetEditionDefault::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<2, 3, 3, 0, 2> FeatureSetDefaults_FeatureSetEditionDefault::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_._has_bits_),
    0, // no _extensions_
    5, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967267,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional .google.protobuf.FeatureSet overridable_features = 4;
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_)}},
    // optional .google.protobuf.FeatureSet fixed_features = 5;
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 1, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.fixed_features_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional .google.protobuf.Edition edition = 3;
    {::_pbi::TcParser::FastEvS1,
     {24, 2, 2, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .google.protobuf.Edition edition = 3;
    {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    // optional .google.protobuf.FeatureSet overridable_features = 4;
    {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.FeatureSet fixed_features = 5;
    {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.fixed_features_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()},
    {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void FeatureSetDefaults_FeatureSetEditionDefault::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  ::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 (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.overridable_features_ != nullptr);
      _impl_.overridable_features_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.fixed_features_ != nullptr);
      _impl_.fixed_features_->Clear();
    }
  }
  _impl_.edition_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* FeatureSetDefaults_FeatureSetEditionDefault::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const FeatureSetDefaults_FeatureSetEditionDefault& this_ = static_cast<const FeatureSetDefaults_FeatureSetEditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* FeatureSetDefaults_FeatureSetEditionDefault::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const FeatureSetDefaults_FeatureSetEditionDefault& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional .google.protobuf.Edition edition = 3;
          if (cached_has_bits & 0x00000004u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                3, this_._internal_edition(), target);
          }

          // optional .google.protobuf.FeatureSet overridable_features = 4;
          if (cached_has_bits & 0x00000001u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                4, *this_._impl_.overridable_features_, this_._impl_.overridable_features_->GetCachedSize(), target,
                stream);
          }

          // optional .google.protobuf.FeatureSet fixed_features = 5;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                5, *this_._impl_.fixed_features_, this_._impl_.fixed_features_->GetCachedSize(), target,
                stream);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FeatureSetDefaults_FeatureSetEditionDefault::ByteSizeLong(const MessageLite& base) {
          const FeatureSetDefaults_FeatureSetEditionDefault& this_ = static_cast<const FeatureSetDefaults_FeatureSetEditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FeatureSetDefaults_FeatureSetEditionDefault::ByteSizeLong() const {
          const FeatureSetDefaults_FeatureSetEditionDefault& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
          ::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 (cached_has_bits & 0x00000007u) {
            // optional .google.protobuf.FeatureSet overridable_features = 4;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.overridable_features_);
            }
            // optional .google.protobuf.FeatureSet fixed_features = 5;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.fixed_features_);
            }
            // optional .google.protobuf.Edition edition = 3;
            if (cached_has_bits & 0x00000004u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_edition());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FeatureSetDefaults_FeatureSetEditionDefault*>(&to_msg);
  auto& from = static_cast<const FeatureSetDefaults_FeatureSetEditionDefault&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.overridable_features_ != nullptr);
      if (_this->_impl_.overridable_features_ == nullptr) {
        _this->_impl_.overridable_features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.overridable_features_);
      } else {
        _this->_impl_.overridable_features_->MergeFrom(*from._impl_.overridable_features_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.fixed_features_ != nullptr);
      if (_this->_impl_.fixed_features_ == nullptr) {
        _this->_impl_.fixed_features_ =
            ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.fixed_features_);
      } else {
        _this->_impl_.fixed_features_->MergeFrom(*from._impl_.fixed_features_);
      }
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.edition_ = from._impl_.edition_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FeatureSetDefaults_FeatureSetEditionDefault::CopyFrom(const FeatureSetDefaults_FeatureSetEditionDefault& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FeatureSetDefaults_FeatureSetEditionDefault::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FeatureSetDefaults_FeatureSetEditionDefault&>(msg);
  if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
    if (!this_._impl_.overridable_features_->IsInitialized()) return false;
  }
  if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
    if (!this_._impl_.fixed_features_->IsInitialized()) return false;
  }
  return true;
}

void FeatureSetDefaults_FeatureSetEditionDefault::InternalSwap(FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_RESTRICT 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(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_)
      + sizeof(FeatureSetDefaults_FeatureSetEditionDefault::_impl_.edition_)
      - PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_)>(
          reinterpret_cast<char*>(&_impl_.overridable_features_),
          reinterpret_cast<char*>(&other->_impl_.overridable_features_));
}

::google::protobuf::Metadata FeatureSetDefaults_FeatureSetEditionDefault::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class FeatureSetDefaults::_Internal {
 public:
  using HasBits =
      decltype(std::declval<FeatureSetDefaults>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_._has_bits_);
};

FeatureSetDefaults::FeatureSetDefaults(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FeatureSetDefaults)
}
inline PROTOBUF_NDEBUG_INLINE FeatureSetDefaults::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::FeatureSetDefaults& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        defaults_{visibility, arena, from.defaults_} {}

FeatureSetDefaults::FeatureSetDefaults(
    ::google::protobuf::Arena* arena,
    const FeatureSetDefaults& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FeatureSetDefaults* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, minimum_edition_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, minimum_edition_),
           offsetof(Impl_, maximum_edition_) -
               offsetof(Impl_, minimum_edition_) +
               sizeof(Impl_::maximum_edition_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FeatureSetDefaults)
}
inline PROTOBUF_NDEBUG_INLINE FeatureSetDefaults::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        defaults_{visibility, arena} {}

inline void FeatureSetDefaults::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, minimum_edition_),
           0,
           offsetof(Impl_, maximum_edition_) -
               offsetof(Impl_, minimum_edition_) +
               sizeof(Impl_::maximum_edition_));
}
FeatureSetDefaults::~FeatureSetDefaults() {
  // @@protoc_insertion_point(destructor:google.protobuf.FeatureSetDefaults)
  SharedDtor(*this);
}
inline void FeatureSetDefaults::SharedDtor(MessageLite& self) {
  FeatureSetDefaults& this_ = static_cast<FeatureSetDefaults&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

inline void* FeatureSetDefaults::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) FeatureSetDefaults(arena);
}
constexpr auto FeatureSetDefaults::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.defaults_) +
          decltype(FeatureSetDefaults::_impl_.defaults_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(FeatureSetDefaults), alignof(FeatureSetDefaults), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&FeatureSetDefaults::PlacementNew_,
                                 sizeof(FeatureSetDefaults),
                                 alignof(FeatureSetDefaults));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull FeatureSetDefaults::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_FeatureSetDefaults_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        FeatureSetDefaults::IsInitializedImpl,
        &FeatureSetDefaults::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<FeatureSetDefaults>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &FeatureSetDefaults::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<FeatureSetDefaults>(), &FeatureSetDefaults::ByteSizeLong,
            &FeatureSetDefaults::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_._cached_size_),
        false,
    },
    &FeatureSetDefaults::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* FeatureSetDefaults::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<1, 3, 3, 0, 2> FeatureSetDefaults::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_._has_bits_),
    0, // no _extensions_
    5, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967270,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::FeatureSetDefaults>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional .google.protobuf.Edition minimum_edition = 4;
    {::_pbi::TcParser::FastEvS1,
     {32, 0, 1, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.minimum_edition_)}},
    // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.defaults_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
    {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.defaults_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .google.protobuf.Edition minimum_edition = 4;
    {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.minimum_edition_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    // optional .google.protobuf.Edition maximum_edition = 5;
    {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.maximum_edition_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>()},
    {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
    {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void FeatureSetDefaults::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.FeatureSetDefaults)
  ::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_.defaults_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.minimum_edition_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.maximum_edition_) -
        reinterpret_cast<char*>(&_impl_.minimum_edition_)) + sizeof(_impl_.maximum_edition_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_defaults_size());
               i < n; i++) {
            const auto& repfield = this_._internal_defaults().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    1, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional .google.protobuf.Edition minimum_edition = 4;
          if (cached_has_bits & 0x00000001u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                4, this_._internal_minimum_edition(), target);
          }

          // optional .google.protobuf.Edition maximum_edition = 5;
          if (cached_has_bits & 0x00000002u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                5, this_._internal_maximum_edition(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FeatureSetDefaults)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t FeatureSetDefaults::ByteSizeLong(const MessageLite& base) {
          const FeatureSetDefaults& this_ = static_cast<const FeatureSetDefaults&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t FeatureSetDefaults::ByteSizeLong() const {
          const FeatureSetDefaults& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FeatureSetDefaults)
          ::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 .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
            {
              total_size += 1UL * this_._internal_defaults_size();
              for (const auto& msg : this_._internal_defaults()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x00000003u) {
            // optional .google.protobuf.Edition minimum_edition = 4;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_minimum_edition());
            }
            // optional .google.protobuf.Edition maximum_edition = 5;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_maximum_edition());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void FeatureSetDefaults::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FeatureSetDefaults*>(&to_msg);
  auto& from = static_cast<const FeatureSetDefaults&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FeatureSetDefaults)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_defaults()->MergeFrom(
      from._internal_defaults());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.minimum_edition_ = from._impl_.minimum_edition_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.maximum_edition_ = from._impl_.maximum_edition_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FeatureSetDefaults::CopyFrom(const FeatureSetDefaults& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FeatureSetDefaults)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FeatureSetDefaults::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FeatureSetDefaults&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_defaults()))
    return false;
  return true;
}

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

::google::protobuf::Metadata FeatureSetDefaults::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class SourceCodeInfo_Location::_Internal {
 public:
  using HasBits =
      decltype(std::declval<SourceCodeInfo_Location>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_._has_bits_);
};

SourceCodeInfo_Location::SourceCodeInfo_Location(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.SourceCodeInfo.Location)
}
inline PROTOBUF_NDEBUG_INLINE SourceCodeInfo_Location::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::SourceCodeInfo_Location& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        path_{visibility, arena, from.path_},
        _path_cached_byte_size_{0},
        span_{visibility, arena, from.span_},
        _span_cached_byte_size_{0},
        leading_detached_comments_{visibility, arena, from.leading_detached_comments_},
        leading_comments_(arena, from.leading_comments_),
        trailing_comments_(arena, from.trailing_comments_) {}

SourceCodeInfo_Location::SourceCodeInfo_Location(
    ::google::protobuf::Arena* arena,
    const SourceCodeInfo_Location& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SourceCodeInfo_Location* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo.Location)
}
inline PROTOBUF_NDEBUG_INLINE SourceCodeInfo_Location::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        path_{visibility, arena},
        _path_cached_byte_size_{0},
        span_{visibility, arena},
        _span_cached_byte_size_{0},
        leading_detached_comments_{visibility, arena},
        leading_comments_(arena),
        trailing_comments_(arena) {}

inline void SourceCodeInfo_Location::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SourceCodeInfo_Location::~SourceCodeInfo_Location() {
  // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo.Location)
  SharedDtor(*this);
}
inline void SourceCodeInfo_Location::SharedDtor(MessageLite& self) {
  SourceCodeInfo_Location& this_ = static_cast<SourceCodeInfo_Location&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.leading_comments_.Destroy();
  this_._impl_.trailing_comments_.Destroy();
  this_._impl_.~Impl_();
}

inline void* SourceCodeInfo_Location::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) SourceCodeInfo_Location(arena);
}
constexpr auto SourceCodeInfo_Location::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.path_) +
          decltype(SourceCodeInfo_Location::_impl_.path_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.span_) +
          decltype(SourceCodeInfo_Location::_impl_.span_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.leading_detached_comments_) +
          decltype(SourceCodeInfo_Location::_impl_.leading_detached_comments_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(SourceCodeInfo_Location), alignof(SourceCodeInfo_Location), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&SourceCodeInfo_Location::PlacementNew_,
                                 sizeof(SourceCodeInfo_Location),
                                 alignof(SourceCodeInfo_Location));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull SourceCodeInfo_Location::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_SourceCodeInfo_Location_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        nullptr,  // IsInitialized
        &SourceCodeInfo_Location::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<SourceCodeInfo_Location>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &SourceCodeInfo_Location::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<SourceCodeInfo_Location>(), &SourceCodeInfo_Location::ByteSizeLong,
            &SourceCodeInfo_Location::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_._cached_size_),
        false,
    },
    &SourceCodeInfo_Location::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* SourceCodeInfo_Location::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 5, 0, 106, 2> SourceCodeInfo_Location::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967248,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::SourceCodeInfo_Location>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated int32 path = 1 [packed = true];
    {::_pbi::TcParser::FastV32P1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.path_)}},
    // repeated int32 span = 2 [packed = true];
    {::_pbi::TcParser::FastV32P1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.span_)}},
    // optional string leading_comments = 3;
    {::_pbi::TcParser::FastSS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.leading_comments_)}},
    // optional string trailing_comments = 4;
    {::_pbi::TcParser::FastSS1,
     {34, 1, 0, PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.trailing_comments_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated string leading_detached_comments = 6;
    {::_pbi::TcParser::FastSR1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.leading_detached_comments_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated int32 path = 1 [packed = true];
    {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.path_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
    // repeated int32 span = 2 [packed = true];
    {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.span_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
    // optional string leading_comments = 3;
    {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.leading_comments_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string trailing_comments = 4;
    {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.trailing_comments_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // repeated string leading_detached_comments = 6;
    {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.leading_detached_comments_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kRawString | ::_fl::kRepSString)},
  }},
  // no aux_entries
  {{
    "\47\0\0\20\21\31\0\0"
    "google.protobuf.SourceCodeInfo.Location"
    "leading_comments"
    "trailing_comments"
    "leading_detached_comments"
  }},
};

PROTOBUF_NOINLINE void SourceCodeInfo_Location::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.SourceCodeInfo.Location)
  ::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_.path_.Clear();
  _impl_.span_.Clear();
  _impl_.leading_detached_comments_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.leading_comments_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.trailing_comments_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* SourceCodeInfo_Location::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const SourceCodeInfo_Location& this_ = static_cast<const SourceCodeInfo_Location&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* SourceCodeInfo_Location::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const SourceCodeInfo_Location& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SourceCodeInfo.Location)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          // repeated int32 path = 1 [packed = true];
          {
            int byte_size = this_._impl_._path_cached_byte_size_.Get();
            if (byte_size > 0) {
              target = stream->WriteInt32Packed(
                  1, this_._internal_path(), byte_size, target);
            }
          }

          // repeated int32 span = 2 [packed = true];
          {
            int byte_size = this_._impl_._span_cached_byte_size_.Get();
            if (byte_size > 0) {
              target = stream->WriteInt32Packed(
                  2, this_._internal_span(), byte_size, target);
            }
          }

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string leading_comments = 3;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_leading_comments();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.SourceCodeInfo.Location.leading_comments");
            target = stream->WriteStringMaybeAliased(3, _s, target);
          }

          // optional string trailing_comments = 4;
          if (cached_has_bits & 0x00000002u) {
            const std::string& _s = this_._internal_trailing_comments();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.SourceCodeInfo.Location.trailing_comments");
            target = stream->WriteStringMaybeAliased(4, _s, target);
          }

          // repeated string leading_detached_comments = 6;
          for (int i = 0, n = this_._internal_leading_detached_comments_size(); i < n; ++i) {
            const auto& s = this_._internal_leading_detached_comments().Get(i);
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.SourceCodeInfo.Location.leading_detached_comments");
            target = stream->WriteString(6, s, target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo.Location)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t SourceCodeInfo_Location::ByteSizeLong(const MessageLite& base) {
          const SourceCodeInfo_Location& this_ = static_cast<const SourceCodeInfo_Location&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t SourceCodeInfo_Location::ByteSizeLong() const {
          const SourceCodeInfo_Location& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.SourceCodeInfo.Location)
          ::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 int32 path = 1 [packed = true];
            {
              total_size +=
                  ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
                      this_._internal_path(), 1,
                      this_._impl_._path_cached_byte_size_);
            }
            // repeated int32 span = 2 [packed = true];
            {
              total_size +=
                  ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
                      this_._internal_span(), 1,
                      this_._impl_._span_cached_byte_size_);
            }
            // repeated string leading_detached_comments = 6;
            {
              total_size +=
                  1 * ::google::protobuf::internal::FromIntSize(this_._internal_leading_detached_comments().size());
              for (int i = 0, n = this_._internal_leading_detached_comments().size(); i < n; ++i) {
                total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
                    this_._internal_leading_detached_comments().Get(i));
              }
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x00000003u) {
            // optional string leading_comments = 3;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_leading_comments());
            }
            // optional string trailing_comments = 4;
            if (cached_has_bits & 0x00000002u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_trailing_comments());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void SourceCodeInfo_Location::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SourceCodeInfo_Location*>(&to_msg);
  auto& from = static_cast<const SourceCodeInfo_Location&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SourceCodeInfo.Location)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_path()->MergeFrom(from._internal_path());
  _this->_internal_mutable_span()->MergeFrom(from._internal_span());
  _this->_internal_mutable_leading_detached_comments()->MergeFrom(from._internal_leading_detached_comments());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_leading_comments(from._internal_leading_comments());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_trailing_comments(from._internal_trailing_comments());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SourceCodeInfo_Location::CopyFrom(const SourceCodeInfo_Location& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SourceCodeInfo.Location)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SourceCodeInfo_Location::InternalSwap(SourceCodeInfo_Location* PROTOBUF_RESTRICT 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_.path_.InternalSwap(&other->_impl_.path_);
  _impl_.span_.InternalSwap(&other->_impl_.span_);
  _impl_.leading_detached_comments_.InternalSwap(&other->_impl_.leading_detached_comments_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.leading_comments_, &other->_impl_.leading_comments_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.trailing_comments_, &other->_impl_.trailing_comments_, arena);
}

::google::protobuf::Metadata SourceCodeInfo_Location::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class SourceCodeInfo::_Internal {
 public:
};

SourceCodeInfo::SourceCodeInfo(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.SourceCodeInfo)
}
inline PROTOBUF_NDEBUG_INLINE SourceCodeInfo::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::SourceCodeInfo& from_msg)
      : _extensions_{visibility, arena},
        location_{visibility, arena, from.location_},
        _cached_size_{0} {}

SourceCodeInfo::SourceCodeInfo(
    ::google::protobuf::Arena* arena,
    const SourceCodeInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SourceCodeInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(this, from._impl_._extensions_);

  // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo)
}
inline PROTOBUF_NDEBUG_INLINE SourceCodeInfo::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _extensions_{visibility, arena},
        location_{visibility, arena},
        _cached_size_{0} {}

inline void SourceCodeInfo::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SourceCodeInfo::~SourceCodeInfo() {
  // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo)
  SharedDtor(*this);
}
inline void SourceCodeInfo::SharedDtor(MessageLite& self) {
  SourceCodeInfo& this_ = static_cast<SourceCodeInfo&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

inline void* SourceCodeInfo::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) SourceCodeInfo(arena);
}
constexpr auto SourceCodeInfo::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_._extensions_) +
          decltype(SourceCodeInfo::_impl_._extensions_)::InternalGetArenaOffset(
              ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_.location_) +
          decltype(SourceCodeInfo::_impl_.location_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(SourceCodeInfo), alignof(SourceCodeInfo), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&SourceCodeInfo::PlacementNew_,
                                 sizeof(SourceCodeInfo),
                                 alignof(SourceCodeInfo));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull SourceCodeInfo::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_SourceCodeInfo_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        SourceCodeInfo::IsInitializedImpl,
        &SourceCodeInfo::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<SourceCodeInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &SourceCodeInfo::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<SourceCodeInfo>(), &SourceCodeInfo::ByteSizeLong,
            &SourceCodeInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_._cached_size_),
        false,
    },
    &SourceCodeInfo::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* SourceCodeInfo::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<0, 1, 1, 0, 2> SourceCodeInfo::_table_ = {
  {
    0,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_._extensions_),
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::SourceCodeInfo>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
    {PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::SourceCodeInfo_Location>()},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void SourceCodeInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.SourceCodeInfo)
  ::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_._extensions_.Clear();
  _impl_.location_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_location_size());
               i < n; i++) {
            const auto& repfield = this_._internal_location().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    1, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          // Extension range [536000000, 536000001)
          target = this_._impl_._extensions_._InternalSerialize(
              internal_default_instance(), 536000000, 536000001, target, stream);
          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t SourceCodeInfo::ByteSizeLong(const MessageLite& base) {
          const SourceCodeInfo& this_ = static_cast<const SourceCodeInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t SourceCodeInfo::ByteSizeLong() const {
          const SourceCodeInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.SourceCodeInfo)
          ::size_t total_size = 0;
          total_size += this_._impl_._extensions_.ByteSize();

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

          ::_pbi::Prefetch5LinesFrom7Lines(&this_);
           {
            // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
            {
              total_size += 1UL * this_._internal_location_size();
              for (const auto& msg : this_._internal_location()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void SourceCodeInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SourceCodeInfo*>(&to_msg);
  auto& from = static_cast<const SourceCodeInfo&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SourceCodeInfo)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_location()->MergeFrom(
      from._internal_location());
  _this->_impl_._extensions_.MergeFrom(internal_default_instance(), from._impl_._extensions_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SourceCodeInfo::CopyFrom(const SourceCodeInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SourceCodeInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SourceCodeInfo::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const SourceCodeInfo&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(
          internal_default_instance())) {
    return false;
  }
  return true;
}

void SourceCodeInfo::InternalSwap(SourceCodeInfo* PROTOBUF_RESTRICT other) {
  using std::swap;
  _impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.location_.InternalSwap(&other->_impl_.location_);
}

::google::protobuf::Metadata SourceCodeInfo::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class GeneratedCodeInfo_Annotation::_Internal {
 public:
  using HasBits =
      decltype(std::declval<GeneratedCodeInfo_Annotation>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_._has_bits_);
};

GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.GeneratedCodeInfo.Annotation)
}
inline PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo_Annotation::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::GeneratedCodeInfo_Annotation& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        path_{visibility, arena, from.path_},
        _path_cached_byte_size_{0},
        source_file_(arena, from.source_file_) {}

GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation(
    ::google::protobuf::Arena* arena,
    const GeneratedCodeInfo_Annotation& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GeneratedCodeInfo_Annotation* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, begin_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, begin_),
           offsetof(Impl_, semantic_) -
               offsetof(Impl_, begin_) +
               sizeof(Impl_::semantic_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.GeneratedCodeInfo.Annotation)
}
inline PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo_Annotation::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        path_{visibility, arena},
        _path_cached_byte_size_{0},
        source_file_(arena) {}

inline void GeneratedCodeInfo_Annotation::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, begin_),
           0,
           offsetof(Impl_, semantic_) -
               offsetof(Impl_, begin_) +
               sizeof(Impl_::semantic_));
}
GeneratedCodeInfo_Annotation::~GeneratedCodeInfo_Annotation() {
  // @@protoc_insertion_point(destructor:google.protobuf.GeneratedCodeInfo.Annotation)
  SharedDtor(*this);
}
inline void GeneratedCodeInfo_Annotation::SharedDtor(MessageLite& self) {
  GeneratedCodeInfo_Annotation& this_ = static_cast<GeneratedCodeInfo_Annotation&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.source_file_.Destroy();
  this_._impl_.~Impl_();
}

inline void* GeneratedCodeInfo_Annotation::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) GeneratedCodeInfo_Annotation(arena);
}
constexpr auto GeneratedCodeInfo_Annotation::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.path_) +
          decltype(GeneratedCodeInfo_Annotation::_impl_.path_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(GeneratedCodeInfo_Annotation), alignof(GeneratedCodeInfo_Annotation), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&GeneratedCodeInfo_Annotation::PlacementNew_,
                                 sizeof(GeneratedCodeInfo_Annotation),
                                 alignof(GeneratedCodeInfo_Annotation));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo_Annotation::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_GeneratedCodeInfo_Annotation_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        nullptr,  // IsInitialized
        &GeneratedCodeInfo_Annotation::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<GeneratedCodeInfo_Annotation>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &GeneratedCodeInfo_Annotation::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<GeneratedCodeInfo_Annotation>(), &GeneratedCodeInfo_Annotation::ByteSizeLong,
            &GeneratedCodeInfo_Annotation::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_._cached_size_),
        false,
    },
    &GeneratedCodeInfo_Annotation::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* GeneratedCodeInfo_Annotation::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<3, 5, 1, 64, 2> GeneratedCodeInfo_Annotation::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::GeneratedCodeInfo_Annotation>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated int32 path = 1 [packed = true];
    {::_pbi::TcParser::FastV32P1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.path_)}},
    // optional string source_file = 2;
    {::_pbi::TcParser::FastSS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.source_file_)}},
    // optional int32 begin = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GeneratedCodeInfo_Annotation, _impl_.begin_), 1>(),
     {24, 1, 0, PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.begin_)}},
    // optional int32 end = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GeneratedCodeInfo_Annotation, _impl_.end_), 2>(),
     {32, 2, 0, PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.end_)}},
    // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
    {::_pbi::TcParser::FastEr0S1,
     {40, 3, 2, PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.semantic_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated int32 path = 1 [packed = true];
    {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.path_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
    // optional string source_file = 2;
    {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.source_file_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional int32 begin = 3;
    {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.begin_), _Internal::kHasBitsOffset + 1, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional int32 end = 4;
    {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.end_), _Internal::kHasBitsOffset + 2, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
    {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.semantic_), _Internal::kHasBitsOffset + 3, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
  }}, {{
    {0, 3},
  }}, {{
    "\54\0\13\0\0\0\0\0"
    "google.protobuf.GeneratedCodeInfo.Annotation"
    "source_file"
  }},
};

PROTOBUF_NOINLINE void GeneratedCodeInfo_Annotation::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.GeneratedCodeInfo.Annotation)
  ::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_.path_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.source_file_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x0000000eu) {
    ::memset(&_impl_.begin_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.semantic_) -
        reinterpret_cast<char*>(&_impl_.begin_)) + sizeof(_impl_.semantic_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::uint8_t* GeneratedCodeInfo_Annotation::_InternalSerialize(
            const MessageLite& base, ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) {
          const GeneratedCodeInfo_Annotation& this_ = static_cast<const GeneratedCodeInfo_Annotation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::uint8_t* GeneratedCodeInfo_Annotation::_InternalSerialize(
            ::uint8_t* target,
            ::google::protobuf::io::EpsCopyOutputStream* stream) const {
          const GeneratedCodeInfo_Annotation& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.GeneratedCodeInfo.Annotation)
          ::uint32_t cached_has_bits = 0;
          (void)cached_has_bits;

          // repeated int32 path = 1 [packed = true];
          {
            int byte_size = this_._impl_._path_cached_byte_size_.Get();
            if (byte_size > 0) {
              target = stream->WriteInt32Packed(
                  1, this_._internal_path(), byte_size, target);
            }
          }

          cached_has_bits = this_._impl_._has_bits_[0];
          // optional string source_file = 2;
          if (cached_has_bits & 0x00000001u) {
            const std::string& _s = this_._internal_source_file();
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                        "google.protobuf.GeneratedCodeInfo.Annotation.source_file");
            target = stream->WriteStringMaybeAliased(2, _s, target);
          }

          // optional int32 begin = 3;
          if (cached_has_bits & 0x00000002u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<3>(
                    stream, this_._internal_begin(), target);
          }

          // optional int32 end = 4;
          if (cached_has_bits & 0x00000004u) {
            target = ::google::protobuf::internal::WireFormatLite::
                WriteInt32ToArrayWithField<4>(
                    stream, this_._internal_end(), target);
          }

          // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
          if (cached_has_bits & 0x00000008u) {
            target = stream->EnsureSpace(target);
            target = ::_pbi::WireFormatLite::WriteEnumToArray(
                5, this_._internal_semantic(), target);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.GeneratedCodeInfo.Annotation)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t GeneratedCodeInfo_Annotation::ByteSizeLong(const MessageLite& base) {
          const GeneratedCodeInfo_Annotation& this_ = static_cast<const GeneratedCodeInfo_Annotation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t GeneratedCodeInfo_Annotation::ByteSizeLong() const {
          const GeneratedCodeInfo_Annotation& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.GeneratedCodeInfo.Annotation)
          ::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 int32 path = 1 [packed = true];
            {
              total_size +=
                  ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
                      this_._internal_path(), 1,
                      this_._impl_._path_cached_byte_size_);
            }
          }
          cached_has_bits = this_._impl_._has_bits_[0];
          if (cached_has_bits & 0x0000000fu) {
            // optional string source_file = 2;
            if (cached_has_bits & 0x00000001u) {
              total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                              this_._internal_source_file());
            }
            // optional int32 begin = 3;
            if (cached_has_bits & 0x00000002u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_begin());
            }
            // optional int32 end = 4;
            if (cached_has_bits & 0x00000004u) {
              total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
                  this_._internal_end());
            }
            // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
            if (cached_has_bits & 0x00000008u) {
              total_size += 1 +
                            ::_pbi::WireFormatLite::EnumSize(this_._internal_semantic());
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void GeneratedCodeInfo_Annotation::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GeneratedCodeInfo_Annotation*>(&to_msg);
  auto& from = static_cast<const GeneratedCodeInfo_Annotation&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.GeneratedCodeInfo.Annotation)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_path()->MergeFrom(from._internal_path());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_source_file(from._internal_source_file());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.begin_ = from._impl_.begin_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.end_ = from._impl_.end_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.semantic_ = from._impl_.semantic_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GeneratedCodeInfo_Annotation::CopyFrom(const GeneratedCodeInfo_Annotation& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.GeneratedCodeInfo.Annotation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void GeneratedCodeInfo_Annotation::InternalSwap(GeneratedCodeInfo_Annotation* PROTOBUF_RESTRICT 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_.path_.InternalSwap(&other->_impl_.path_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.source_file_, &other->_impl_.source_file_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.semantic_)
      + sizeof(GeneratedCodeInfo_Annotation::_impl_.semantic_)
      - PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.begin_)>(
          reinterpret_cast<char*>(&_impl_.begin_),
          reinterpret_cast<char*>(&other->_impl_.begin_));
}

::google::protobuf::Metadata GeneratedCodeInfo_Annotation::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class GeneratedCodeInfo::_Internal {
 public:
};

GeneratedCodeInfo::GeneratedCodeInfo(::google::protobuf::Arena* arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.GeneratedCodeInfo)
}
inline PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from, const ::google::protobuf::GeneratedCodeInfo& from_msg)
      : annotation_{visibility, arena, from.annotation_},
        _cached_size_{0} {}

GeneratedCodeInfo::GeneratedCodeInfo(
    ::google::protobuf::Arena* arena,
    const GeneratedCodeInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, _class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GeneratedCodeInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:google.protobuf.GeneratedCodeInfo)
}
inline PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : annotation_{visibility, arena},
        _cached_size_{0} {}

inline void GeneratedCodeInfo::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GeneratedCodeInfo::~GeneratedCodeInfo() {
  // @@protoc_insertion_point(destructor:google.protobuf.GeneratedCodeInfo)
  SharedDtor(*this);
}
inline void GeneratedCodeInfo::SharedDtor(MessageLite& self) {
  GeneratedCodeInfo& this_ = static_cast<GeneratedCodeInfo&>(self);
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

inline void* GeneratedCodeInfo::PlacementNew_(const void*, void* mem,
                                        ::google::protobuf::Arena* arena) {
  return ::new (mem) GeneratedCodeInfo(arena);
}
constexpr auto GeneratedCodeInfo::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_.annotation_) +
          decltype(GeneratedCodeInfo::_impl_.annotation_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(GeneratedCodeInfo), alignof(GeneratedCodeInfo), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&GeneratedCodeInfo::PlacementNew_,
                                 sizeof(GeneratedCodeInfo),
                                 alignof(GeneratedCodeInfo));
  }
}
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo::_class_data_ = {
    ::google::protobuf::internal::ClassData{
        &_GeneratedCodeInfo_default_instance_._instance,
        &_table_.header,
        nullptr,  // OnDemandRegisterArenaDtor
        nullptr,  // IsInitialized
        &GeneratedCodeInfo::MergeImpl,
        ::google::protobuf::Message::GetNewImpl<GeneratedCodeInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
        &GeneratedCodeInfo::SharedDtor,
        ::google::protobuf::Message::GetClearImpl<GeneratedCodeInfo>(), &GeneratedCodeInfo::ByteSizeLong,
            &GeneratedCodeInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
        PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_._cached_size_),
        false,
    },
    &GeneratedCodeInfo::kDescriptorMethods,
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
    nullptr,  // tracker
};
const ::google::protobuf::internal::ClassData* GeneratedCodeInfo::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table);
  return _class_data_.base();
}
constexpr ::_pbi::TcParseTable<0, 1, 1, 0, 2> GeneratedCodeInfo::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    _class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::google::protobuf::GeneratedCodeInfo>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_.annotation_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
    {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_.annotation_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::google::protobuf::GeneratedCodeInfo_Annotation>()},
  }}, {{
  }},
};

PROTOBUF_NOINLINE void GeneratedCodeInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.GeneratedCodeInfo)
  ::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_.annotation_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

          // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
          for (unsigned i = 0, n = static_cast<unsigned>(
                                   this_._internal_annotation_size());
               i < n; i++) {
            const auto& repfield = this_._internal_annotation().Get(i);
            target =
                ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
                    1, repfield, repfield.GetCachedSize(),
                    target, stream);
          }

          if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
            target =
                ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
                    this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
          }
          // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.GeneratedCodeInfo)
          return target;
        }

#if defined(PROTOBUF_CUSTOM_VTABLE)
        ::size_t GeneratedCodeInfo::ByteSizeLong(const MessageLite& base) {
          const GeneratedCodeInfo& this_ = static_cast<const GeneratedCodeInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
        ::size_t GeneratedCodeInfo::ByteSizeLong() const {
          const GeneratedCodeInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
          // @@protoc_insertion_point(message_byte_size_start:google.protobuf.GeneratedCodeInfo)
          ::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 .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
            {
              total_size += 1UL * this_._internal_annotation_size();
              for (const auto& msg : this_._internal_annotation()) {
                total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
              }
            }
          }
          return this_.MaybeComputeUnknownFieldsSize(total_size,
                                                     &this_._impl_._cached_size_);
        }

void GeneratedCodeInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GeneratedCodeInfo*>(&to_msg);
  auto& from = static_cast<const GeneratedCodeInfo&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.GeneratedCodeInfo)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_annotation()->MergeFrom(
      from._internal_annotation());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GeneratedCodeInfo::CopyFrom(const GeneratedCodeInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.GeneratedCodeInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void GeneratedCodeInfo::InternalSwap(GeneratedCodeInfo* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.annotation_.InternalSwap(&other->_impl_.annotation_);
}

::google::protobuf::Metadata GeneratedCodeInfo::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace protobuf
}  // namespace google
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
