Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-10-29 09:14:47

0001 // Generated by the protocol buffer compiler.  DO NOT EDIT!
0002 // NO CHECKED-IN PROTOBUF GENCODE
0003 // source: google/protobuf/descriptor.proto
0004 // Protobuf C++ Version: 6.32.1
0005 
0006 #ifndef google_2fprotobuf_2fdescriptor_2eproto_2epb_2eh
0007 #define google_2fprotobuf_2fdescriptor_2eproto_2epb_2eh
0008 
0009 #include <limits>
0010 #include <string>
0011 #include <type_traits>
0012 #include <utility>
0013 
0014 #include "google/protobuf/runtime_version.h"
0015 #if PROTOBUF_VERSION != 6032001
0016 #error "Protobuf C++ gencode is built with an incompatible version of"
0017 #error "Protobuf C++ headers/runtime. See"
0018 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
0019 #endif
0020 #include "google/protobuf/io/coded_stream.h"
0021 #include "google/protobuf/arena.h"
0022 #include "google/protobuf/arenastring.h"
0023 #include "google/protobuf/generated_message_bases.h"
0024 #include "google/protobuf/generated_message_tctable_decl.h"
0025 #include "google/protobuf/generated_message_util.h"
0026 #include "google/protobuf/metadata_lite.h"
0027 #include "google/protobuf/generated_message_reflection.h"
0028 #include "google/protobuf/message.h"
0029 #include "google/protobuf/message_lite.h"
0030 #include "google/protobuf/repeated_field.h"  // IWYU pragma: export
0031 #include "google/protobuf/extension_set.h"  // IWYU pragma: export
0032 #include "google/protobuf/generated_enum_reflection.h"
0033 #include "google/protobuf/unknown_field_set.h"
0034 // @@protoc_insertion_point(includes)
0035 
0036 // Must be included last.
0037 #include "google/protobuf/port_def.inc"
0038 
0039 #define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fdescriptor_2eproto PROTOBUF_EXPORT
0040 
0041 namespace google {
0042 namespace protobuf {
0043 namespace internal {
0044 template <typename T>
0045 ::absl::string_view GetAnyMessageName();
0046 }  // namespace internal
0047 }  // namespace protobuf
0048 }  // namespace google
0049 
0050 // Internal implementation detail -- do not use these members.
0051 struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fdescriptor_2eproto {
0052   static const ::uint32_t offsets[];
0053 };
0054 extern "C" {
0055 PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fdescriptor_2eproto;
0056 }  // extern "C"
0057 namespace google {
0058 namespace protobuf {
0059 enum Edition : int;
0060 PROTOBUF_EXPORT extern const uint32_t Edition_internal_data_[];
0061 enum ExtensionRangeOptions_VerificationState : int;
0062 PROTOBUF_EXPORT extern const uint32_t ExtensionRangeOptions_VerificationState_internal_data_[];
0063 enum FeatureSet_EnforceNamingStyle : int;
0064 PROTOBUF_EXPORT extern const uint32_t FeatureSet_EnforceNamingStyle_internal_data_[];
0065 enum FeatureSet_EnumType : int;
0066 PROTOBUF_EXPORT extern const uint32_t FeatureSet_EnumType_internal_data_[];
0067 enum FeatureSet_FieldPresence : int;
0068 PROTOBUF_EXPORT extern const uint32_t FeatureSet_FieldPresence_internal_data_[];
0069 enum FeatureSet_JsonFormat : int;
0070 PROTOBUF_EXPORT extern const uint32_t FeatureSet_JsonFormat_internal_data_[];
0071 enum FeatureSet_MessageEncoding : int;
0072 PROTOBUF_EXPORT extern const uint32_t FeatureSet_MessageEncoding_internal_data_[];
0073 enum FeatureSet_RepeatedFieldEncoding : int;
0074 PROTOBUF_EXPORT extern const uint32_t FeatureSet_RepeatedFieldEncoding_internal_data_[];
0075 enum FeatureSet_Utf8Validation : int;
0076 PROTOBUF_EXPORT extern const uint32_t FeatureSet_Utf8Validation_internal_data_[];
0077 enum FeatureSet_VisibilityFeature_DefaultSymbolVisibility : int;
0078 PROTOBUF_EXPORT extern const uint32_t FeatureSet_VisibilityFeature_DefaultSymbolVisibility_internal_data_[];
0079 enum FieldDescriptorProto_Label : int;
0080 PROTOBUF_EXPORT extern const uint32_t FieldDescriptorProto_Label_internal_data_[];
0081 enum FieldDescriptorProto_Type : int;
0082 PROTOBUF_EXPORT extern const uint32_t FieldDescriptorProto_Type_internal_data_[];
0083 enum FieldOptions_CType : int;
0084 PROTOBUF_EXPORT extern const uint32_t FieldOptions_CType_internal_data_[];
0085 enum FieldOptions_JSType : int;
0086 PROTOBUF_EXPORT extern const uint32_t FieldOptions_JSType_internal_data_[];
0087 enum FieldOptions_OptionRetention : int;
0088 PROTOBUF_EXPORT extern const uint32_t FieldOptions_OptionRetention_internal_data_[];
0089 enum FieldOptions_OptionTargetType : int;
0090 PROTOBUF_EXPORT extern const uint32_t FieldOptions_OptionTargetType_internal_data_[];
0091 enum FileOptions_OptimizeMode : int;
0092 PROTOBUF_EXPORT extern const uint32_t FileOptions_OptimizeMode_internal_data_[];
0093 enum GeneratedCodeInfo_Annotation_Semantic : int;
0094 PROTOBUF_EXPORT extern const uint32_t GeneratedCodeInfo_Annotation_Semantic_internal_data_[];
0095 enum MethodOptions_IdempotencyLevel : int;
0096 PROTOBUF_EXPORT extern const uint32_t MethodOptions_IdempotencyLevel_internal_data_[];
0097 enum SymbolVisibility : int;
0098 PROTOBUF_EXPORT extern const uint32_t SymbolVisibility_internal_data_[];
0099 class DescriptorProto;
0100 struct DescriptorProtoDefaultTypeInternal;
0101 PROTOBUF_EXPORT extern DescriptorProtoDefaultTypeInternal _DescriptorProto_default_instance_;
0102 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull DescriptorProto_class_data_;
0103 class DescriptorProto_ExtensionRange;
0104 struct DescriptorProto_ExtensionRangeDefaultTypeInternal;
0105 PROTOBUF_EXPORT extern DescriptorProto_ExtensionRangeDefaultTypeInternal _DescriptorProto_ExtensionRange_default_instance_;
0106 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull DescriptorProto_ExtensionRange_class_data_;
0107 class DescriptorProto_ReservedRange;
0108 struct DescriptorProto_ReservedRangeDefaultTypeInternal;
0109 PROTOBUF_EXPORT extern DescriptorProto_ReservedRangeDefaultTypeInternal _DescriptorProto_ReservedRange_default_instance_;
0110 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull DescriptorProto_ReservedRange_class_data_;
0111 class EnumDescriptorProto;
0112 struct EnumDescriptorProtoDefaultTypeInternal;
0113 PROTOBUF_EXPORT extern EnumDescriptorProtoDefaultTypeInternal _EnumDescriptorProto_default_instance_;
0114 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumDescriptorProto_class_data_;
0115 class EnumDescriptorProto_EnumReservedRange;
0116 struct EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal;
0117 PROTOBUF_EXPORT extern EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal _EnumDescriptorProto_EnumReservedRange_default_instance_;
0118 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumDescriptorProto_EnumReservedRange_class_data_;
0119 class EnumOptions;
0120 struct EnumOptionsDefaultTypeInternal;
0121 PROTOBUF_EXPORT extern EnumOptionsDefaultTypeInternal _EnumOptions_default_instance_;
0122 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumOptions_class_data_;
0123 class EnumValueDescriptorProto;
0124 struct EnumValueDescriptorProtoDefaultTypeInternal;
0125 PROTOBUF_EXPORT extern EnumValueDescriptorProtoDefaultTypeInternal _EnumValueDescriptorProto_default_instance_;
0126 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumValueDescriptorProto_class_data_;
0127 class EnumValueOptions;
0128 struct EnumValueOptionsDefaultTypeInternal;
0129 PROTOBUF_EXPORT extern EnumValueOptionsDefaultTypeInternal _EnumValueOptions_default_instance_;
0130 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumValueOptions_class_data_;
0131 class ExtensionRangeOptions;
0132 struct ExtensionRangeOptionsDefaultTypeInternal;
0133 PROTOBUF_EXPORT extern ExtensionRangeOptionsDefaultTypeInternal _ExtensionRangeOptions_default_instance_;
0134 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions_class_data_;
0135 class ExtensionRangeOptions_Declaration;
0136 struct ExtensionRangeOptions_DeclarationDefaultTypeInternal;
0137 PROTOBUF_EXPORT extern ExtensionRangeOptions_DeclarationDefaultTypeInternal _ExtensionRangeOptions_Declaration_default_instance_;
0138 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions_Declaration_class_data_;
0139 class FeatureSet;
0140 struct FeatureSetDefaultTypeInternal;
0141 PROTOBUF_EXPORT extern FeatureSetDefaultTypeInternal _FeatureSet_default_instance_;
0142 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FeatureSet_class_data_;
0143 class FeatureSetDefaults;
0144 struct FeatureSetDefaultsDefaultTypeInternal;
0145 PROTOBUF_EXPORT extern FeatureSetDefaultsDefaultTypeInternal _FeatureSetDefaults_default_instance_;
0146 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FeatureSetDefaults_class_data_;
0147 class FeatureSetDefaults_FeatureSetEditionDefault;
0148 struct FeatureSetDefaults_FeatureSetEditionDefaultDefaultTypeInternal;
0149 PROTOBUF_EXPORT extern FeatureSetDefaults_FeatureSetEditionDefaultDefaultTypeInternal _FeatureSetDefaults_FeatureSetEditionDefault_default_instance_;
0150 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FeatureSetDefaults_FeatureSetEditionDefault_class_data_;
0151 class FeatureSet_VisibilityFeature;
0152 struct FeatureSet_VisibilityFeatureDefaultTypeInternal;
0153 PROTOBUF_EXPORT extern FeatureSet_VisibilityFeatureDefaultTypeInternal _FeatureSet_VisibilityFeature_default_instance_;
0154 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FeatureSet_VisibilityFeature_class_data_;
0155 class FieldDescriptorProto;
0156 struct FieldDescriptorProtoDefaultTypeInternal;
0157 PROTOBUF_EXPORT extern FieldDescriptorProtoDefaultTypeInternal _FieldDescriptorProto_default_instance_;
0158 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FieldDescriptorProto_class_data_;
0159 class FieldOptions;
0160 struct FieldOptionsDefaultTypeInternal;
0161 PROTOBUF_EXPORT extern FieldOptionsDefaultTypeInternal _FieldOptions_default_instance_;
0162 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FieldOptions_class_data_;
0163 class FieldOptions_EditionDefault;
0164 struct FieldOptions_EditionDefaultDefaultTypeInternal;
0165 PROTOBUF_EXPORT extern FieldOptions_EditionDefaultDefaultTypeInternal _FieldOptions_EditionDefault_default_instance_;
0166 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FieldOptions_EditionDefault_class_data_;
0167 class FieldOptions_FeatureSupport;
0168 struct FieldOptions_FeatureSupportDefaultTypeInternal;
0169 PROTOBUF_EXPORT extern FieldOptions_FeatureSupportDefaultTypeInternal _FieldOptions_FeatureSupport_default_instance_;
0170 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FieldOptions_FeatureSupport_class_data_;
0171 class FileDescriptorProto;
0172 struct FileDescriptorProtoDefaultTypeInternal;
0173 PROTOBUF_EXPORT extern FileDescriptorProtoDefaultTypeInternal _FileDescriptorProto_default_instance_;
0174 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FileDescriptorProto_class_data_;
0175 class FileDescriptorSet;
0176 struct FileDescriptorSetDefaultTypeInternal;
0177 PROTOBUF_EXPORT extern FileDescriptorSetDefaultTypeInternal _FileDescriptorSet_default_instance_;
0178 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FileDescriptorSet_class_data_;
0179 class FileOptions;
0180 struct FileOptionsDefaultTypeInternal;
0181 PROTOBUF_EXPORT extern FileOptionsDefaultTypeInternal _FileOptions_default_instance_;
0182 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FileOptions_class_data_;
0183 class GeneratedCodeInfo;
0184 struct GeneratedCodeInfoDefaultTypeInternal;
0185 PROTOBUF_EXPORT extern GeneratedCodeInfoDefaultTypeInternal _GeneratedCodeInfo_default_instance_;
0186 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo_class_data_;
0187 class GeneratedCodeInfo_Annotation;
0188 struct GeneratedCodeInfo_AnnotationDefaultTypeInternal;
0189 PROTOBUF_EXPORT extern GeneratedCodeInfo_AnnotationDefaultTypeInternal _GeneratedCodeInfo_Annotation_default_instance_;
0190 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo_Annotation_class_data_;
0191 class MessageOptions;
0192 struct MessageOptionsDefaultTypeInternal;
0193 PROTOBUF_EXPORT extern MessageOptionsDefaultTypeInternal _MessageOptions_default_instance_;
0194 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull MessageOptions_class_data_;
0195 class MethodDescriptorProto;
0196 struct MethodDescriptorProtoDefaultTypeInternal;
0197 PROTOBUF_EXPORT extern MethodDescriptorProtoDefaultTypeInternal _MethodDescriptorProto_default_instance_;
0198 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull MethodDescriptorProto_class_data_;
0199 class MethodOptions;
0200 struct MethodOptionsDefaultTypeInternal;
0201 PROTOBUF_EXPORT extern MethodOptionsDefaultTypeInternal _MethodOptions_default_instance_;
0202 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull MethodOptions_class_data_;
0203 class OneofDescriptorProto;
0204 struct OneofDescriptorProtoDefaultTypeInternal;
0205 PROTOBUF_EXPORT extern OneofDescriptorProtoDefaultTypeInternal _OneofDescriptorProto_default_instance_;
0206 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull OneofDescriptorProto_class_data_;
0207 class OneofOptions;
0208 struct OneofOptionsDefaultTypeInternal;
0209 PROTOBUF_EXPORT extern OneofOptionsDefaultTypeInternal _OneofOptions_default_instance_;
0210 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull OneofOptions_class_data_;
0211 class ServiceDescriptorProto;
0212 struct ServiceDescriptorProtoDefaultTypeInternal;
0213 PROTOBUF_EXPORT extern ServiceDescriptorProtoDefaultTypeInternal _ServiceDescriptorProto_default_instance_;
0214 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ServiceDescriptorProto_class_data_;
0215 class ServiceOptions;
0216 struct ServiceOptionsDefaultTypeInternal;
0217 PROTOBUF_EXPORT extern ServiceOptionsDefaultTypeInternal _ServiceOptions_default_instance_;
0218 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ServiceOptions_class_data_;
0219 class SourceCodeInfo;
0220 struct SourceCodeInfoDefaultTypeInternal;
0221 PROTOBUF_EXPORT extern SourceCodeInfoDefaultTypeInternal _SourceCodeInfo_default_instance_;
0222 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull SourceCodeInfo_class_data_;
0223 class SourceCodeInfo_Location;
0224 struct SourceCodeInfo_LocationDefaultTypeInternal;
0225 PROTOBUF_EXPORT extern SourceCodeInfo_LocationDefaultTypeInternal _SourceCodeInfo_Location_default_instance_;
0226 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull SourceCodeInfo_Location_class_data_;
0227 class UninterpretedOption;
0228 struct UninterpretedOptionDefaultTypeInternal;
0229 PROTOBUF_EXPORT extern UninterpretedOptionDefaultTypeInternal _UninterpretedOption_default_instance_;
0230 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull UninterpretedOption_class_data_;
0231 class UninterpretedOption_NamePart;
0232 struct UninterpretedOption_NamePartDefaultTypeInternal;
0233 PROTOBUF_EXPORT extern UninterpretedOption_NamePartDefaultTypeInternal _UninterpretedOption_NamePart_default_instance_;
0234 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull UninterpretedOption_NamePart_class_data_;
0235 template <>
0236 internal::EnumTraitsT<::google::protobuf::Edition_internal_data_>
0237     internal::EnumTraitsImpl::value<::google::protobuf::Edition>;
0238 template <>
0239 internal::EnumTraitsT<::google::protobuf::ExtensionRangeOptions_VerificationState_internal_data_>
0240     internal::EnumTraitsImpl::value<::google::protobuf::ExtensionRangeOptions_VerificationState>;
0241 template <>
0242 internal::EnumTraitsT<::google::protobuf::FeatureSet_EnforceNamingStyle_internal_data_>
0243     internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_EnforceNamingStyle>;
0244 template <>
0245 internal::EnumTraitsT<::google::protobuf::FeatureSet_EnumType_internal_data_>
0246     internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_EnumType>;
0247 template <>
0248 internal::EnumTraitsT<::google::protobuf::FeatureSet_FieldPresence_internal_data_>
0249     internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_FieldPresence>;
0250 template <>
0251 internal::EnumTraitsT<::google::protobuf::FeatureSet_JsonFormat_internal_data_>
0252     internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_JsonFormat>;
0253 template <>
0254 internal::EnumTraitsT<::google::protobuf::FeatureSet_MessageEncoding_internal_data_>
0255     internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_MessageEncoding>;
0256 template <>
0257 internal::EnumTraitsT<::google::protobuf::FeatureSet_RepeatedFieldEncoding_internal_data_>
0258     internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_RepeatedFieldEncoding>;
0259 template <>
0260 internal::EnumTraitsT<::google::protobuf::FeatureSet_Utf8Validation_internal_data_>
0261     internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_Utf8Validation>;
0262 template <>
0263 internal::EnumTraitsT<::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility_internal_data_>
0264     internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility>;
0265 template <>
0266 internal::EnumTraitsT<::google::protobuf::FieldDescriptorProto_Label_internal_data_>
0267     internal::EnumTraitsImpl::value<::google::protobuf::FieldDescriptorProto_Label>;
0268 template <>
0269 internal::EnumTraitsT<::google::protobuf::FieldDescriptorProto_Type_internal_data_>
0270     internal::EnumTraitsImpl::value<::google::protobuf::FieldDescriptorProto_Type>;
0271 template <>
0272 internal::EnumTraitsT<::google::protobuf::FieldOptions_CType_internal_data_>
0273     internal::EnumTraitsImpl::value<::google::protobuf::FieldOptions_CType>;
0274 template <>
0275 internal::EnumTraitsT<::google::protobuf::FieldOptions_JSType_internal_data_>
0276     internal::EnumTraitsImpl::value<::google::protobuf::FieldOptions_JSType>;
0277 template <>
0278 internal::EnumTraitsT<::google::protobuf::FieldOptions_OptionRetention_internal_data_>
0279     internal::EnumTraitsImpl::value<::google::protobuf::FieldOptions_OptionRetention>;
0280 template <>
0281 internal::EnumTraitsT<::google::protobuf::FieldOptions_OptionTargetType_internal_data_>
0282     internal::EnumTraitsImpl::value<::google::protobuf::FieldOptions_OptionTargetType>;
0283 template <>
0284 internal::EnumTraitsT<::google::protobuf::FileOptions_OptimizeMode_internal_data_>
0285     internal::EnumTraitsImpl::value<::google::protobuf::FileOptions_OptimizeMode>;
0286 template <>
0287 internal::EnumTraitsT<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic_internal_data_>
0288     internal::EnumTraitsImpl::value<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic>;
0289 template <>
0290 internal::EnumTraitsT<::google::protobuf::MethodOptions_IdempotencyLevel_internal_data_>
0291     internal::EnumTraitsImpl::value<::google::protobuf::MethodOptions_IdempotencyLevel>;
0292 template <>
0293 internal::EnumTraitsT<::google::protobuf::SymbolVisibility_internal_data_>
0294     internal::EnumTraitsImpl::value<::google::protobuf::SymbolVisibility>;
0295 namespace internal {
0296 #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
0297 PROTOBUF_EXPORT void InitializeFileDescriptorDefaultInstancesSlow();
0298 #endif  // !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
0299 }  // namespace internal
0300 }  // namespace protobuf
0301 }  // namespace google
0302 
0303 namespace google {
0304 namespace protobuf {
0305 enum ExtensionRangeOptions_VerificationState : int {
0306   ExtensionRangeOptions_VerificationState_DECLARATION = 0,
0307   ExtensionRangeOptions_VerificationState_UNVERIFIED = 1,
0308 };
0309 
0310 PROTOBUF_EXPORT extern const uint32_t ExtensionRangeOptions_VerificationState_internal_data_[];
0311 inline constexpr ExtensionRangeOptions_VerificationState ExtensionRangeOptions_VerificationState_VerificationState_MIN =
0312     static_cast<ExtensionRangeOptions_VerificationState>(0);
0313 inline constexpr ExtensionRangeOptions_VerificationState ExtensionRangeOptions_VerificationState_VerificationState_MAX =
0314     static_cast<ExtensionRangeOptions_VerificationState>(1);
0315 inline bool ExtensionRangeOptions_VerificationState_IsValid(int value) {
0316   return 0 <= value && value <= 1;
0317 }
0318 inline constexpr int ExtensionRangeOptions_VerificationState_VerificationState_ARRAYSIZE = 1 + 1;
0319 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL ExtensionRangeOptions_VerificationState_descriptor();
0320 template <typename T>
0321 const ::std::string& ExtensionRangeOptions_VerificationState_Name(T value) {
0322   static_assert(::std::is_same<T, ExtensionRangeOptions_VerificationState>::value ||
0323                     ::std::is_integral<T>::value,
0324                 "Incorrect type passed to VerificationState_Name().");
0325   return ExtensionRangeOptions_VerificationState_Name(static_cast<ExtensionRangeOptions_VerificationState>(value));
0326 }
0327 template <>
0328 inline const ::std::string& ExtensionRangeOptions_VerificationState_Name(ExtensionRangeOptions_VerificationState value) {
0329   return ::google::protobuf::internal::NameOfDenseEnum<ExtensionRangeOptions_VerificationState_descriptor, 0, 1>(
0330       static_cast<int>(value));
0331 }
0332 inline bool ExtensionRangeOptions_VerificationState_Parse(
0333     ::absl::string_view name, ExtensionRangeOptions_VerificationState* PROTOBUF_NONNULL value) {
0334   return ::google::protobuf::internal::ParseNamedEnum<ExtensionRangeOptions_VerificationState>(ExtensionRangeOptions_VerificationState_descriptor(), name,
0335                                            value);
0336 }
0337 enum FieldDescriptorProto_Type : int {
0338   FieldDescriptorProto_Type_TYPE_DOUBLE = 1,
0339   FieldDescriptorProto_Type_TYPE_FLOAT = 2,
0340   FieldDescriptorProto_Type_TYPE_INT64 = 3,
0341   FieldDescriptorProto_Type_TYPE_UINT64 = 4,
0342   FieldDescriptorProto_Type_TYPE_INT32 = 5,
0343   FieldDescriptorProto_Type_TYPE_FIXED64 = 6,
0344   FieldDescriptorProto_Type_TYPE_FIXED32 = 7,
0345   FieldDescriptorProto_Type_TYPE_BOOL = 8,
0346   FieldDescriptorProto_Type_TYPE_STRING = 9,
0347   FieldDescriptorProto_Type_TYPE_GROUP = 10,
0348   FieldDescriptorProto_Type_TYPE_MESSAGE = 11,
0349   FieldDescriptorProto_Type_TYPE_BYTES = 12,
0350   FieldDescriptorProto_Type_TYPE_UINT32 = 13,
0351   FieldDescriptorProto_Type_TYPE_ENUM = 14,
0352   FieldDescriptorProto_Type_TYPE_SFIXED32 = 15,
0353   FieldDescriptorProto_Type_TYPE_SFIXED64 = 16,
0354   FieldDescriptorProto_Type_TYPE_SINT32 = 17,
0355   FieldDescriptorProto_Type_TYPE_SINT64 = 18,
0356 };
0357 
0358 PROTOBUF_EXPORT extern const uint32_t FieldDescriptorProto_Type_internal_data_[];
0359 inline constexpr FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MIN =
0360     static_cast<FieldDescriptorProto_Type>(1);
0361 inline constexpr FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MAX =
0362     static_cast<FieldDescriptorProto_Type>(18);
0363 inline bool FieldDescriptorProto_Type_IsValid(int value) {
0364   return 1 <= value && value <= 18;
0365 }
0366 inline constexpr int FieldDescriptorProto_Type_Type_ARRAYSIZE = 18 + 1;
0367 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FieldDescriptorProto_Type_descriptor();
0368 template <typename T>
0369 const ::std::string& FieldDescriptorProto_Type_Name(T value) {
0370   static_assert(::std::is_same<T, FieldDescriptorProto_Type>::value ||
0371                     ::std::is_integral<T>::value,
0372                 "Incorrect type passed to Type_Name().");
0373   return FieldDescriptorProto_Type_Name(static_cast<FieldDescriptorProto_Type>(value));
0374 }
0375 template <>
0376 inline const ::std::string& FieldDescriptorProto_Type_Name(FieldDescriptorProto_Type value) {
0377   return ::google::protobuf::internal::NameOfDenseEnum<FieldDescriptorProto_Type_descriptor, 1, 18>(
0378       static_cast<int>(value));
0379 }
0380 inline bool FieldDescriptorProto_Type_Parse(
0381     ::absl::string_view name, FieldDescriptorProto_Type* PROTOBUF_NONNULL value) {
0382   return ::google::protobuf::internal::ParseNamedEnum<FieldDescriptorProto_Type>(FieldDescriptorProto_Type_descriptor(), name,
0383                                            value);
0384 }
0385 enum FieldDescriptorProto_Label : int {
0386   FieldDescriptorProto_Label_LABEL_OPTIONAL = 1,
0387   FieldDescriptorProto_Label_LABEL_REPEATED = 3,
0388   FieldDescriptorProto_Label_LABEL_REQUIRED = 2,
0389 };
0390 
0391 PROTOBUF_EXPORT extern const uint32_t FieldDescriptorProto_Label_internal_data_[];
0392 inline constexpr FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MIN =
0393     static_cast<FieldDescriptorProto_Label>(1);
0394 inline constexpr FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MAX =
0395     static_cast<FieldDescriptorProto_Label>(3);
0396 inline bool FieldDescriptorProto_Label_IsValid(int value) {
0397   return 1 <= value && value <= 3;
0398 }
0399 inline constexpr int FieldDescriptorProto_Label_Label_ARRAYSIZE = 3 + 1;
0400 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FieldDescriptorProto_Label_descriptor();
0401 template <typename T>
0402 const ::std::string& FieldDescriptorProto_Label_Name(T value) {
0403   static_assert(::std::is_same<T, FieldDescriptorProto_Label>::value ||
0404                     ::std::is_integral<T>::value,
0405                 "Incorrect type passed to Label_Name().");
0406   return FieldDescriptorProto_Label_Name(static_cast<FieldDescriptorProto_Label>(value));
0407 }
0408 template <>
0409 inline const ::std::string& FieldDescriptorProto_Label_Name(FieldDescriptorProto_Label value) {
0410   return ::google::protobuf::internal::NameOfDenseEnum<FieldDescriptorProto_Label_descriptor, 1, 3>(
0411       static_cast<int>(value));
0412 }
0413 inline bool FieldDescriptorProto_Label_Parse(
0414     ::absl::string_view name, FieldDescriptorProto_Label* PROTOBUF_NONNULL value) {
0415   return ::google::protobuf::internal::ParseNamedEnum<FieldDescriptorProto_Label>(FieldDescriptorProto_Label_descriptor(), name,
0416                                            value);
0417 }
0418 enum FileOptions_OptimizeMode : int {
0419   FileOptions_OptimizeMode_SPEED = 1,
0420   FileOptions_OptimizeMode_CODE_SIZE = 2,
0421   FileOptions_OptimizeMode_LITE_RUNTIME = 3,
0422 };
0423 
0424 PROTOBUF_EXPORT extern const uint32_t FileOptions_OptimizeMode_internal_data_[];
0425 inline constexpr FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MIN =
0426     static_cast<FileOptions_OptimizeMode>(1);
0427 inline constexpr FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MAX =
0428     static_cast<FileOptions_OptimizeMode>(3);
0429 inline bool FileOptions_OptimizeMode_IsValid(int value) {
0430   return 1 <= value && value <= 3;
0431 }
0432 inline constexpr int FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE = 3 + 1;
0433 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FileOptions_OptimizeMode_descriptor();
0434 template <typename T>
0435 const ::std::string& FileOptions_OptimizeMode_Name(T value) {
0436   static_assert(::std::is_same<T, FileOptions_OptimizeMode>::value ||
0437                     ::std::is_integral<T>::value,
0438                 "Incorrect type passed to OptimizeMode_Name().");
0439   return FileOptions_OptimizeMode_Name(static_cast<FileOptions_OptimizeMode>(value));
0440 }
0441 template <>
0442 inline const ::std::string& FileOptions_OptimizeMode_Name(FileOptions_OptimizeMode value) {
0443   return ::google::protobuf::internal::NameOfDenseEnum<FileOptions_OptimizeMode_descriptor, 1, 3>(
0444       static_cast<int>(value));
0445 }
0446 inline bool FileOptions_OptimizeMode_Parse(
0447     ::absl::string_view name, FileOptions_OptimizeMode* PROTOBUF_NONNULL value) {
0448   return ::google::protobuf::internal::ParseNamedEnum<FileOptions_OptimizeMode>(FileOptions_OptimizeMode_descriptor(), name,
0449                                            value);
0450 }
0451 enum FieldOptions_CType : int {
0452   FieldOptions_CType_STRING = 0,
0453   FieldOptions_CType_CORD = 1,
0454   FieldOptions_CType_STRING_PIECE = 2,
0455 };
0456 
0457 PROTOBUF_EXPORT extern const uint32_t FieldOptions_CType_internal_data_[];
0458 inline constexpr FieldOptions_CType FieldOptions_CType_CType_MIN =
0459     static_cast<FieldOptions_CType>(0);
0460 inline constexpr FieldOptions_CType FieldOptions_CType_CType_MAX =
0461     static_cast<FieldOptions_CType>(2);
0462 inline bool FieldOptions_CType_IsValid(int value) {
0463   return 0 <= value && value <= 2;
0464 }
0465 inline constexpr int FieldOptions_CType_CType_ARRAYSIZE = 2 + 1;
0466 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FieldOptions_CType_descriptor();
0467 template <typename T>
0468 const ::std::string& FieldOptions_CType_Name(T value) {
0469   static_assert(::std::is_same<T, FieldOptions_CType>::value ||
0470                     ::std::is_integral<T>::value,
0471                 "Incorrect type passed to CType_Name().");
0472   return FieldOptions_CType_Name(static_cast<FieldOptions_CType>(value));
0473 }
0474 template <>
0475 inline const ::std::string& FieldOptions_CType_Name(FieldOptions_CType value) {
0476   return ::google::protobuf::internal::NameOfDenseEnum<FieldOptions_CType_descriptor, 0, 2>(
0477       static_cast<int>(value));
0478 }
0479 inline bool FieldOptions_CType_Parse(
0480     ::absl::string_view name, FieldOptions_CType* PROTOBUF_NONNULL value) {
0481   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_CType>(FieldOptions_CType_descriptor(), name,
0482                                            value);
0483 }
0484 enum FieldOptions_JSType : int {
0485   FieldOptions_JSType_JS_NORMAL = 0,
0486   FieldOptions_JSType_JS_STRING = 1,
0487   FieldOptions_JSType_JS_NUMBER = 2,
0488 };
0489 
0490 PROTOBUF_EXPORT extern const uint32_t FieldOptions_JSType_internal_data_[];
0491 inline constexpr FieldOptions_JSType FieldOptions_JSType_JSType_MIN =
0492     static_cast<FieldOptions_JSType>(0);
0493 inline constexpr FieldOptions_JSType FieldOptions_JSType_JSType_MAX =
0494     static_cast<FieldOptions_JSType>(2);
0495 inline bool FieldOptions_JSType_IsValid(int value) {
0496   return 0 <= value && value <= 2;
0497 }
0498 inline constexpr int FieldOptions_JSType_JSType_ARRAYSIZE = 2 + 1;
0499 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FieldOptions_JSType_descriptor();
0500 template <typename T>
0501 const ::std::string& FieldOptions_JSType_Name(T value) {
0502   static_assert(::std::is_same<T, FieldOptions_JSType>::value ||
0503                     ::std::is_integral<T>::value,
0504                 "Incorrect type passed to JSType_Name().");
0505   return FieldOptions_JSType_Name(static_cast<FieldOptions_JSType>(value));
0506 }
0507 template <>
0508 inline const ::std::string& FieldOptions_JSType_Name(FieldOptions_JSType value) {
0509   return ::google::protobuf::internal::NameOfDenseEnum<FieldOptions_JSType_descriptor, 0, 2>(
0510       static_cast<int>(value));
0511 }
0512 inline bool FieldOptions_JSType_Parse(
0513     ::absl::string_view name, FieldOptions_JSType* PROTOBUF_NONNULL value) {
0514   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_JSType>(FieldOptions_JSType_descriptor(), name,
0515                                            value);
0516 }
0517 enum FieldOptions_OptionRetention : int {
0518   FieldOptions_OptionRetention_RETENTION_UNKNOWN = 0,
0519   FieldOptions_OptionRetention_RETENTION_RUNTIME = 1,
0520   FieldOptions_OptionRetention_RETENTION_SOURCE = 2,
0521 };
0522 
0523 PROTOBUF_EXPORT extern const uint32_t FieldOptions_OptionRetention_internal_data_[];
0524 inline constexpr FieldOptions_OptionRetention FieldOptions_OptionRetention_OptionRetention_MIN =
0525     static_cast<FieldOptions_OptionRetention>(0);
0526 inline constexpr FieldOptions_OptionRetention FieldOptions_OptionRetention_OptionRetention_MAX =
0527     static_cast<FieldOptions_OptionRetention>(2);
0528 inline bool FieldOptions_OptionRetention_IsValid(int value) {
0529   return 0 <= value && value <= 2;
0530 }
0531 inline constexpr int FieldOptions_OptionRetention_OptionRetention_ARRAYSIZE = 2 + 1;
0532 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FieldOptions_OptionRetention_descriptor();
0533 template <typename T>
0534 const ::std::string& FieldOptions_OptionRetention_Name(T value) {
0535   static_assert(::std::is_same<T, FieldOptions_OptionRetention>::value ||
0536                     ::std::is_integral<T>::value,
0537                 "Incorrect type passed to OptionRetention_Name().");
0538   return FieldOptions_OptionRetention_Name(static_cast<FieldOptions_OptionRetention>(value));
0539 }
0540 template <>
0541 inline const ::std::string& FieldOptions_OptionRetention_Name(FieldOptions_OptionRetention value) {
0542   return ::google::protobuf::internal::NameOfDenseEnum<FieldOptions_OptionRetention_descriptor, 0, 2>(
0543       static_cast<int>(value));
0544 }
0545 inline bool FieldOptions_OptionRetention_Parse(
0546     ::absl::string_view name, FieldOptions_OptionRetention* PROTOBUF_NONNULL value) {
0547   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_OptionRetention>(FieldOptions_OptionRetention_descriptor(), name,
0548                                            value);
0549 }
0550 enum FieldOptions_OptionTargetType : int {
0551   FieldOptions_OptionTargetType_TARGET_TYPE_UNKNOWN = 0,
0552   FieldOptions_OptionTargetType_TARGET_TYPE_FILE = 1,
0553   FieldOptions_OptionTargetType_TARGET_TYPE_EXTENSION_RANGE = 2,
0554   FieldOptions_OptionTargetType_TARGET_TYPE_MESSAGE = 3,
0555   FieldOptions_OptionTargetType_TARGET_TYPE_FIELD = 4,
0556   FieldOptions_OptionTargetType_TARGET_TYPE_ONEOF = 5,
0557   FieldOptions_OptionTargetType_TARGET_TYPE_ENUM = 6,
0558   FieldOptions_OptionTargetType_TARGET_TYPE_ENUM_ENTRY = 7,
0559   FieldOptions_OptionTargetType_TARGET_TYPE_SERVICE = 8,
0560   FieldOptions_OptionTargetType_TARGET_TYPE_METHOD = 9,
0561 };
0562 
0563 PROTOBUF_EXPORT extern const uint32_t FieldOptions_OptionTargetType_internal_data_[];
0564 inline constexpr FieldOptions_OptionTargetType FieldOptions_OptionTargetType_OptionTargetType_MIN =
0565     static_cast<FieldOptions_OptionTargetType>(0);
0566 inline constexpr FieldOptions_OptionTargetType FieldOptions_OptionTargetType_OptionTargetType_MAX =
0567     static_cast<FieldOptions_OptionTargetType>(9);
0568 inline bool FieldOptions_OptionTargetType_IsValid(int value) {
0569   return 0 <= value && value <= 9;
0570 }
0571 inline constexpr int FieldOptions_OptionTargetType_OptionTargetType_ARRAYSIZE = 9 + 1;
0572 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FieldOptions_OptionTargetType_descriptor();
0573 template <typename T>
0574 const ::std::string& FieldOptions_OptionTargetType_Name(T value) {
0575   static_assert(::std::is_same<T, FieldOptions_OptionTargetType>::value ||
0576                     ::std::is_integral<T>::value,
0577                 "Incorrect type passed to OptionTargetType_Name().");
0578   return FieldOptions_OptionTargetType_Name(static_cast<FieldOptions_OptionTargetType>(value));
0579 }
0580 template <>
0581 inline const ::std::string& FieldOptions_OptionTargetType_Name(FieldOptions_OptionTargetType value) {
0582   return ::google::protobuf::internal::NameOfDenseEnum<FieldOptions_OptionTargetType_descriptor, 0, 9>(
0583       static_cast<int>(value));
0584 }
0585 inline bool FieldOptions_OptionTargetType_Parse(
0586     ::absl::string_view name, FieldOptions_OptionTargetType* PROTOBUF_NONNULL value) {
0587   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_OptionTargetType>(FieldOptions_OptionTargetType_descriptor(), name,
0588                                            value);
0589 }
0590 enum MethodOptions_IdempotencyLevel : int {
0591   MethodOptions_IdempotencyLevel_IDEMPOTENCY_UNKNOWN = 0,
0592   MethodOptions_IdempotencyLevel_NO_SIDE_EFFECTS = 1,
0593   MethodOptions_IdempotencyLevel_IDEMPOTENT = 2,
0594 };
0595 
0596 PROTOBUF_EXPORT extern const uint32_t MethodOptions_IdempotencyLevel_internal_data_[];
0597 inline constexpr MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel_IdempotencyLevel_MIN =
0598     static_cast<MethodOptions_IdempotencyLevel>(0);
0599 inline constexpr MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel_IdempotencyLevel_MAX =
0600     static_cast<MethodOptions_IdempotencyLevel>(2);
0601 inline bool MethodOptions_IdempotencyLevel_IsValid(int value) {
0602   return 0 <= value && value <= 2;
0603 }
0604 inline constexpr int MethodOptions_IdempotencyLevel_IdempotencyLevel_ARRAYSIZE = 2 + 1;
0605 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL MethodOptions_IdempotencyLevel_descriptor();
0606 template <typename T>
0607 const ::std::string& MethodOptions_IdempotencyLevel_Name(T value) {
0608   static_assert(::std::is_same<T, MethodOptions_IdempotencyLevel>::value ||
0609                     ::std::is_integral<T>::value,
0610                 "Incorrect type passed to IdempotencyLevel_Name().");
0611   return MethodOptions_IdempotencyLevel_Name(static_cast<MethodOptions_IdempotencyLevel>(value));
0612 }
0613 template <>
0614 inline const ::std::string& MethodOptions_IdempotencyLevel_Name(MethodOptions_IdempotencyLevel value) {
0615   return ::google::protobuf::internal::NameOfDenseEnum<MethodOptions_IdempotencyLevel_descriptor, 0, 2>(
0616       static_cast<int>(value));
0617 }
0618 inline bool MethodOptions_IdempotencyLevel_Parse(
0619     ::absl::string_view name, MethodOptions_IdempotencyLevel* PROTOBUF_NONNULL value) {
0620   return ::google::protobuf::internal::ParseNamedEnum<MethodOptions_IdempotencyLevel>(MethodOptions_IdempotencyLevel_descriptor(), name,
0621                                            value);
0622 }
0623 enum FeatureSet_VisibilityFeature_DefaultSymbolVisibility : int {
0624   FeatureSet_VisibilityFeature_DefaultSymbolVisibility_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0,
0625   FeatureSet_VisibilityFeature_DefaultSymbolVisibility_EXPORT_ALL = 1,
0626   FeatureSet_VisibilityFeature_DefaultSymbolVisibility_EXPORT_TOP_LEVEL = 2,
0627   FeatureSet_VisibilityFeature_DefaultSymbolVisibility_LOCAL_ALL = 3,
0628   FeatureSet_VisibilityFeature_DefaultSymbolVisibility_STRICT = 4,
0629 };
0630 
0631 PROTOBUF_EXPORT extern const uint32_t FeatureSet_VisibilityFeature_DefaultSymbolVisibility_internal_data_[];
0632 inline constexpr FeatureSet_VisibilityFeature_DefaultSymbolVisibility FeatureSet_VisibilityFeature_DefaultSymbolVisibility_DefaultSymbolVisibility_MIN =
0633     static_cast<FeatureSet_VisibilityFeature_DefaultSymbolVisibility>(0);
0634 inline constexpr FeatureSet_VisibilityFeature_DefaultSymbolVisibility FeatureSet_VisibilityFeature_DefaultSymbolVisibility_DefaultSymbolVisibility_MAX =
0635     static_cast<FeatureSet_VisibilityFeature_DefaultSymbolVisibility>(4);
0636 inline bool FeatureSet_VisibilityFeature_DefaultSymbolVisibility_IsValid(int value) {
0637   return 0 <= value && value <= 4;
0638 }
0639 inline constexpr int FeatureSet_VisibilityFeature_DefaultSymbolVisibility_DefaultSymbolVisibility_ARRAYSIZE = 4 + 1;
0640 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FeatureSet_VisibilityFeature_DefaultSymbolVisibility_descriptor();
0641 template <typename T>
0642 const ::std::string& FeatureSet_VisibilityFeature_DefaultSymbolVisibility_Name(T value) {
0643   static_assert(::std::is_same<T, FeatureSet_VisibilityFeature_DefaultSymbolVisibility>::value ||
0644                     ::std::is_integral<T>::value,
0645                 "Incorrect type passed to DefaultSymbolVisibility_Name().");
0646   return FeatureSet_VisibilityFeature_DefaultSymbolVisibility_Name(static_cast<FeatureSet_VisibilityFeature_DefaultSymbolVisibility>(value));
0647 }
0648 template <>
0649 inline const ::std::string& FeatureSet_VisibilityFeature_DefaultSymbolVisibility_Name(FeatureSet_VisibilityFeature_DefaultSymbolVisibility value) {
0650   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_VisibilityFeature_DefaultSymbolVisibility_descriptor, 0, 4>(
0651       static_cast<int>(value));
0652 }
0653 inline bool FeatureSet_VisibilityFeature_DefaultSymbolVisibility_Parse(
0654     ::absl::string_view name, FeatureSet_VisibilityFeature_DefaultSymbolVisibility* PROTOBUF_NONNULL value) {
0655   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_VisibilityFeature_DefaultSymbolVisibility>(FeatureSet_VisibilityFeature_DefaultSymbolVisibility_descriptor(), name,
0656                                            value);
0657 }
0658 enum FeatureSet_FieldPresence : int {
0659   FeatureSet_FieldPresence_FIELD_PRESENCE_UNKNOWN = 0,
0660   FeatureSet_FieldPresence_EXPLICIT = 1,
0661   FeatureSet_FieldPresence_IMPLICIT = 2,
0662   FeatureSet_FieldPresence_LEGACY_REQUIRED = 3,
0663 };
0664 
0665 PROTOBUF_EXPORT extern const uint32_t FeatureSet_FieldPresence_internal_data_[];
0666 inline constexpr FeatureSet_FieldPresence FeatureSet_FieldPresence_FieldPresence_MIN =
0667     static_cast<FeatureSet_FieldPresence>(0);
0668 inline constexpr FeatureSet_FieldPresence FeatureSet_FieldPresence_FieldPresence_MAX =
0669     static_cast<FeatureSet_FieldPresence>(3);
0670 inline bool FeatureSet_FieldPresence_IsValid(int value) {
0671   return 0 <= value && value <= 3;
0672 }
0673 inline constexpr int FeatureSet_FieldPresence_FieldPresence_ARRAYSIZE = 3 + 1;
0674 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FeatureSet_FieldPresence_descriptor();
0675 template <typename T>
0676 const ::std::string& FeatureSet_FieldPresence_Name(T value) {
0677   static_assert(::std::is_same<T, FeatureSet_FieldPresence>::value ||
0678                     ::std::is_integral<T>::value,
0679                 "Incorrect type passed to FieldPresence_Name().");
0680   return FeatureSet_FieldPresence_Name(static_cast<FeatureSet_FieldPresence>(value));
0681 }
0682 template <>
0683 inline const ::std::string& FeatureSet_FieldPresence_Name(FeatureSet_FieldPresence value) {
0684   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_FieldPresence_descriptor, 0, 3>(
0685       static_cast<int>(value));
0686 }
0687 inline bool FeatureSet_FieldPresence_Parse(
0688     ::absl::string_view name, FeatureSet_FieldPresence* PROTOBUF_NONNULL value) {
0689   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_FieldPresence>(FeatureSet_FieldPresence_descriptor(), name,
0690                                            value);
0691 }
0692 enum FeatureSet_EnumType : int {
0693   FeatureSet_EnumType_ENUM_TYPE_UNKNOWN = 0,
0694   FeatureSet_EnumType_OPEN = 1,
0695   FeatureSet_EnumType_CLOSED = 2,
0696 };
0697 
0698 PROTOBUF_EXPORT extern const uint32_t FeatureSet_EnumType_internal_data_[];
0699 inline constexpr FeatureSet_EnumType FeatureSet_EnumType_EnumType_MIN =
0700     static_cast<FeatureSet_EnumType>(0);
0701 inline constexpr FeatureSet_EnumType FeatureSet_EnumType_EnumType_MAX =
0702     static_cast<FeatureSet_EnumType>(2);
0703 inline bool FeatureSet_EnumType_IsValid(int value) {
0704   return 0 <= value && value <= 2;
0705 }
0706 inline constexpr int FeatureSet_EnumType_EnumType_ARRAYSIZE = 2 + 1;
0707 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FeatureSet_EnumType_descriptor();
0708 template <typename T>
0709 const ::std::string& FeatureSet_EnumType_Name(T value) {
0710   static_assert(::std::is_same<T, FeatureSet_EnumType>::value ||
0711                     ::std::is_integral<T>::value,
0712                 "Incorrect type passed to EnumType_Name().");
0713   return FeatureSet_EnumType_Name(static_cast<FeatureSet_EnumType>(value));
0714 }
0715 template <>
0716 inline const ::std::string& FeatureSet_EnumType_Name(FeatureSet_EnumType value) {
0717   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_EnumType_descriptor, 0, 2>(
0718       static_cast<int>(value));
0719 }
0720 inline bool FeatureSet_EnumType_Parse(
0721     ::absl::string_view name, FeatureSet_EnumType* PROTOBUF_NONNULL value) {
0722   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_EnumType>(FeatureSet_EnumType_descriptor(), name,
0723                                            value);
0724 }
0725 enum FeatureSet_RepeatedFieldEncoding : int {
0726   FeatureSet_RepeatedFieldEncoding_REPEATED_FIELD_ENCODING_UNKNOWN = 0,
0727   FeatureSet_RepeatedFieldEncoding_PACKED = 1,
0728   FeatureSet_RepeatedFieldEncoding_EXPANDED = 2,
0729 };
0730 
0731 PROTOBUF_EXPORT extern const uint32_t FeatureSet_RepeatedFieldEncoding_internal_data_[];
0732 inline constexpr FeatureSet_RepeatedFieldEncoding FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_MIN =
0733     static_cast<FeatureSet_RepeatedFieldEncoding>(0);
0734 inline constexpr FeatureSet_RepeatedFieldEncoding FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_MAX =
0735     static_cast<FeatureSet_RepeatedFieldEncoding>(2);
0736 inline bool FeatureSet_RepeatedFieldEncoding_IsValid(int value) {
0737   return 0 <= value && value <= 2;
0738 }
0739 inline constexpr int FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_ARRAYSIZE = 2 + 1;
0740 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FeatureSet_RepeatedFieldEncoding_descriptor();
0741 template <typename T>
0742 const ::std::string& FeatureSet_RepeatedFieldEncoding_Name(T value) {
0743   static_assert(::std::is_same<T, FeatureSet_RepeatedFieldEncoding>::value ||
0744                     ::std::is_integral<T>::value,
0745                 "Incorrect type passed to RepeatedFieldEncoding_Name().");
0746   return FeatureSet_RepeatedFieldEncoding_Name(static_cast<FeatureSet_RepeatedFieldEncoding>(value));
0747 }
0748 template <>
0749 inline const ::std::string& FeatureSet_RepeatedFieldEncoding_Name(FeatureSet_RepeatedFieldEncoding value) {
0750   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_RepeatedFieldEncoding_descriptor, 0, 2>(
0751       static_cast<int>(value));
0752 }
0753 inline bool FeatureSet_RepeatedFieldEncoding_Parse(
0754     ::absl::string_view name, FeatureSet_RepeatedFieldEncoding* PROTOBUF_NONNULL value) {
0755   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_RepeatedFieldEncoding>(FeatureSet_RepeatedFieldEncoding_descriptor(), name,
0756                                            value);
0757 }
0758 enum FeatureSet_Utf8Validation : int {
0759   FeatureSet_Utf8Validation_UTF8_VALIDATION_UNKNOWN = 0,
0760   FeatureSet_Utf8Validation_VERIFY = 2,
0761   FeatureSet_Utf8Validation_NONE = 3,
0762 };
0763 
0764 PROTOBUF_EXPORT extern const uint32_t FeatureSet_Utf8Validation_internal_data_[];
0765 inline constexpr FeatureSet_Utf8Validation FeatureSet_Utf8Validation_Utf8Validation_MIN =
0766     static_cast<FeatureSet_Utf8Validation>(0);
0767 inline constexpr FeatureSet_Utf8Validation FeatureSet_Utf8Validation_Utf8Validation_MAX =
0768     static_cast<FeatureSet_Utf8Validation>(3);
0769 inline bool FeatureSet_Utf8Validation_IsValid(int value) {
0770   return 0 <= value && value <= 3 && ((13u >> value) & 1) != 0;
0771 }
0772 inline constexpr int FeatureSet_Utf8Validation_Utf8Validation_ARRAYSIZE = 3 + 1;
0773 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FeatureSet_Utf8Validation_descriptor();
0774 template <typename T>
0775 const ::std::string& FeatureSet_Utf8Validation_Name(T value) {
0776   static_assert(::std::is_same<T, FeatureSet_Utf8Validation>::value ||
0777                     ::std::is_integral<T>::value,
0778                 "Incorrect type passed to Utf8Validation_Name().");
0779   return FeatureSet_Utf8Validation_Name(static_cast<FeatureSet_Utf8Validation>(value));
0780 }
0781 template <>
0782 inline const ::std::string& FeatureSet_Utf8Validation_Name(FeatureSet_Utf8Validation value) {
0783   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_Utf8Validation_descriptor, 0, 3>(
0784       static_cast<int>(value));
0785 }
0786 inline bool FeatureSet_Utf8Validation_Parse(
0787     ::absl::string_view name, FeatureSet_Utf8Validation* PROTOBUF_NONNULL value) {
0788   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_Utf8Validation>(FeatureSet_Utf8Validation_descriptor(), name,
0789                                            value);
0790 }
0791 enum FeatureSet_MessageEncoding : int {
0792   FeatureSet_MessageEncoding_MESSAGE_ENCODING_UNKNOWN = 0,
0793   FeatureSet_MessageEncoding_LENGTH_PREFIXED = 1,
0794   FeatureSet_MessageEncoding_DELIMITED = 2,
0795 };
0796 
0797 PROTOBUF_EXPORT extern const uint32_t FeatureSet_MessageEncoding_internal_data_[];
0798 inline constexpr FeatureSet_MessageEncoding FeatureSet_MessageEncoding_MessageEncoding_MIN =
0799     static_cast<FeatureSet_MessageEncoding>(0);
0800 inline constexpr FeatureSet_MessageEncoding FeatureSet_MessageEncoding_MessageEncoding_MAX =
0801     static_cast<FeatureSet_MessageEncoding>(2);
0802 inline bool FeatureSet_MessageEncoding_IsValid(int value) {
0803   return 0 <= value && value <= 2;
0804 }
0805 inline constexpr int FeatureSet_MessageEncoding_MessageEncoding_ARRAYSIZE = 2 + 1;
0806 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FeatureSet_MessageEncoding_descriptor();
0807 template <typename T>
0808 const ::std::string& FeatureSet_MessageEncoding_Name(T value) {
0809   static_assert(::std::is_same<T, FeatureSet_MessageEncoding>::value ||
0810                     ::std::is_integral<T>::value,
0811                 "Incorrect type passed to MessageEncoding_Name().");
0812   return FeatureSet_MessageEncoding_Name(static_cast<FeatureSet_MessageEncoding>(value));
0813 }
0814 template <>
0815 inline const ::std::string& FeatureSet_MessageEncoding_Name(FeatureSet_MessageEncoding value) {
0816   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_MessageEncoding_descriptor, 0, 2>(
0817       static_cast<int>(value));
0818 }
0819 inline bool FeatureSet_MessageEncoding_Parse(
0820     ::absl::string_view name, FeatureSet_MessageEncoding* PROTOBUF_NONNULL value) {
0821   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_MessageEncoding>(FeatureSet_MessageEncoding_descriptor(), name,
0822                                            value);
0823 }
0824 enum FeatureSet_JsonFormat : int {
0825   FeatureSet_JsonFormat_JSON_FORMAT_UNKNOWN = 0,
0826   FeatureSet_JsonFormat_ALLOW = 1,
0827   FeatureSet_JsonFormat_LEGACY_BEST_EFFORT = 2,
0828 };
0829 
0830 PROTOBUF_EXPORT extern const uint32_t FeatureSet_JsonFormat_internal_data_[];
0831 inline constexpr FeatureSet_JsonFormat FeatureSet_JsonFormat_JsonFormat_MIN =
0832     static_cast<FeatureSet_JsonFormat>(0);
0833 inline constexpr FeatureSet_JsonFormat FeatureSet_JsonFormat_JsonFormat_MAX =
0834     static_cast<FeatureSet_JsonFormat>(2);
0835 inline bool FeatureSet_JsonFormat_IsValid(int value) {
0836   return 0 <= value && value <= 2;
0837 }
0838 inline constexpr int FeatureSet_JsonFormat_JsonFormat_ARRAYSIZE = 2 + 1;
0839 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FeatureSet_JsonFormat_descriptor();
0840 template <typename T>
0841 const ::std::string& FeatureSet_JsonFormat_Name(T value) {
0842   static_assert(::std::is_same<T, FeatureSet_JsonFormat>::value ||
0843                     ::std::is_integral<T>::value,
0844                 "Incorrect type passed to JsonFormat_Name().");
0845   return FeatureSet_JsonFormat_Name(static_cast<FeatureSet_JsonFormat>(value));
0846 }
0847 template <>
0848 inline const ::std::string& FeatureSet_JsonFormat_Name(FeatureSet_JsonFormat value) {
0849   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_JsonFormat_descriptor, 0, 2>(
0850       static_cast<int>(value));
0851 }
0852 inline bool FeatureSet_JsonFormat_Parse(
0853     ::absl::string_view name, FeatureSet_JsonFormat* PROTOBUF_NONNULL value) {
0854   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_JsonFormat>(FeatureSet_JsonFormat_descriptor(), name,
0855                                            value);
0856 }
0857 enum FeatureSet_EnforceNamingStyle : int {
0858   FeatureSet_EnforceNamingStyle_ENFORCE_NAMING_STYLE_UNKNOWN = 0,
0859   FeatureSet_EnforceNamingStyle_STYLE2024 = 1,
0860   FeatureSet_EnforceNamingStyle_STYLE_LEGACY = 2,
0861 };
0862 
0863 PROTOBUF_EXPORT extern const uint32_t FeatureSet_EnforceNamingStyle_internal_data_[];
0864 inline constexpr FeatureSet_EnforceNamingStyle FeatureSet_EnforceNamingStyle_EnforceNamingStyle_MIN =
0865     static_cast<FeatureSet_EnforceNamingStyle>(0);
0866 inline constexpr FeatureSet_EnforceNamingStyle FeatureSet_EnforceNamingStyle_EnforceNamingStyle_MAX =
0867     static_cast<FeatureSet_EnforceNamingStyle>(2);
0868 inline bool FeatureSet_EnforceNamingStyle_IsValid(int value) {
0869   return 0 <= value && value <= 2;
0870 }
0871 inline constexpr int FeatureSet_EnforceNamingStyle_EnforceNamingStyle_ARRAYSIZE = 2 + 1;
0872 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FeatureSet_EnforceNamingStyle_descriptor();
0873 template <typename T>
0874 const ::std::string& FeatureSet_EnforceNamingStyle_Name(T value) {
0875   static_assert(::std::is_same<T, FeatureSet_EnforceNamingStyle>::value ||
0876                     ::std::is_integral<T>::value,
0877                 "Incorrect type passed to EnforceNamingStyle_Name().");
0878   return FeatureSet_EnforceNamingStyle_Name(static_cast<FeatureSet_EnforceNamingStyle>(value));
0879 }
0880 template <>
0881 inline const ::std::string& FeatureSet_EnforceNamingStyle_Name(FeatureSet_EnforceNamingStyle value) {
0882   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_EnforceNamingStyle_descriptor, 0, 2>(
0883       static_cast<int>(value));
0884 }
0885 inline bool FeatureSet_EnforceNamingStyle_Parse(
0886     ::absl::string_view name, FeatureSet_EnforceNamingStyle* PROTOBUF_NONNULL value) {
0887   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_EnforceNamingStyle>(FeatureSet_EnforceNamingStyle_descriptor(), name,
0888                                            value);
0889 }
0890 enum GeneratedCodeInfo_Annotation_Semantic : int {
0891   GeneratedCodeInfo_Annotation_Semantic_NONE = 0,
0892   GeneratedCodeInfo_Annotation_Semantic_SET = 1,
0893   GeneratedCodeInfo_Annotation_Semantic_ALIAS = 2,
0894 };
0895 
0896 PROTOBUF_EXPORT extern const uint32_t GeneratedCodeInfo_Annotation_Semantic_internal_data_[];
0897 inline constexpr GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation_Semantic_Semantic_MIN =
0898     static_cast<GeneratedCodeInfo_Annotation_Semantic>(0);
0899 inline constexpr GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation_Semantic_Semantic_MAX =
0900     static_cast<GeneratedCodeInfo_Annotation_Semantic>(2);
0901 inline bool GeneratedCodeInfo_Annotation_Semantic_IsValid(int value) {
0902   return 0 <= value && value <= 2;
0903 }
0904 inline constexpr int GeneratedCodeInfo_Annotation_Semantic_Semantic_ARRAYSIZE = 2 + 1;
0905 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL GeneratedCodeInfo_Annotation_Semantic_descriptor();
0906 template <typename T>
0907 const ::std::string& GeneratedCodeInfo_Annotation_Semantic_Name(T value) {
0908   static_assert(::std::is_same<T, GeneratedCodeInfo_Annotation_Semantic>::value ||
0909                     ::std::is_integral<T>::value,
0910                 "Incorrect type passed to Semantic_Name().");
0911   return GeneratedCodeInfo_Annotation_Semantic_Name(static_cast<GeneratedCodeInfo_Annotation_Semantic>(value));
0912 }
0913 template <>
0914 inline const ::std::string& GeneratedCodeInfo_Annotation_Semantic_Name(GeneratedCodeInfo_Annotation_Semantic value) {
0915   return ::google::protobuf::internal::NameOfDenseEnum<GeneratedCodeInfo_Annotation_Semantic_descriptor, 0, 2>(
0916       static_cast<int>(value));
0917 }
0918 inline bool GeneratedCodeInfo_Annotation_Semantic_Parse(
0919     ::absl::string_view name, GeneratedCodeInfo_Annotation_Semantic* PROTOBUF_NONNULL value) {
0920   return ::google::protobuf::internal::ParseNamedEnum<GeneratedCodeInfo_Annotation_Semantic>(GeneratedCodeInfo_Annotation_Semantic_descriptor(), name,
0921                                            value);
0922 }
0923 enum Edition : int {
0924   EDITION_UNKNOWN = 0,
0925   EDITION_LEGACY = 900,
0926   EDITION_PROTO2 = 998,
0927   EDITION_PROTO3 = 999,
0928   EDITION_2023 = 1000,
0929   EDITION_2024 = 1001,
0930   EDITION_1_TEST_ONLY = 1,
0931   EDITION_2_TEST_ONLY = 2,
0932   EDITION_99997_TEST_ONLY = 99997,
0933   EDITION_99998_TEST_ONLY = 99998,
0934   EDITION_99999_TEST_ONLY = 99999,
0935   EDITION_MAX = 2147483647,
0936 };
0937 
0938 PROTOBUF_EXPORT extern const uint32_t Edition_internal_data_[];
0939 inline constexpr Edition Edition_MIN =
0940     static_cast<Edition>(0);
0941 inline constexpr Edition Edition_MAX =
0942     static_cast<Edition>(2147483647);
0943 inline bool Edition_IsValid(int value) {
0944   return ::google::protobuf::internal::ValidateEnum(value, Edition_internal_data_);
0945 }
0946 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Edition_descriptor();
0947 template <typename T>
0948 const ::std::string& Edition_Name(T value) {
0949   static_assert(::std::is_same<T, Edition>::value ||
0950                     ::std::is_integral<T>::value,
0951                 "Incorrect type passed to Edition_Name().");
0952   return ::google::protobuf::internal::NameOfEnum(Edition_descriptor(), value);
0953 }
0954 inline bool Edition_Parse(
0955     ::absl::string_view name, Edition* PROTOBUF_NONNULL value) {
0956   return ::google::protobuf::internal::ParseNamedEnum<Edition>(Edition_descriptor(), name,
0957                                            value);
0958 }
0959 enum SymbolVisibility : int {
0960   VISIBILITY_UNSET = 0,
0961   VISIBILITY_LOCAL = 1,
0962   VISIBILITY_EXPORT = 2,
0963 };
0964 
0965 PROTOBUF_EXPORT extern const uint32_t SymbolVisibility_internal_data_[];
0966 inline constexpr SymbolVisibility SymbolVisibility_MIN =
0967     static_cast<SymbolVisibility>(0);
0968 inline constexpr SymbolVisibility SymbolVisibility_MAX =
0969     static_cast<SymbolVisibility>(2);
0970 inline bool SymbolVisibility_IsValid(int value) {
0971   return 0 <= value && value <= 2;
0972 }
0973 inline constexpr int SymbolVisibility_ARRAYSIZE = 2 + 1;
0974 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SymbolVisibility_descriptor();
0975 template <typename T>
0976 const ::std::string& SymbolVisibility_Name(T value) {
0977   static_assert(::std::is_same<T, SymbolVisibility>::value ||
0978                     ::std::is_integral<T>::value,
0979                 "Incorrect type passed to SymbolVisibility_Name().");
0980   return SymbolVisibility_Name(static_cast<SymbolVisibility>(value));
0981 }
0982 template <>
0983 inline const ::std::string& SymbolVisibility_Name(SymbolVisibility value) {
0984   return ::google::protobuf::internal::NameOfDenseEnum<SymbolVisibility_descriptor, 0, 2>(
0985       static_cast<int>(value));
0986 }
0987 inline bool SymbolVisibility_Parse(
0988     ::absl::string_view name, SymbolVisibility* PROTOBUF_NONNULL value) {
0989   return ::google::protobuf::internal::ParseNamedEnum<SymbolVisibility>(SymbolVisibility_descriptor(), name,
0990                                            value);
0991 }
0992 
0993 // ===================================================================
0994 
0995 
0996 // -------------------------------------------------------------------
0997 
0998 class PROTOBUF_EXPORT UninterpretedOption_NamePart final : public ::google::protobuf::Message
0999 /* @@protoc_insertion_point(class_definition:google.protobuf.UninterpretedOption.NamePart) */ {
1000  public:
1001   inline UninterpretedOption_NamePart() : UninterpretedOption_NamePart(nullptr) {}
1002   ~UninterpretedOption_NamePart() PROTOBUF_FINAL;
1003 
1004 #if defined(PROTOBUF_CUSTOM_VTABLE)
1005   void operator delete(UninterpretedOption_NamePart* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1006     SharedDtor(*msg);
1007     ::google::protobuf::internal::SizedDelete(msg, sizeof(UninterpretedOption_NamePart));
1008   }
1009 #endif
1010 
1011   template <typename = void>
1012   explicit PROTOBUF_CONSTEXPR UninterpretedOption_NamePart(::google::protobuf::internal::ConstantInitialized);
1013 
1014   inline UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from) : UninterpretedOption_NamePart(nullptr, from) {}
1015   inline UninterpretedOption_NamePart(UninterpretedOption_NamePart&& from) noexcept
1016       : UninterpretedOption_NamePart(nullptr, ::std::move(from)) {}
1017   inline UninterpretedOption_NamePart& operator=(const UninterpretedOption_NamePart& from) {
1018     CopyFrom(from);
1019     return *this;
1020   }
1021   inline UninterpretedOption_NamePart& operator=(UninterpretedOption_NamePart&& from) noexcept {
1022     if (this == &from) return *this;
1023     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1024       InternalSwap(&from);
1025     } else {
1026       CopyFrom(from);
1027     }
1028     return *this;
1029   }
1030 
1031   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1032       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1033     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1034   }
1035   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1036       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1037     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1038   }
1039 
1040   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1041     return GetDescriptor();
1042   }
1043   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1044     return default_instance().GetMetadata().descriptor;
1045   }
1046   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1047     return default_instance().GetMetadata().reflection;
1048   }
1049   static const UninterpretedOption_NamePart& default_instance() {
1050     return *reinterpret_cast<const UninterpretedOption_NamePart*>(
1051         &_UninterpretedOption_NamePart_default_instance_);
1052   }
1053   static constexpr int kIndexInFileMessages = 24;
1054   friend void swap(UninterpretedOption_NamePart& a, UninterpretedOption_NamePart& b) { a.Swap(&b); }
1055   inline void Swap(UninterpretedOption_NamePart* PROTOBUF_NONNULL other) {
1056     if (other == this) return;
1057     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1058       InternalSwap(other);
1059     } else {
1060       ::google::protobuf::internal::GenericSwap(this, other);
1061     }
1062   }
1063   void UnsafeArenaSwap(UninterpretedOption_NamePart* PROTOBUF_NONNULL other) {
1064     if (other == this) return;
1065     ABSL_DCHECK(GetArena() == other->GetArena());
1066     InternalSwap(other);
1067   }
1068 
1069   // implements Message ----------------------------------------------
1070 
1071   UninterpretedOption_NamePart* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1072     return ::google::protobuf::Message::DefaultConstruct<UninterpretedOption_NamePart>(arena);
1073   }
1074   using ::google::protobuf::Message::CopyFrom;
1075   void CopyFrom(const UninterpretedOption_NamePart& from);
1076   using ::google::protobuf::Message::MergeFrom;
1077   void MergeFrom(const UninterpretedOption_NamePart& from) { UninterpretedOption_NamePart::MergeImpl(*this, from); }
1078 
1079   private:
1080   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1081                         const ::google::protobuf::MessageLite& from_msg);
1082 
1083   public:
1084   bool IsInitialized() const {
1085     return IsInitializedImpl(*this);
1086   }
1087 
1088   private:
1089   static bool IsInitializedImpl(const MessageLite& msg);
1090 
1091   public:
1092   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1093   #if defined(PROTOBUF_CUSTOM_VTABLE)
1094   private:
1095   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1096   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1097       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1098       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1099 
1100   public:
1101   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1102   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1103       ::uint8_t* PROTOBUF_NONNULL target,
1104       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1105     return _InternalSerialize(*this, target, stream);
1106   }
1107   #else   // PROTOBUF_CUSTOM_VTABLE
1108   ::size_t ByteSizeLong() const final;
1109   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1110       ::uint8_t* PROTOBUF_NONNULL target,
1111       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1112   #endif  // PROTOBUF_CUSTOM_VTABLE
1113   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1114 
1115   private:
1116   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1117   static void SharedDtor(MessageLite& self);
1118   void InternalSwap(UninterpretedOption_NamePart* PROTOBUF_NONNULL other);
1119  private:
1120   template <typename T>
1121   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1122   static ::absl::string_view FullMessageName() { return "google.protobuf.UninterpretedOption.NamePart"; }
1123 
1124  protected:
1125   explicit UninterpretedOption_NamePart(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1126   UninterpretedOption_NamePart(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UninterpretedOption_NamePart& from);
1127   UninterpretedOption_NamePart(
1128       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UninterpretedOption_NamePart&& from) noexcept
1129       : UninterpretedOption_NamePart(arena) {
1130     *this = ::std::move(from);
1131   }
1132   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1133   static void* PROTOBUF_NONNULL PlacementNew_(
1134       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1135       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1136   static constexpr auto InternalNewImpl_();
1137 
1138  public:
1139   static constexpr auto InternalGenerateClassData_();
1140 
1141   ::google::protobuf::Metadata GetMetadata() const;
1142   // nested types ----------------------------------------------------
1143 
1144   // accessors -------------------------------------------------------
1145   enum : int {
1146     kNamePartFieldNumber = 1,
1147     kIsExtensionFieldNumber = 2,
1148   };
1149   // required string name_part = 1;
1150   bool has_name_part() const;
1151   void clear_name_part() ;
1152   const ::std::string& name_part() const;
1153   template <typename Arg_ = const ::std::string&, typename... Args_>
1154   void set_name_part(Arg_&& arg, Args_... args);
1155   ::std::string* PROTOBUF_NONNULL mutable_name_part();
1156   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name_part();
1157   void set_allocated_name_part(::std::string* PROTOBUF_NULLABLE value);
1158 
1159   private:
1160   const ::std::string& _internal_name_part() const;
1161   PROTOBUF_ALWAYS_INLINE void _internal_set_name_part(const ::std::string& value);
1162   ::std::string* PROTOBUF_NONNULL _internal_mutable_name_part();
1163 
1164   public:
1165   // required bool is_extension = 2;
1166   bool has_is_extension() const;
1167   void clear_is_extension() ;
1168   bool is_extension() const;
1169   void set_is_extension(bool value);
1170 
1171   private:
1172   bool _internal_is_extension() const;
1173   void _internal_set_is_extension(bool value);
1174 
1175   public:
1176   // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption.NamePart)
1177  private:
1178   class _Internal;
1179   friend class ::google::protobuf::internal::TcParser;
1180   static const ::google::protobuf::internal::TcParseTable<1, 2,
1181                                    0, 62,
1182                                    2>
1183       _table_;
1184 
1185   friend class ::google::protobuf::MessageLite;
1186   friend class ::google::protobuf::Arena;
1187   template <typename T>
1188   friend class ::google::protobuf::Arena::InternalHelper;
1189   using InternalArenaConstructable_ = void;
1190   using DestructorSkippable_ = void;
1191   struct Impl_ {
1192     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1193     inline explicit Impl_(
1194         ::google::protobuf::internal::InternalVisibility visibility,
1195         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1196     inline explicit Impl_(
1197         ::google::protobuf::internal::InternalVisibility visibility,
1198         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1199         const UninterpretedOption_NamePart& from_msg);
1200     ::google::protobuf::internal::HasBits<1> _has_bits_;
1201     ::google::protobuf::internal::CachedSize _cached_size_;
1202     ::google::protobuf::internal::ArenaStringPtr name_part_;
1203     bool is_extension_;
1204     PROTOBUF_TSAN_DECLARE_MEMBER
1205   };
1206   union { Impl_ _impl_; };
1207   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
1208 };
1209 
1210 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull UninterpretedOption_NamePart_class_data_;
1211 // -------------------------------------------------------------------
1212 
1213 class PROTOBUF_EXPORT SourceCodeInfo_Location final : public ::google::protobuf::Message
1214 /* @@protoc_insertion_point(class_definition:google.protobuf.SourceCodeInfo.Location) */ {
1215  public:
1216   inline SourceCodeInfo_Location() : SourceCodeInfo_Location(nullptr) {}
1217   ~SourceCodeInfo_Location() PROTOBUF_FINAL;
1218 
1219 #if defined(PROTOBUF_CUSTOM_VTABLE)
1220   void operator delete(SourceCodeInfo_Location* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1221     SharedDtor(*msg);
1222     ::google::protobuf::internal::SizedDelete(msg, sizeof(SourceCodeInfo_Location));
1223   }
1224 #endif
1225 
1226   template <typename = void>
1227   explicit PROTOBUF_CONSTEXPR SourceCodeInfo_Location(::google::protobuf::internal::ConstantInitialized);
1228 
1229   inline SourceCodeInfo_Location(const SourceCodeInfo_Location& from) : SourceCodeInfo_Location(nullptr, from) {}
1230   inline SourceCodeInfo_Location(SourceCodeInfo_Location&& from) noexcept
1231       : SourceCodeInfo_Location(nullptr, ::std::move(from)) {}
1232   inline SourceCodeInfo_Location& operator=(const SourceCodeInfo_Location& from) {
1233     CopyFrom(from);
1234     return *this;
1235   }
1236   inline SourceCodeInfo_Location& operator=(SourceCodeInfo_Location&& from) noexcept {
1237     if (this == &from) return *this;
1238     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1239       InternalSwap(&from);
1240     } else {
1241       CopyFrom(from);
1242     }
1243     return *this;
1244   }
1245 
1246   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1247       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1248     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1249   }
1250   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1251       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1252     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1253   }
1254 
1255   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1256     return GetDescriptor();
1257   }
1258   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1259     return default_instance().GetMetadata().descriptor;
1260   }
1261   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1262     return default_instance().GetMetadata().reflection;
1263   }
1264   static const SourceCodeInfo_Location& default_instance() {
1265     return *reinterpret_cast<const SourceCodeInfo_Location*>(
1266         &_SourceCodeInfo_Location_default_instance_);
1267   }
1268   static constexpr int kIndexInFileMessages = 30;
1269   friend void swap(SourceCodeInfo_Location& a, SourceCodeInfo_Location& b) { a.Swap(&b); }
1270   inline void Swap(SourceCodeInfo_Location* PROTOBUF_NONNULL other) {
1271     if (other == this) return;
1272     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1273       InternalSwap(other);
1274     } else {
1275       ::google::protobuf::internal::GenericSwap(this, other);
1276     }
1277   }
1278   void UnsafeArenaSwap(SourceCodeInfo_Location* PROTOBUF_NONNULL other) {
1279     if (other == this) return;
1280     ABSL_DCHECK(GetArena() == other->GetArena());
1281     InternalSwap(other);
1282   }
1283 
1284   // implements Message ----------------------------------------------
1285 
1286   SourceCodeInfo_Location* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1287     return ::google::protobuf::Message::DefaultConstruct<SourceCodeInfo_Location>(arena);
1288   }
1289   using ::google::protobuf::Message::CopyFrom;
1290   void CopyFrom(const SourceCodeInfo_Location& from);
1291   using ::google::protobuf::Message::MergeFrom;
1292   void MergeFrom(const SourceCodeInfo_Location& from) { SourceCodeInfo_Location::MergeImpl(*this, from); }
1293 
1294   private:
1295   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1296                         const ::google::protobuf::MessageLite& from_msg);
1297 
1298   public:
1299   bool IsInitialized() const {
1300     return true;
1301   }
1302   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1303   #if defined(PROTOBUF_CUSTOM_VTABLE)
1304   private:
1305   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1306   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1307       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1308       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1309 
1310   public:
1311   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1312   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1313       ::uint8_t* PROTOBUF_NONNULL target,
1314       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1315     return _InternalSerialize(*this, target, stream);
1316   }
1317   #else   // PROTOBUF_CUSTOM_VTABLE
1318   ::size_t ByteSizeLong() const final;
1319   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1320       ::uint8_t* PROTOBUF_NONNULL target,
1321       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1322   #endif  // PROTOBUF_CUSTOM_VTABLE
1323   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1324 
1325   private:
1326   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1327   static void SharedDtor(MessageLite& self);
1328   void InternalSwap(SourceCodeInfo_Location* PROTOBUF_NONNULL other);
1329  private:
1330   template <typename T>
1331   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1332   static ::absl::string_view FullMessageName() { return "google.protobuf.SourceCodeInfo.Location"; }
1333 
1334  protected:
1335   explicit SourceCodeInfo_Location(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1336   SourceCodeInfo_Location(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SourceCodeInfo_Location& from);
1337   SourceCodeInfo_Location(
1338       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SourceCodeInfo_Location&& from) noexcept
1339       : SourceCodeInfo_Location(arena) {
1340     *this = ::std::move(from);
1341   }
1342   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1343   static void* PROTOBUF_NONNULL PlacementNew_(
1344       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1345       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1346   static constexpr auto InternalNewImpl_();
1347 
1348  public:
1349   static constexpr auto InternalGenerateClassData_();
1350 
1351   ::google::protobuf::Metadata GetMetadata() const;
1352   // nested types ----------------------------------------------------
1353 
1354   // accessors -------------------------------------------------------
1355   enum : int {
1356     kPathFieldNumber = 1,
1357     kSpanFieldNumber = 2,
1358     kLeadingDetachedCommentsFieldNumber = 6,
1359     kLeadingCommentsFieldNumber = 3,
1360     kTrailingCommentsFieldNumber = 4,
1361   };
1362   // repeated int32 path = 1 [packed = true];
1363   int path_size() const;
1364   private:
1365   int _internal_path_size() const;
1366 
1367   public:
1368   void clear_path() ;
1369   ::int32_t path(int index) const;
1370   void set_path(int index, ::int32_t value);
1371   void add_path(::int32_t value);
1372   const ::google::protobuf::RepeatedField<::int32_t>& path() const;
1373   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_path();
1374 
1375   private:
1376   const ::google::protobuf::RepeatedField<::int32_t>& _internal_path() const;
1377   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_path();
1378 
1379   public:
1380   // repeated int32 span = 2 [packed = true];
1381   int span_size() const;
1382   private:
1383   int _internal_span_size() const;
1384 
1385   public:
1386   void clear_span() ;
1387   ::int32_t span(int index) const;
1388   void set_span(int index, ::int32_t value);
1389   void add_span(::int32_t value);
1390   const ::google::protobuf::RepeatedField<::int32_t>& span() const;
1391   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_span();
1392 
1393   private:
1394   const ::google::protobuf::RepeatedField<::int32_t>& _internal_span() const;
1395   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_span();
1396 
1397   public:
1398   // repeated string leading_detached_comments = 6;
1399   int leading_detached_comments_size() const;
1400   private:
1401   int _internal_leading_detached_comments_size() const;
1402 
1403   public:
1404   void clear_leading_detached_comments() ;
1405   const ::std::string& leading_detached_comments(int index) const;
1406   ::std::string* PROTOBUF_NONNULL mutable_leading_detached_comments(int index);
1407   template <typename Arg_ = const ::std::string&, typename... Args_>
1408   void set_leading_detached_comments(int index, Arg_&& value, Args_... args);
1409   ::std::string* PROTOBUF_NONNULL add_leading_detached_comments();
1410   template <typename Arg_ = const ::std::string&, typename... Args_>
1411   void add_leading_detached_comments(Arg_&& value, Args_... args);
1412   const ::google::protobuf::RepeatedPtrField<::std::string>& leading_detached_comments() const;
1413   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_leading_detached_comments();
1414 
1415   private:
1416   const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_leading_detached_comments() const;
1417   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_leading_detached_comments();
1418 
1419   public:
1420   // optional string leading_comments = 3;
1421   bool has_leading_comments() const;
1422   void clear_leading_comments() ;
1423   const ::std::string& leading_comments() const;
1424   template <typename Arg_ = const ::std::string&, typename... Args_>
1425   void set_leading_comments(Arg_&& arg, Args_... args);
1426   ::std::string* PROTOBUF_NONNULL mutable_leading_comments();
1427   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_leading_comments();
1428   void set_allocated_leading_comments(::std::string* PROTOBUF_NULLABLE value);
1429 
1430   private:
1431   const ::std::string& _internal_leading_comments() const;
1432   PROTOBUF_ALWAYS_INLINE void _internal_set_leading_comments(const ::std::string& value);
1433   ::std::string* PROTOBUF_NONNULL _internal_mutable_leading_comments();
1434 
1435   public:
1436   // optional string trailing_comments = 4;
1437   bool has_trailing_comments() const;
1438   void clear_trailing_comments() ;
1439   const ::std::string& trailing_comments() const;
1440   template <typename Arg_ = const ::std::string&, typename... Args_>
1441   void set_trailing_comments(Arg_&& arg, Args_... args);
1442   ::std::string* PROTOBUF_NONNULL mutable_trailing_comments();
1443   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_trailing_comments();
1444   void set_allocated_trailing_comments(::std::string* PROTOBUF_NULLABLE value);
1445 
1446   private:
1447   const ::std::string& _internal_trailing_comments() const;
1448   PROTOBUF_ALWAYS_INLINE void _internal_set_trailing_comments(const ::std::string& value);
1449   ::std::string* PROTOBUF_NONNULL _internal_mutable_trailing_comments();
1450 
1451   public:
1452   // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo.Location)
1453  private:
1454   class _Internal;
1455   friend class ::google::protobuf::internal::TcParser;
1456   static const ::google::protobuf::internal::TcParseTable<3, 5,
1457                                    0, 106,
1458                                    2>
1459       _table_;
1460 
1461   friend class ::google::protobuf::MessageLite;
1462   friend class ::google::protobuf::Arena;
1463   template <typename T>
1464   friend class ::google::protobuf::Arena::InternalHelper;
1465   using InternalArenaConstructable_ = void;
1466   using DestructorSkippable_ = void;
1467   struct Impl_ {
1468     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1469     inline explicit Impl_(
1470         ::google::protobuf::internal::InternalVisibility visibility,
1471         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1472     inline explicit Impl_(
1473         ::google::protobuf::internal::InternalVisibility visibility,
1474         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1475         const SourceCodeInfo_Location& from_msg);
1476     ::google::protobuf::internal::HasBits<1> _has_bits_;
1477     ::google::protobuf::internal::CachedSize _cached_size_;
1478     ::google::protobuf::RepeatedField<::int32_t> path_;
1479     ::google::protobuf::internal::CachedSize _path_cached_byte_size_;
1480     ::google::protobuf::RepeatedField<::int32_t> span_;
1481     ::google::protobuf::internal::CachedSize _span_cached_byte_size_;
1482     ::google::protobuf::RepeatedPtrField<::std::string> leading_detached_comments_;
1483     ::google::protobuf::internal::ArenaStringPtr leading_comments_;
1484     ::google::protobuf::internal::ArenaStringPtr trailing_comments_;
1485     PROTOBUF_TSAN_DECLARE_MEMBER
1486   };
1487   union { Impl_ _impl_; };
1488   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
1489 };
1490 
1491 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull SourceCodeInfo_Location_class_data_;
1492 // -------------------------------------------------------------------
1493 
1494 class PROTOBUF_EXPORT GeneratedCodeInfo_Annotation final : public ::google::protobuf::Message
1495 /* @@protoc_insertion_point(class_definition:google.protobuf.GeneratedCodeInfo.Annotation) */ {
1496  public:
1497   inline GeneratedCodeInfo_Annotation() : GeneratedCodeInfo_Annotation(nullptr) {}
1498   ~GeneratedCodeInfo_Annotation() PROTOBUF_FINAL;
1499 
1500 #if defined(PROTOBUF_CUSTOM_VTABLE)
1501   void operator delete(GeneratedCodeInfo_Annotation* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1502     SharedDtor(*msg);
1503     ::google::protobuf::internal::SizedDelete(msg, sizeof(GeneratedCodeInfo_Annotation));
1504   }
1505 #endif
1506 
1507   template <typename = void>
1508   explicit PROTOBUF_CONSTEXPR GeneratedCodeInfo_Annotation(::google::protobuf::internal::ConstantInitialized);
1509 
1510   inline GeneratedCodeInfo_Annotation(const GeneratedCodeInfo_Annotation& from) : GeneratedCodeInfo_Annotation(nullptr, from) {}
1511   inline GeneratedCodeInfo_Annotation(GeneratedCodeInfo_Annotation&& from) noexcept
1512       : GeneratedCodeInfo_Annotation(nullptr, ::std::move(from)) {}
1513   inline GeneratedCodeInfo_Annotation& operator=(const GeneratedCodeInfo_Annotation& from) {
1514     CopyFrom(from);
1515     return *this;
1516   }
1517   inline GeneratedCodeInfo_Annotation& operator=(GeneratedCodeInfo_Annotation&& from) noexcept {
1518     if (this == &from) return *this;
1519     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1520       InternalSwap(&from);
1521     } else {
1522       CopyFrom(from);
1523     }
1524     return *this;
1525   }
1526 
1527   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1528       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1529     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1530   }
1531   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1532       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1533     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1534   }
1535 
1536   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1537     return GetDescriptor();
1538   }
1539   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1540     return default_instance().GetMetadata().descriptor;
1541   }
1542   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1543     return default_instance().GetMetadata().reflection;
1544   }
1545   static const GeneratedCodeInfo_Annotation& default_instance() {
1546     return *reinterpret_cast<const GeneratedCodeInfo_Annotation*>(
1547         &_GeneratedCodeInfo_Annotation_default_instance_);
1548   }
1549   static constexpr int kIndexInFileMessages = 32;
1550   friend void swap(GeneratedCodeInfo_Annotation& a, GeneratedCodeInfo_Annotation& b) { a.Swap(&b); }
1551   inline void Swap(GeneratedCodeInfo_Annotation* PROTOBUF_NONNULL other) {
1552     if (other == this) return;
1553     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1554       InternalSwap(other);
1555     } else {
1556       ::google::protobuf::internal::GenericSwap(this, other);
1557     }
1558   }
1559   void UnsafeArenaSwap(GeneratedCodeInfo_Annotation* PROTOBUF_NONNULL other) {
1560     if (other == this) return;
1561     ABSL_DCHECK(GetArena() == other->GetArena());
1562     InternalSwap(other);
1563   }
1564 
1565   // implements Message ----------------------------------------------
1566 
1567   GeneratedCodeInfo_Annotation* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1568     return ::google::protobuf::Message::DefaultConstruct<GeneratedCodeInfo_Annotation>(arena);
1569   }
1570   using ::google::protobuf::Message::CopyFrom;
1571   void CopyFrom(const GeneratedCodeInfo_Annotation& from);
1572   using ::google::protobuf::Message::MergeFrom;
1573   void MergeFrom(const GeneratedCodeInfo_Annotation& from) { GeneratedCodeInfo_Annotation::MergeImpl(*this, from); }
1574 
1575   private:
1576   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1577                         const ::google::protobuf::MessageLite& from_msg);
1578 
1579   public:
1580   bool IsInitialized() const {
1581     return true;
1582   }
1583   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1584   #if defined(PROTOBUF_CUSTOM_VTABLE)
1585   private:
1586   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1587   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1588       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1589       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1590 
1591   public:
1592   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1593   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1594       ::uint8_t* PROTOBUF_NONNULL target,
1595       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1596     return _InternalSerialize(*this, target, stream);
1597   }
1598   #else   // PROTOBUF_CUSTOM_VTABLE
1599   ::size_t ByteSizeLong() const final;
1600   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1601       ::uint8_t* PROTOBUF_NONNULL target,
1602       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1603   #endif  // PROTOBUF_CUSTOM_VTABLE
1604   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1605 
1606   private:
1607   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1608   static void SharedDtor(MessageLite& self);
1609   void InternalSwap(GeneratedCodeInfo_Annotation* PROTOBUF_NONNULL other);
1610  private:
1611   template <typename T>
1612   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1613   static ::absl::string_view FullMessageName() { return "google.protobuf.GeneratedCodeInfo.Annotation"; }
1614 
1615  protected:
1616   explicit GeneratedCodeInfo_Annotation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1617   GeneratedCodeInfo_Annotation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GeneratedCodeInfo_Annotation& from);
1618   GeneratedCodeInfo_Annotation(
1619       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GeneratedCodeInfo_Annotation&& from) noexcept
1620       : GeneratedCodeInfo_Annotation(arena) {
1621     *this = ::std::move(from);
1622   }
1623   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1624   static void* PROTOBUF_NONNULL PlacementNew_(
1625       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1626       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1627   static constexpr auto InternalNewImpl_();
1628 
1629  public:
1630   static constexpr auto InternalGenerateClassData_();
1631 
1632   ::google::protobuf::Metadata GetMetadata() const;
1633   // nested types ----------------------------------------------------
1634   using Semantic = GeneratedCodeInfo_Annotation_Semantic;
1635   static constexpr Semantic NONE = GeneratedCodeInfo_Annotation_Semantic_NONE;
1636   static constexpr Semantic SET = GeneratedCodeInfo_Annotation_Semantic_SET;
1637   static constexpr Semantic ALIAS = GeneratedCodeInfo_Annotation_Semantic_ALIAS;
1638   static inline bool Semantic_IsValid(int value) {
1639     return GeneratedCodeInfo_Annotation_Semantic_IsValid(value);
1640   }
1641   static constexpr Semantic Semantic_MIN = GeneratedCodeInfo_Annotation_Semantic_Semantic_MIN;
1642   static constexpr Semantic Semantic_MAX = GeneratedCodeInfo_Annotation_Semantic_Semantic_MAX;
1643   static constexpr int Semantic_ARRAYSIZE = GeneratedCodeInfo_Annotation_Semantic_Semantic_ARRAYSIZE;
1644   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Semantic_descriptor() {
1645     return GeneratedCodeInfo_Annotation_Semantic_descriptor();
1646   }
1647   template <typename T>
1648   static inline const ::std::string& Semantic_Name(T value) {
1649     return GeneratedCodeInfo_Annotation_Semantic_Name(value);
1650   }
1651   static inline bool Semantic_Parse(
1652       ::absl::string_view name, Semantic* PROTOBUF_NONNULL value) {
1653     return GeneratedCodeInfo_Annotation_Semantic_Parse(name, value);
1654   }
1655 
1656   // accessors -------------------------------------------------------
1657   enum : int {
1658     kPathFieldNumber = 1,
1659     kSourceFileFieldNumber = 2,
1660     kBeginFieldNumber = 3,
1661     kEndFieldNumber = 4,
1662     kSemanticFieldNumber = 5,
1663   };
1664   // repeated int32 path = 1 [packed = true];
1665   int path_size() const;
1666   private:
1667   int _internal_path_size() const;
1668 
1669   public:
1670   void clear_path() ;
1671   ::int32_t path(int index) const;
1672   void set_path(int index, ::int32_t value);
1673   void add_path(::int32_t value);
1674   const ::google::protobuf::RepeatedField<::int32_t>& path() const;
1675   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_path();
1676 
1677   private:
1678   const ::google::protobuf::RepeatedField<::int32_t>& _internal_path() const;
1679   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_path();
1680 
1681   public:
1682   // optional string source_file = 2;
1683   bool has_source_file() const;
1684   void clear_source_file() ;
1685   const ::std::string& source_file() const;
1686   template <typename Arg_ = const ::std::string&, typename... Args_>
1687   void set_source_file(Arg_&& arg, Args_... args);
1688   ::std::string* PROTOBUF_NONNULL mutable_source_file();
1689   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_source_file();
1690   void set_allocated_source_file(::std::string* PROTOBUF_NULLABLE value);
1691 
1692   private:
1693   const ::std::string& _internal_source_file() const;
1694   PROTOBUF_ALWAYS_INLINE void _internal_set_source_file(const ::std::string& value);
1695   ::std::string* PROTOBUF_NONNULL _internal_mutable_source_file();
1696 
1697   public:
1698   // optional int32 begin = 3;
1699   bool has_begin() const;
1700   void clear_begin() ;
1701   ::int32_t begin() const;
1702   void set_begin(::int32_t value);
1703 
1704   private:
1705   ::int32_t _internal_begin() const;
1706   void _internal_set_begin(::int32_t value);
1707 
1708   public:
1709   // optional int32 end = 4;
1710   bool has_end() const;
1711   void clear_end() ;
1712   ::int32_t end() const;
1713   void set_end(::int32_t value);
1714 
1715   private:
1716   ::int32_t _internal_end() const;
1717   void _internal_set_end(::int32_t value);
1718 
1719   public:
1720   // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
1721   bool has_semantic() const;
1722   void clear_semantic() ;
1723   ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic semantic() const;
1724   void set_semantic(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic value);
1725 
1726   private:
1727   ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic _internal_semantic() const;
1728   void _internal_set_semantic(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic value);
1729 
1730   public:
1731   // @@protoc_insertion_point(class_scope:google.protobuf.GeneratedCodeInfo.Annotation)
1732  private:
1733   class _Internal;
1734   friend class ::google::protobuf::internal::TcParser;
1735   static const ::google::protobuf::internal::TcParseTable<3, 5,
1736                                    1, 64,
1737                                    2>
1738       _table_;
1739 
1740   friend class ::google::protobuf::MessageLite;
1741   friend class ::google::protobuf::Arena;
1742   template <typename T>
1743   friend class ::google::protobuf::Arena::InternalHelper;
1744   using InternalArenaConstructable_ = void;
1745   using DestructorSkippable_ = void;
1746   struct Impl_ {
1747     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1748     inline explicit Impl_(
1749         ::google::protobuf::internal::InternalVisibility visibility,
1750         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1751     inline explicit Impl_(
1752         ::google::protobuf::internal::InternalVisibility visibility,
1753         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1754         const GeneratedCodeInfo_Annotation& from_msg);
1755     ::google::protobuf::internal::HasBits<1> _has_bits_;
1756     ::google::protobuf::internal::CachedSize _cached_size_;
1757     ::google::protobuf::RepeatedField<::int32_t> path_;
1758     ::google::protobuf::internal::CachedSize _path_cached_byte_size_;
1759     ::google::protobuf::internal::ArenaStringPtr source_file_;
1760     ::int32_t begin_;
1761     ::int32_t end_;
1762     int semantic_;
1763     PROTOBUF_TSAN_DECLARE_MEMBER
1764   };
1765   union { Impl_ _impl_; };
1766   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
1767 };
1768 
1769 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo_Annotation_class_data_;
1770 // -------------------------------------------------------------------
1771 
1772 class PROTOBUF_EXPORT FieldOptions_FeatureSupport final : public ::google::protobuf::Message
1773 /* @@protoc_insertion_point(class_definition:google.protobuf.FieldOptions.FeatureSupport) */ {
1774  public:
1775   inline FieldOptions_FeatureSupport() : FieldOptions_FeatureSupport(nullptr) {}
1776   ~FieldOptions_FeatureSupport() PROTOBUF_FINAL;
1777 
1778 #if defined(PROTOBUF_CUSTOM_VTABLE)
1779   void operator delete(FieldOptions_FeatureSupport* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1780     SharedDtor(*msg);
1781     ::google::protobuf::internal::SizedDelete(msg, sizeof(FieldOptions_FeatureSupport));
1782   }
1783 #endif
1784 
1785   template <typename = void>
1786   explicit PROTOBUF_CONSTEXPR FieldOptions_FeatureSupport(::google::protobuf::internal::ConstantInitialized);
1787 
1788   inline FieldOptions_FeatureSupport(const FieldOptions_FeatureSupport& from) : FieldOptions_FeatureSupport(nullptr, from) {}
1789   inline FieldOptions_FeatureSupport(FieldOptions_FeatureSupport&& from) noexcept
1790       : FieldOptions_FeatureSupport(nullptr, ::std::move(from)) {}
1791   inline FieldOptions_FeatureSupport& operator=(const FieldOptions_FeatureSupport& from) {
1792     CopyFrom(from);
1793     return *this;
1794   }
1795   inline FieldOptions_FeatureSupport& operator=(FieldOptions_FeatureSupport&& from) noexcept {
1796     if (this == &from) return *this;
1797     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1798       InternalSwap(&from);
1799     } else {
1800       CopyFrom(from);
1801     }
1802     return *this;
1803   }
1804 
1805   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1806       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1807     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1808   }
1809   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1810       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1811     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1812   }
1813 
1814   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1815     return GetDescriptor();
1816   }
1817   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1818     return default_instance().GetMetadata().descriptor;
1819   }
1820   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1821     return default_instance().GetMetadata().reflection;
1822   }
1823   static const FieldOptions_FeatureSupport& default_instance() {
1824     return *reinterpret_cast<const FieldOptions_FeatureSupport*>(
1825         &_FieldOptions_FeatureSupport_default_instance_);
1826   }
1827   static constexpr int kIndexInFileMessages = 17;
1828   friend void swap(FieldOptions_FeatureSupport& a, FieldOptions_FeatureSupport& b) { a.Swap(&b); }
1829   inline void Swap(FieldOptions_FeatureSupport* PROTOBUF_NONNULL other) {
1830     if (other == this) return;
1831     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1832       InternalSwap(other);
1833     } else {
1834       ::google::protobuf::internal::GenericSwap(this, other);
1835     }
1836   }
1837   void UnsafeArenaSwap(FieldOptions_FeatureSupport* PROTOBUF_NONNULL other) {
1838     if (other == this) return;
1839     ABSL_DCHECK(GetArena() == other->GetArena());
1840     InternalSwap(other);
1841   }
1842 
1843   // implements Message ----------------------------------------------
1844 
1845   FieldOptions_FeatureSupport* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1846     return ::google::protobuf::Message::DefaultConstruct<FieldOptions_FeatureSupport>(arena);
1847   }
1848   using ::google::protobuf::Message::CopyFrom;
1849   void CopyFrom(const FieldOptions_FeatureSupport& from);
1850   using ::google::protobuf::Message::MergeFrom;
1851   void MergeFrom(const FieldOptions_FeatureSupport& from) { FieldOptions_FeatureSupport::MergeImpl(*this, from); }
1852 
1853   private:
1854   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1855                         const ::google::protobuf::MessageLite& from_msg);
1856 
1857   public:
1858   bool IsInitialized() const {
1859     return true;
1860   }
1861   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1862   #if defined(PROTOBUF_CUSTOM_VTABLE)
1863   private:
1864   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1865   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1866       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1867       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1868 
1869   public:
1870   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1871   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1872       ::uint8_t* PROTOBUF_NONNULL target,
1873       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1874     return _InternalSerialize(*this, target, stream);
1875   }
1876   #else   // PROTOBUF_CUSTOM_VTABLE
1877   ::size_t ByteSizeLong() const final;
1878   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1879       ::uint8_t* PROTOBUF_NONNULL target,
1880       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1881   #endif  // PROTOBUF_CUSTOM_VTABLE
1882   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1883 
1884   private:
1885   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1886   static void SharedDtor(MessageLite& self);
1887   void InternalSwap(FieldOptions_FeatureSupport* PROTOBUF_NONNULL other);
1888  private:
1889   template <typename T>
1890   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1891   static ::absl::string_view FullMessageName() { return "google.protobuf.FieldOptions.FeatureSupport"; }
1892 
1893  protected:
1894   explicit FieldOptions_FeatureSupport(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1895   FieldOptions_FeatureSupport(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FieldOptions_FeatureSupport& from);
1896   FieldOptions_FeatureSupport(
1897       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FieldOptions_FeatureSupport&& from) noexcept
1898       : FieldOptions_FeatureSupport(arena) {
1899     *this = ::std::move(from);
1900   }
1901   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1902   static void* PROTOBUF_NONNULL PlacementNew_(
1903       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1904       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1905   static constexpr auto InternalNewImpl_();
1906 
1907  public:
1908   static constexpr auto InternalGenerateClassData_();
1909 
1910   ::google::protobuf::Metadata GetMetadata() const;
1911   // nested types ----------------------------------------------------
1912 
1913   // accessors -------------------------------------------------------
1914   enum : int {
1915     kDeprecationWarningFieldNumber = 3,
1916     kEditionIntroducedFieldNumber = 1,
1917     kEditionDeprecatedFieldNumber = 2,
1918     kEditionRemovedFieldNumber = 4,
1919   };
1920   // optional string deprecation_warning = 3;
1921   bool has_deprecation_warning() const;
1922   void clear_deprecation_warning() ;
1923   const ::std::string& deprecation_warning() const;
1924   template <typename Arg_ = const ::std::string&, typename... Args_>
1925   void set_deprecation_warning(Arg_&& arg, Args_... args);
1926   ::std::string* PROTOBUF_NONNULL mutable_deprecation_warning();
1927   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_deprecation_warning();
1928   void set_allocated_deprecation_warning(::std::string* PROTOBUF_NULLABLE value);
1929 
1930   private:
1931   const ::std::string& _internal_deprecation_warning() const;
1932   PROTOBUF_ALWAYS_INLINE void _internal_set_deprecation_warning(const ::std::string& value);
1933   ::std::string* PROTOBUF_NONNULL _internal_mutable_deprecation_warning();
1934 
1935   public:
1936   // optional .google.protobuf.Edition edition_introduced = 1;
1937   bool has_edition_introduced() const;
1938   void clear_edition_introduced() ;
1939   ::google::protobuf::Edition edition_introduced() const;
1940   void set_edition_introduced(::google::protobuf::Edition value);
1941 
1942   private:
1943   ::google::protobuf::Edition _internal_edition_introduced() const;
1944   void _internal_set_edition_introduced(::google::protobuf::Edition value);
1945 
1946   public:
1947   // optional .google.protobuf.Edition edition_deprecated = 2;
1948   bool has_edition_deprecated() const;
1949   void clear_edition_deprecated() ;
1950   ::google::protobuf::Edition edition_deprecated() const;
1951   void set_edition_deprecated(::google::protobuf::Edition value);
1952 
1953   private:
1954   ::google::protobuf::Edition _internal_edition_deprecated() const;
1955   void _internal_set_edition_deprecated(::google::protobuf::Edition value);
1956 
1957   public:
1958   // optional .google.protobuf.Edition edition_removed = 4;
1959   bool has_edition_removed() const;
1960   void clear_edition_removed() ;
1961   ::google::protobuf::Edition edition_removed() const;
1962   void set_edition_removed(::google::protobuf::Edition value);
1963 
1964   private:
1965   ::google::protobuf::Edition _internal_edition_removed() const;
1966   void _internal_set_edition_removed(::google::protobuf::Edition value);
1967 
1968   public:
1969   // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions.FeatureSupport)
1970  private:
1971   class _Internal;
1972   friend class ::google::protobuf::internal::TcParser;
1973   static const ::google::protobuf::internal::TcParseTable<2, 4,
1974                                    3, 71,
1975                                    2>
1976       _table_;
1977 
1978   friend class ::google::protobuf::MessageLite;
1979   friend class ::google::protobuf::Arena;
1980   template <typename T>
1981   friend class ::google::protobuf::Arena::InternalHelper;
1982   using InternalArenaConstructable_ = void;
1983   using DestructorSkippable_ = void;
1984   struct Impl_ {
1985     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1986     inline explicit Impl_(
1987         ::google::protobuf::internal::InternalVisibility visibility,
1988         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1989     inline explicit Impl_(
1990         ::google::protobuf::internal::InternalVisibility visibility,
1991         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1992         const FieldOptions_FeatureSupport& from_msg);
1993     ::google::protobuf::internal::HasBits<1> _has_bits_;
1994     ::google::protobuf::internal::CachedSize _cached_size_;
1995     ::google::protobuf::internal::ArenaStringPtr deprecation_warning_;
1996     int edition_introduced_;
1997     int edition_deprecated_;
1998     int edition_removed_;
1999     PROTOBUF_TSAN_DECLARE_MEMBER
2000   };
2001   union { Impl_ _impl_; };
2002   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
2003 };
2004 
2005 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FieldOptions_FeatureSupport_class_data_;
2006 // -------------------------------------------------------------------
2007 
2008 class PROTOBUF_EXPORT FieldOptions_EditionDefault final : public ::google::protobuf::Message
2009 /* @@protoc_insertion_point(class_definition:google.protobuf.FieldOptions.EditionDefault) */ {
2010  public:
2011   inline FieldOptions_EditionDefault() : FieldOptions_EditionDefault(nullptr) {}
2012   ~FieldOptions_EditionDefault() PROTOBUF_FINAL;
2013 
2014 #if defined(PROTOBUF_CUSTOM_VTABLE)
2015   void operator delete(FieldOptions_EditionDefault* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2016     SharedDtor(*msg);
2017     ::google::protobuf::internal::SizedDelete(msg, sizeof(FieldOptions_EditionDefault));
2018   }
2019 #endif
2020 
2021   template <typename = void>
2022   explicit PROTOBUF_CONSTEXPR FieldOptions_EditionDefault(::google::protobuf::internal::ConstantInitialized);
2023 
2024   inline FieldOptions_EditionDefault(const FieldOptions_EditionDefault& from) : FieldOptions_EditionDefault(nullptr, from) {}
2025   inline FieldOptions_EditionDefault(FieldOptions_EditionDefault&& from) noexcept
2026       : FieldOptions_EditionDefault(nullptr, ::std::move(from)) {}
2027   inline FieldOptions_EditionDefault& operator=(const FieldOptions_EditionDefault& from) {
2028     CopyFrom(from);
2029     return *this;
2030   }
2031   inline FieldOptions_EditionDefault& operator=(FieldOptions_EditionDefault&& from) noexcept {
2032     if (this == &from) return *this;
2033     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2034       InternalSwap(&from);
2035     } else {
2036       CopyFrom(from);
2037     }
2038     return *this;
2039   }
2040 
2041   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2042       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2043     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2044   }
2045   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2046       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2047     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2048   }
2049 
2050   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2051     return GetDescriptor();
2052   }
2053   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2054     return default_instance().GetMetadata().descriptor;
2055   }
2056   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2057     return default_instance().GetMetadata().reflection;
2058   }
2059   static const FieldOptions_EditionDefault& default_instance() {
2060     return *reinterpret_cast<const FieldOptions_EditionDefault*>(
2061         &_FieldOptions_EditionDefault_default_instance_);
2062   }
2063   static constexpr int kIndexInFileMessages = 16;
2064   friend void swap(FieldOptions_EditionDefault& a, FieldOptions_EditionDefault& b) { a.Swap(&b); }
2065   inline void Swap(FieldOptions_EditionDefault* PROTOBUF_NONNULL other) {
2066     if (other == this) return;
2067     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2068       InternalSwap(other);
2069     } else {
2070       ::google::protobuf::internal::GenericSwap(this, other);
2071     }
2072   }
2073   void UnsafeArenaSwap(FieldOptions_EditionDefault* PROTOBUF_NONNULL other) {
2074     if (other == this) return;
2075     ABSL_DCHECK(GetArena() == other->GetArena());
2076     InternalSwap(other);
2077   }
2078 
2079   // implements Message ----------------------------------------------
2080 
2081   FieldOptions_EditionDefault* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2082     return ::google::protobuf::Message::DefaultConstruct<FieldOptions_EditionDefault>(arena);
2083   }
2084   using ::google::protobuf::Message::CopyFrom;
2085   void CopyFrom(const FieldOptions_EditionDefault& from);
2086   using ::google::protobuf::Message::MergeFrom;
2087   void MergeFrom(const FieldOptions_EditionDefault& from) { FieldOptions_EditionDefault::MergeImpl(*this, from); }
2088 
2089   private:
2090   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2091                         const ::google::protobuf::MessageLite& from_msg);
2092 
2093   public:
2094   bool IsInitialized() const {
2095     return true;
2096   }
2097   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2098   #if defined(PROTOBUF_CUSTOM_VTABLE)
2099   private:
2100   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2101   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2102       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2103       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2104 
2105   public:
2106   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2107   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2108       ::uint8_t* PROTOBUF_NONNULL target,
2109       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2110     return _InternalSerialize(*this, target, stream);
2111   }
2112   #else   // PROTOBUF_CUSTOM_VTABLE
2113   ::size_t ByteSizeLong() const final;
2114   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2115       ::uint8_t* PROTOBUF_NONNULL target,
2116       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2117   #endif  // PROTOBUF_CUSTOM_VTABLE
2118   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2119 
2120   private:
2121   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2122   static void SharedDtor(MessageLite& self);
2123   void InternalSwap(FieldOptions_EditionDefault* PROTOBUF_NONNULL other);
2124  private:
2125   template <typename T>
2126   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2127   static ::absl::string_view FullMessageName() { return "google.protobuf.FieldOptions.EditionDefault"; }
2128 
2129  protected:
2130   explicit FieldOptions_EditionDefault(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2131   FieldOptions_EditionDefault(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FieldOptions_EditionDefault& from);
2132   FieldOptions_EditionDefault(
2133       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FieldOptions_EditionDefault&& from) noexcept
2134       : FieldOptions_EditionDefault(arena) {
2135     *this = ::std::move(from);
2136   }
2137   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2138   static void* PROTOBUF_NONNULL PlacementNew_(
2139       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2140       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2141   static constexpr auto InternalNewImpl_();
2142 
2143  public:
2144   static constexpr auto InternalGenerateClassData_();
2145 
2146   ::google::protobuf::Metadata GetMetadata() const;
2147   // nested types ----------------------------------------------------
2148 
2149   // accessors -------------------------------------------------------
2150   enum : int {
2151     kValueFieldNumber = 2,
2152     kEditionFieldNumber = 3,
2153   };
2154   // optional string value = 2;
2155   bool has_value() const;
2156   void clear_value() ;
2157   const ::std::string& value() const;
2158   template <typename Arg_ = const ::std::string&, typename... Args_>
2159   void set_value(Arg_&& arg, Args_... args);
2160   ::std::string* PROTOBUF_NONNULL mutable_value();
2161   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_value();
2162   void set_allocated_value(::std::string* PROTOBUF_NULLABLE value);
2163 
2164   private:
2165   const ::std::string& _internal_value() const;
2166   PROTOBUF_ALWAYS_INLINE void _internal_set_value(const ::std::string& value);
2167   ::std::string* PROTOBUF_NONNULL _internal_mutable_value();
2168 
2169   public:
2170   // optional .google.protobuf.Edition edition = 3;
2171   bool has_edition() const;
2172   void clear_edition() ;
2173   ::google::protobuf::Edition edition() const;
2174   void set_edition(::google::protobuf::Edition value);
2175 
2176   private:
2177   ::google::protobuf::Edition _internal_edition() const;
2178   void _internal_set_edition(::google::protobuf::Edition value);
2179 
2180   public:
2181   // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions.EditionDefault)
2182  private:
2183   class _Internal;
2184   friend class ::google::protobuf::internal::TcParser;
2185   static const ::google::protobuf::internal::TcParseTable<1, 2,
2186                                    1, 57,
2187                                    2>
2188       _table_;
2189 
2190   friend class ::google::protobuf::MessageLite;
2191   friend class ::google::protobuf::Arena;
2192   template <typename T>
2193   friend class ::google::protobuf::Arena::InternalHelper;
2194   using InternalArenaConstructable_ = void;
2195   using DestructorSkippable_ = void;
2196   struct Impl_ {
2197     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2198     inline explicit Impl_(
2199         ::google::protobuf::internal::InternalVisibility visibility,
2200         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2201     inline explicit Impl_(
2202         ::google::protobuf::internal::InternalVisibility visibility,
2203         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2204         const FieldOptions_EditionDefault& from_msg);
2205     ::google::protobuf::internal::HasBits<1> _has_bits_;
2206     ::google::protobuf::internal::CachedSize _cached_size_;
2207     ::google::protobuf::internal::ArenaStringPtr value_;
2208     int edition_;
2209     PROTOBUF_TSAN_DECLARE_MEMBER
2210   };
2211   union { Impl_ _impl_; };
2212   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
2213 };
2214 
2215 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FieldOptions_EditionDefault_class_data_;
2216 // -------------------------------------------------------------------
2217 
2218 class PROTOBUF_EXPORT FeatureSet_VisibilityFeature final : public ::google::protobuf::internal::ZeroFieldsBase
2219 /* @@protoc_insertion_point(class_definition:google.protobuf.FeatureSet.VisibilityFeature) */ {
2220  public:
2221   inline FeatureSet_VisibilityFeature() : FeatureSet_VisibilityFeature(nullptr) {}
2222 
2223 #if defined(PROTOBUF_CUSTOM_VTABLE)
2224   void operator delete(FeatureSet_VisibilityFeature* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2225     SharedDtor(*msg);
2226     ::google::protobuf::internal::SizedDelete(msg, sizeof(FeatureSet_VisibilityFeature));
2227   }
2228 #endif
2229 
2230   template <typename = void>
2231   explicit PROTOBUF_CONSTEXPR FeatureSet_VisibilityFeature(::google::protobuf::internal::ConstantInitialized);
2232 
2233   inline FeatureSet_VisibilityFeature(const FeatureSet_VisibilityFeature& from) : FeatureSet_VisibilityFeature(nullptr, from) {}
2234   inline FeatureSet_VisibilityFeature(FeatureSet_VisibilityFeature&& from) noexcept
2235       : FeatureSet_VisibilityFeature(nullptr, ::std::move(from)) {}
2236   inline FeatureSet_VisibilityFeature& operator=(const FeatureSet_VisibilityFeature& from) {
2237     CopyFrom(from);
2238     return *this;
2239   }
2240   inline FeatureSet_VisibilityFeature& operator=(FeatureSet_VisibilityFeature&& from) noexcept {
2241     if (this == &from) return *this;
2242     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2243       InternalSwap(&from);
2244     } else {
2245       CopyFrom(from);
2246     }
2247     return *this;
2248   }
2249 
2250   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2251       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2252     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2253   }
2254   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2255       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2256     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2257   }
2258 
2259   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2260     return GetDescriptor();
2261   }
2262   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2263     return default_instance().GetMetadata().descriptor;
2264   }
2265   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2266     return default_instance().GetMetadata().reflection;
2267   }
2268   static const FeatureSet_VisibilityFeature& default_instance() {
2269     return *reinterpret_cast<const FeatureSet_VisibilityFeature*>(
2270         &_FeatureSet_VisibilityFeature_default_instance_);
2271   }
2272   static constexpr int kIndexInFileMessages = 26;
2273   friend void swap(FeatureSet_VisibilityFeature& a, FeatureSet_VisibilityFeature& b) { a.Swap(&b); }
2274   inline void Swap(FeatureSet_VisibilityFeature* PROTOBUF_NONNULL other) {
2275     if (other == this) return;
2276     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2277       InternalSwap(other);
2278     } else {
2279       ::google::protobuf::internal::GenericSwap(this, other);
2280     }
2281   }
2282   void UnsafeArenaSwap(FeatureSet_VisibilityFeature* PROTOBUF_NONNULL other) {
2283     if (other == this) return;
2284     ABSL_DCHECK(GetArena() == other->GetArena());
2285     InternalSwap(other);
2286   }
2287 
2288   // implements Message ----------------------------------------------
2289 
2290   FeatureSet_VisibilityFeature* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2291     return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<FeatureSet_VisibilityFeature>(arena);
2292   }
2293   using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
2294   inline void CopyFrom(const FeatureSet_VisibilityFeature& from) {
2295     ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);
2296   }
2297   using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
2298   void MergeFrom(const FeatureSet_VisibilityFeature& from) {
2299     ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);
2300   }
2301 
2302   public:
2303   bool IsInitialized() const {
2304     return true;
2305   }
2306  private:
2307   template <typename T>
2308   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2309   static ::absl::string_view FullMessageName() { return "google.protobuf.FeatureSet.VisibilityFeature"; }
2310 
2311  protected:
2312   explicit FeatureSet_VisibilityFeature(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2313   FeatureSet_VisibilityFeature(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FeatureSet_VisibilityFeature& from);
2314   FeatureSet_VisibilityFeature(
2315       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FeatureSet_VisibilityFeature&& from) noexcept
2316       : FeatureSet_VisibilityFeature(arena) {
2317     *this = ::std::move(from);
2318   }
2319   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2320   static void* PROTOBUF_NONNULL PlacementNew_(
2321       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2322       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2323   static constexpr auto InternalNewImpl_();
2324 
2325  public:
2326   static constexpr auto InternalGenerateClassData_();
2327 
2328   ::google::protobuf::Metadata GetMetadata() const;
2329   // nested types ----------------------------------------------------
2330   using DefaultSymbolVisibility = FeatureSet_VisibilityFeature_DefaultSymbolVisibility;
2331   static constexpr DefaultSymbolVisibility DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = FeatureSet_VisibilityFeature_DefaultSymbolVisibility_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN;
2332   static constexpr DefaultSymbolVisibility EXPORT_ALL = FeatureSet_VisibilityFeature_DefaultSymbolVisibility_EXPORT_ALL;
2333   static constexpr DefaultSymbolVisibility EXPORT_TOP_LEVEL = FeatureSet_VisibilityFeature_DefaultSymbolVisibility_EXPORT_TOP_LEVEL;
2334   static constexpr DefaultSymbolVisibility LOCAL_ALL = FeatureSet_VisibilityFeature_DefaultSymbolVisibility_LOCAL_ALL;
2335   static constexpr DefaultSymbolVisibility STRICT = FeatureSet_VisibilityFeature_DefaultSymbolVisibility_STRICT;
2336   static inline bool DefaultSymbolVisibility_IsValid(int value) {
2337     return FeatureSet_VisibilityFeature_DefaultSymbolVisibility_IsValid(value);
2338   }
2339   static constexpr DefaultSymbolVisibility DefaultSymbolVisibility_MIN = FeatureSet_VisibilityFeature_DefaultSymbolVisibility_DefaultSymbolVisibility_MIN;
2340   static constexpr DefaultSymbolVisibility DefaultSymbolVisibility_MAX = FeatureSet_VisibilityFeature_DefaultSymbolVisibility_DefaultSymbolVisibility_MAX;
2341   static constexpr int DefaultSymbolVisibility_ARRAYSIZE = FeatureSet_VisibilityFeature_DefaultSymbolVisibility_DefaultSymbolVisibility_ARRAYSIZE;
2342   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL DefaultSymbolVisibility_descriptor() {
2343     return FeatureSet_VisibilityFeature_DefaultSymbolVisibility_descriptor();
2344   }
2345   template <typename T>
2346   static inline const ::std::string& DefaultSymbolVisibility_Name(T value) {
2347     return FeatureSet_VisibilityFeature_DefaultSymbolVisibility_Name(value);
2348   }
2349   static inline bool DefaultSymbolVisibility_Parse(
2350       ::absl::string_view name, DefaultSymbolVisibility* PROTOBUF_NONNULL value) {
2351     return FeatureSet_VisibilityFeature_DefaultSymbolVisibility_Parse(name, value);
2352   }
2353 
2354   // accessors -------------------------------------------------------
2355   // @@protoc_insertion_point(class_scope:google.protobuf.FeatureSet.VisibilityFeature)
2356  private:
2357   class _Internal;
2358   friend class ::google::protobuf::internal::TcParser;
2359   static const ::google::protobuf::internal::TcParseTable<0, 0,
2360                                    0, 0,
2361                                    2>
2362       _table_;
2363 
2364   friend class ::google::protobuf::MessageLite;
2365   friend class ::google::protobuf::Arena;
2366   template <typename T>
2367   friend class ::google::protobuf::Arena::InternalHelper;
2368   using InternalArenaConstructable_ = void;
2369   using DestructorSkippable_ = void;
2370   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
2371 };
2372 
2373 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FeatureSet_VisibilityFeature_class_data_;
2374 // -------------------------------------------------------------------
2375 
2376 class PROTOBUF_EXPORT FeatureSet final : public ::google::protobuf::Message
2377 /* @@protoc_insertion_point(class_definition:google.protobuf.FeatureSet) */ {
2378  public:
2379   inline FeatureSet() : FeatureSet(nullptr) {}
2380   ~FeatureSet() PROTOBUF_FINAL;
2381 
2382 #if defined(PROTOBUF_CUSTOM_VTABLE)
2383   void operator delete(FeatureSet* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2384     SharedDtor(*msg);
2385     ::google::protobuf::internal::SizedDelete(msg, sizeof(FeatureSet));
2386   }
2387 #endif
2388 
2389   template <typename = void>
2390   explicit PROTOBUF_CONSTEXPR FeatureSet(::google::protobuf::internal::ConstantInitialized);
2391 
2392   inline FeatureSet(const FeatureSet& from) : FeatureSet(nullptr, from) {}
2393   inline FeatureSet(FeatureSet&& from) noexcept
2394       : FeatureSet(nullptr, ::std::move(from)) {}
2395   inline FeatureSet& operator=(const FeatureSet& from) {
2396     CopyFrom(from);
2397     return *this;
2398   }
2399   inline FeatureSet& operator=(FeatureSet&& from) noexcept {
2400     if (this == &from) return *this;
2401     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2402       InternalSwap(&from);
2403     } else {
2404       CopyFrom(from);
2405     }
2406     return *this;
2407   }
2408 
2409   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2410       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2411     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2412   }
2413   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2414       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2415     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2416   }
2417 
2418   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2419     return GetDescriptor();
2420   }
2421   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2422     return default_instance().GetMetadata().descriptor;
2423   }
2424   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2425     return default_instance().GetMetadata().reflection;
2426   }
2427   static const FeatureSet& default_instance() {
2428     return *reinterpret_cast<const FeatureSet*>(
2429         &_FeatureSet_default_instance_);
2430   }
2431   static constexpr int kIndexInFileMessages = 27;
2432   friend void swap(FeatureSet& a, FeatureSet& b) { a.Swap(&b); }
2433   inline void Swap(FeatureSet* PROTOBUF_NONNULL other) {
2434     if (other == this) return;
2435     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2436       InternalSwap(other);
2437     } else {
2438       ::google::protobuf::internal::GenericSwap(this, other);
2439     }
2440   }
2441   void UnsafeArenaSwap(FeatureSet* PROTOBUF_NONNULL other) {
2442     if (other == this) return;
2443     ABSL_DCHECK(GetArena() == other->GetArena());
2444     InternalSwap(other);
2445   }
2446 
2447   // implements Message ----------------------------------------------
2448 
2449   FeatureSet* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2450     return ::google::protobuf::Message::DefaultConstruct<FeatureSet>(arena);
2451   }
2452   using ::google::protobuf::Message::CopyFrom;
2453   void CopyFrom(const FeatureSet& from);
2454   using ::google::protobuf::Message::MergeFrom;
2455   void MergeFrom(const FeatureSet& from) { FeatureSet::MergeImpl(*this, from); }
2456 
2457   private:
2458   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2459                         const ::google::protobuf::MessageLite& from_msg);
2460 
2461   public:
2462   bool IsInitialized() const {
2463     return IsInitializedImpl(*this);
2464   }
2465 
2466   private:
2467   static bool IsInitializedImpl(const MessageLite& msg);
2468 
2469   public:
2470   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2471   #if defined(PROTOBUF_CUSTOM_VTABLE)
2472   private:
2473   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2474   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2475       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2476       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2477 
2478   public:
2479   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2480   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2481       ::uint8_t* PROTOBUF_NONNULL target,
2482       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2483     return _InternalSerialize(*this, target, stream);
2484   }
2485   #else   // PROTOBUF_CUSTOM_VTABLE
2486   ::size_t ByteSizeLong() const final;
2487   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2488       ::uint8_t* PROTOBUF_NONNULL target,
2489       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2490   #endif  // PROTOBUF_CUSTOM_VTABLE
2491   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2492 
2493   private:
2494   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2495   static void SharedDtor(MessageLite& self);
2496   void InternalSwap(FeatureSet* PROTOBUF_NONNULL other);
2497  private:
2498   template <typename T>
2499   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2500   static ::absl::string_view FullMessageName() { return "google.protobuf.FeatureSet"; }
2501 
2502  protected:
2503   explicit FeatureSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2504   FeatureSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FeatureSet& from);
2505   FeatureSet(
2506       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FeatureSet&& from) noexcept
2507       : FeatureSet(arena) {
2508     *this = ::std::move(from);
2509   }
2510   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2511   static void* PROTOBUF_NONNULL PlacementNew_(
2512       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2513       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2514   static constexpr auto InternalNewImpl_();
2515 
2516  public:
2517   static constexpr auto InternalGenerateClassData_();
2518 
2519   ::google::protobuf::Metadata GetMetadata() const;
2520   // nested types ----------------------------------------------------
2521   using VisibilityFeature = FeatureSet_VisibilityFeature;
2522   using FieldPresence = FeatureSet_FieldPresence;
2523   static constexpr FieldPresence FIELD_PRESENCE_UNKNOWN = FeatureSet_FieldPresence_FIELD_PRESENCE_UNKNOWN;
2524   static constexpr FieldPresence EXPLICIT = FeatureSet_FieldPresence_EXPLICIT;
2525   static constexpr FieldPresence IMPLICIT = FeatureSet_FieldPresence_IMPLICIT;
2526   static constexpr FieldPresence LEGACY_REQUIRED = FeatureSet_FieldPresence_LEGACY_REQUIRED;
2527   static inline bool FieldPresence_IsValid(int value) {
2528     return FeatureSet_FieldPresence_IsValid(value);
2529   }
2530   static constexpr FieldPresence FieldPresence_MIN = FeatureSet_FieldPresence_FieldPresence_MIN;
2531   static constexpr FieldPresence FieldPresence_MAX = FeatureSet_FieldPresence_FieldPresence_MAX;
2532   static constexpr int FieldPresence_ARRAYSIZE = FeatureSet_FieldPresence_FieldPresence_ARRAYSIZE;
2533   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL FieldPresence_descriptor() {
2534     return FeatureSet_FieldPresence_descriptor();
2535   }
2536   template <typename T>
2537   static inline const ::std::string& FieldPresence_Name(T value) {
2538     return FeatureSet_FieldPresence_Name(value);
2539   }
2540   static inline bool FieldPresence_Parse(
2541       ::absl::string_view name, FieldPresence* PROTOBUF_NONNULL value) {
2542     return FeatureSet_FieldPresence_Parse(name, value);
2543   }
2544   using EnumType = FeatureSet_EnumType;
2545   static constexpr EnumType ENUM_TYPE_UNKNOWN = FeatureSet_EnumType_ENUM_TYPE_UNKNOWN;
2546   static constexpr EnumType OPEN = FeatureSet_EnumType_OPEN;
2547   static constexpr EnumType CLOSED = FeatureSet_EnumType_CLOSED;
2548   static inline bool EnumType_IsValid(int value) {
2549     return FeatureSet_EnumType_IsValid(value);
2550   }
2551   static constexpr EnumType EnumType_MIN = FeatureSet_EnumType_EnumType_MIN;
2552   static constexpr EnumType EnumType_MAX = FeatureSet_EnumType_EnumType_MAX;
2553   static constexpr int EnumType_ARRAYSIZE = FeatureSet_EnumType_EnumType_ARRAYSIZE;
2554   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL EnumType_descriptor() {
2555     return FeatureSet_EnumType_descriptor();
2556   }
2557   template <typename T>
2558   static inline const ::std::string& EnumType_Name(T value) {
2559     return FeatureSet_EnumType_Name(value);
2560   }
2561   static inline bool EnumType_Parse(
2562       ::absl::string_view name, EnumType* PROTOBUF_NONNULL value) {
2563     return FeatureSet_EnumType_Parse(name, value);
2564   }
2565   using RepeatedFieldEncoding = FeatureSet_RepeatedFieldEncoding;
2566   static constexpr RepeatedFieldEncoding REPEATED_FIELD_ENCODING_UNKNOWN = FeatureSet_RepeatedFieldEncoding_REPEATED_FIELD_ENCODING_UNKNOWN;
2567   static constexpr RepeatedFieldEncoding PACKED = FeatureSet_RepeatedFieldEncoding_PACKED;
2568   static constexpr RepeatedFieldEncoding EXPANDED = FeatureSet_RepeatedFieldEncoding_EXPANDED;
2569   static inline bool RepeatedFieldEncoding_IsValid(int value) {
2570     return FeatureSet_RepeatedFieldEncoding_IsValid(value);
2571   }
2572   static constexpr RepeatedFieldEncoding RepeatedFieldEncoding_MIN = FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_MIN;
2573   static constexpr RepeatedFieldEncoding RepeatedFieldEncoding_MAX = FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_MAX;
2574   static constexpr int RepeatedFieldEncoding_ARRAYSIZE = FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_ARRAYSIZE;
2575   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RepeatedFieldEncoding_descriptor() {
2576     return FeatureSet_RepeatedFieldEncoding_descriptor();
2577   }
2578   template <typename T>
2579   static inline const ::std::string& RepeatedFieldEncoding_Name(T value) {
2580     return FeatureSet_RepeatedFieldEncoding_Name(value);
2581   }
2582   static inline bool RepeatedFieldEncoding_Parse(
2583       ::absl::string_view name, RepeatedFieldEncoding* PROTOBUF_NONNULL value) {
2584     return FeatureSet_RepeatedFieldEncoding_Parse(name, value);
2585   }
2586   using Utf8Validation = FeatureSet_Utf8Validation;
2587   static constexpr Utf8Validation UTF8_VALIDATION_UNKNOWN = FeatureSet_Utf8Validation_UTF8_VALIDATION_UNKNOWN;
2588   static constexpr Utf8Validation VERIFY = FeatureSet_Utf8Validation_VERIFY;
2589   static constexpr Utf8Validation NONE = FeatureSet_Utf8Validation_NONE;
2590   static inline bool Utf8Validation_IsValid(int value) {
2591     return FeatureSet_Utf8Validation_IsValid(value);
2592   }
2593   static constexpr Utf8Validation Utf8Validation_MIN = FeatureSet_Utf8Validation_Utf8Validation_MIN;
2594   static constexpr Utf8Validation Utf8Validation_MAX = FeatureSet_Utf8Validation_Utf8Validation_MAX;
2595   static constexpr int Utf8Validation_ARRAYSIZE = FeatureSet_Utf8Validation_Utf8Validation_ARRAYSIZE;
2596   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Utf8Validation_descriptor() {
2597     return FeatureSet_Utf8Validation_descriptor();
2598   }
2599   template <typename T>
2600   static inline const ::std::string& Utf8Validation_Name(T value) {
2601     return FeatureSet_Utf8Validation_Name(value);
2602   }
2603   static inline bool Utf8Validation_Parse(
2604       ::absl::string_view name, Utf8Validation* PROTOBUF_NONNULL value) {
2605     return FeatureSet_Utf8Validation_Parse(name, value);
2606   }
2607   using MessageEncoding = FeatureSet_MessageEncoding;
2608   static constexpr MessageEncoding MESSAGE_ENCODING_UNKNOWN = FeatureSet_MessageEncoding_MESSAGE_ENCODING_UNKNOWN;
2609   static constexpr MessageEncoding LENGTH_PREFIXED = FeatureSet_MessageEncoding_LENGTH_PREFIXED;
2610   static constexpr MessageEncoding DELIMITED = FeatureSet_MessageEncoding_DELIMITED;
2611   static inline bool MessageEncoding_IsValid(int value) {
2612     return FeatureSet_MessageEncoding_IsValid(value);
2613   }
2614   static constexpr MessageEncoding MessageEncoding_MIN = FeatureSet_MessageEncoding_MessageEncoding_MIN;
2615   static constexpr MessageEncoding MessageEncoding_MAX = FeatureSet_MessageEncoding_MessageEncoding_MAX;
2616   static constexpr int MessageEncoding_ARRAYSIZE = FeatureSet_MessageEncoding_MessageEncoding_ARRAYSIZE;
2617   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL MessageEncoding_descriptor() {
2618     return FeatureSet_MessageEncoding_descriptor();
2619   }
2620   template <typename T>
2621   static inline const ::std::string& MessageEncoding_Name(T value) {
2622     return FeatureSet_MessageEncoding_Name(value);
2623   }
2624   static inline bool MessageEncoding_Parse(
2625       ::absl::string_view name, MessageEncoding* PROTOBUF_NONNULL value) {
2626     return FeatureSet_MessageEncoding_Parse(name, value);
2627   }
2628   using JsonFormat = FeatureSet_JsonFormat;
2629   static constexpr JsonFormat JSON_FORMAT_UNKNOWN = FeatureSet_JsonFormat_JSON_FORMAT_UNKNOWN;
2630   static constexpr JsonFormat ALLOW = FeatureSet_JsonFormat_ALLOW;
2631   static constexpr JsonFormat LEGACY_BEST_EFFORT = FeatureSet_JsonFormat_LEGACY_BEST_EFFORT;
2632   static inline bool JsonFormat_IsValid(int value) {
2633     return FeatureSet_JsonFormat_IsValid(value);
2634   }
2635   static constexpr JsonFormat JsonFormat_MIN = FeatureSet_JsonFormat_JsonFormat_MIN;
2636   static constexpr JsonFormat JsonFormat_MAX = FeatureSet_JsonFormat_JsonFormat_MAX;
2637   static constexpr int JsonFormat_ARRAYSIZE = FeatureSet_JsonFormat_JsonFormat_ARRAYSIZE;
2638   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL JsonFormat_descriptor() {
2639     return FeatureSet_JsonFormat_descriptor();
2640   }
2641   template <typename T>
2642   static inline const ::std::string& JsonFormat_Name(T value) {
2643     return FeatureSet_JsonFormat_Name(value);
2644   }
2645   static inline bool JsonFormat_Parse(
2646       ::absl::string_view name, JsonFormat* PROTOBUF_NONNULL value) {
2647     return FeatureSet_JsonFormat_Parse(name, value);
2648   }
2649   using EnforceNamingStyle = FeatureSet_EnforceNamingStyle;
2650   static constexpr EnforceNamingStyle ENFORCE_NAMING_STYLE_UNKNOWN = FeatureSet_EnforceNamingStyle_ENFORCE_NAMING_STYLE_UNKNOWN;
2651   static constexpr EnforceNamingStyle STYLE2024 = FeatureSet_EnforceNamingStyle_STYLE2024;
2652   static constexpr EnforceNamingStyle STYLE_LEGACY = FeatureSet_EnforceNamingStyle_STYLE_LEGACY;
2653   static inline bool EnforceNamingStyle_IsValid(int value) {
2654     return FeatureSet_EnforceNamingStyle_IsValid(value);
2655   }
2656   static constexpr EnforceNamingStyle EnforceNamingStyle_MIN = FeatureSet_EnforceNamingStyle_EnforceNamingStyle_MIN;
2657   static constexpr EnforceNamingStyle EnforceNamingStyle_MAX = FeatureSet_EnforceNamingStyle_EnforceNamingStyle_MAX;
2658   static constexpr int EnforceNamingStyle_ARRAYSIZE = FeatureSet_EnforceNamingStyle_EnforceNamingStyle_ARRAYSIZE;
2659   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL EnforceNamingStyle_descriptor() {
2660     return FeatureSet_EnforceNamingStyle_descriptor();
2661   }
2662   template <typename T>
2663   static inline const ::std::string& EnforceNamingStyle_Name(T value) {
2664     return FeatureSet_EnforceNamingStyle_Name(value);
2665   }
2666   static inline bool EnforceNamingStyle_Parse(
2667       ::absl::string_view name, EnforceNamingStyle* PROTOBUF_NONNULL value) {
2668     return FeatureSet_EnforceNamingStyle_Parse(name, value);
2669   }
2670 
2671   // accessors -------------------------------------------------------
2672   enum : int {
2673     kFieldPresenceFieldNumber = 1,
2674     kEnumTypeFieldNumber = 2,
2675     kRepeatedFieldEncodingFieldNumber = 3,
2676     kUtf8ValidationFieldNumber = 4,
2677     kMessageEncodingFieldNumber = 5,
2678     kJsonFormatFieldNumber = 6,
2679     kEnforceNamingStyleFieldNumber = 7,
2680     kDefaultSymbolVisibilityFieldNumber = 8,
2681   };
2682   // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
2683   bool has_field_presence() const;
2684   void clear_field_presence() ;
2685   ::google::protobuf::FeatureSet_FieldPresence field_presence() const;
2686   void set_field_presence(::google::protobuf::FeatureSet_FieldPresence value);
2687 
2688   private:
2689   ::google::protobuf::FeatureSet_FieldPresence _internal_field_presence() const;
2690   void _internal_set_field_presence(::google::protobuf::FeatureSet_FieldPresence value);
2691 
2692   public:
2693   // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
2694   bool has_enum_type() const;
2695   void clear_enum_type() ;
2696   ::google::protobuf::FeatureSet_EnumType enum_type() const;
2697   void set_enum_type(::google::protobuf::FeatureSet_EnumType value);
2698 
2699   private:
2700   ::google::protobuf::FeatureSet_EnumType _internal_enum_type() const;
2701   void _internal_set_enum_type(::google::protobuf::FeatureSet_EnumType value);
2702 
2703   public:
2704   // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
2705   bool has_repeated_field_encoding() const;
2706   void clear_repeated_field_encoding() ;
2707   ::google::protobuf::FeatureSet_RepeatedFieldEncoding repeated_field_encoding() const;
2708   void set_repeated_field_encoding(::google::protobuf::FeatureSet_RepeatedFieldEncoding value);
2709 
2710   private:
2711   ::google::protobuf::FeatureSet_RepeatedFieldEncoding _internal_repeated_field_encoding() const;
2712   void _internal_set_repeated_field_encoding(::google::protobuf::FeatureSet_RepeatedFieldEncoding value);
2713 
2714   public:
2715   // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
2716   bool has_utf8_validation() const;
2717   void clear_utf8_validation() ;
2718   ::google::protobuf::FeatureSet_Utf8Validation utf8_validation() const;
2719   void set_utf8_validation(::google::protobuf::FeatureSet_Utf8Validation value);
2720 
2721   private:
2722   ::google::protobuf::FeatureSet_Utf8Validation _internal_utf8_validation() const;
2723   void _internal_set_utf8_validation(::google::protobuf::FeatureSet_Utf8Validation value);
2724 
2725   public:
2726   // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
2727   bool has_message_encoding() const;
2728   void clear_message_encoding() ;
2729   ::google::protobuf::FeatureSet_MessageEncoding message_encoding() const;
2730   void set_message_encoding(::google::protobuf::FeatureSet_MessageEncoding value);
2731 
2732   private:
2733   ::google::protobuf::FeatureSet_MessageEncoding _internal_message_encoding() const;
2734   void _internal_set_message_encoding(::google::protobuf::FeatureSet_MessageEncoding value);
2735 
2736   public:
2737   // 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 = {
2738   bool has_json_format() const;
2739   void clear_json_format() ;
2740   ::google::protobuf::FeatureSet_JsonFormat json_format() const;
2741   void set_json_format(::google::protobuf::FeatureSet_JsonFormat value);
2742 
2743   private:
2744   ::google::protobuf::FeatureSet_JsonFormat _internal_json_format() const;
2745   void _internal_set_json_format(::google::protobuf::FeatureSet_JsonFormat value);
2746 
2747   public:
2748   // optional .google.protobuf.FeatureSet.EnforceNamingStyle enforce_naming_style = 7 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, targets = TARGET_TYPE_EXTENSION_RANGE, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_ENUM_ENTRY, targets = TARGET_TYPE_SERVICE, targets = TARGET_TYPE_METHOD, edition_defaults = {
2749   bool has_enforce_naming_style() const;
2750   void clear_enforce_naming_style() ;
2751   ::google::protobuf::FeatureSet_EnforceNamingStyle enforce_naming_style() const;
2752   void set_enforce_naming_style(::google::protobuf::FeatureSet_EnforceNamingStyle value);
2753 
2754   private:
2755   ::google::protobuf::FeatureSet_EnforceNamingStyle _internal_enforce_naming_style() const;
2756   void _internal_set_enforce_naming_style(::google::protobuf::FeatureSet_EnforceNamingStyle value);
2757 
2758   public:
2759   // optional .google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility = 8 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, edition_defaults = {
2760   bool has_default_symbol_visibility() const;
2761   void clear_default_symbol_visibility() ;
2762   ::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility default_symbol_visibility() const;
2763   void set_default_symbol_visibility(::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility value);
2764 
2765   private:
2766   ::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility _internal_default_symbol_visibility() const;
2767   void _internal_set_default_symbol_visibility(::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility value);
2768 
2769   public:
2770   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2771             bool _is_packed,
2772             typename = typename _proto_TypeTraits::Singular>
2773   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
2774       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2775                                        _field_type, _is_packed>& id) const {
2776     return _impl_._extensions_.Has(id.number());
2777   }
2778 
2779   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2780             bool _is_packed>
2781   inline void ClearExtension(
2782       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2783                                        _field_type, _is_packed>& id) {
2784     _impl_._extensions_.ClearExtension(id.number());
2785   }
2786 
2787   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2788             bool _is_packed,
2789             typename = typename _proto_TypeTraits::Repeated>
2790   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
2791       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2792                                        _field_type, _is_packed>& id) const {
2793     return _impl_._extensions_.ExtensionSize(id.number());
2794   }
2795 
2796   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2797             bool _is_packed,
2798             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
2799   PROTOBUF_FUTURE_ADD_NODISCARD inline
2800       typename _proto_TypeTraits::Singular::ConstType
2801       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
2802                    FeatureSet, _proto_TypeTraits, _field_type, _is_packed>& id)
2803           const {
2804     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
2805   }
2806 
2807   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2808             bool _is_packed,
2809             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
2810   PROTOBUF_FUTURE_ADD_NODISCARD inline
2811       typename _proto_TypeTraits::Singular::ConstType
2812       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
2813                    FeatureSet, _proto_TypeTraits, _field_type, _is_packed>& id)
2814           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
2815     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
2816   }
2817 
2818   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2819             bool _is_packed>
2820   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
2821       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2822                                        _field_type, _is_packed>& id)
2823       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2824     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
2825   }
2826 
2827   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2828             bool _is_packed>
2829   inline void SetExtension(
2830       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2831                                        _field_type, _is_packed>& id,
2832       typename _proto_TypeTraits::Singular::ConstType value) {
2833     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
2834   }
2835 
2836   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2837             bool _is_packed>
2838   inline void SetAllocatedExtension(
2839       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2840                                        _field_type, _is_packed>& id,
2841       typename _proto_TypeTraits::Singular::MutableType value) {
2842     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
2843                                     &_impl_._extensions_);
2844   }
2845   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2846             bool _is_packed>
2847   inline void UnsafeArenaSetAllocatedExtension(
2848       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2849                                        _field_type, _is_packed>& id,
2850       typename _proto_TypeTraits::Singular::MutableType value) {
2851     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
2852                                                value, &_impl_._extensions_);
2853   }
2854   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2855             bool _is_packed>
2856   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
2857   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
2858                    FeatureSet, _proto_TypeTraits, _field_type, _is_packed>& id) {
2859     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
2860   }
2861   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2862             bool _is_packed>
2863   inline typename _proto_TypeTraits::Singular::MutableType
2864   UnsafeArenaReleaseExtension(
2865       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2866                                        _field_type, _is_packed>& id) {
2867     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
2868                                                  &_impl_._extensions_);
2869   }
2870 
2871   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2872             bool _is_packed,
2873             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
2874   PROTOBUF_FUTURE_ADD_NODISCARD inline
2875       typename _proto_TypeTraits::Repeated::ConstType
2876       GetExtension(
2877           const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2878                                            _field_type, _is_packed>& id,
2879           int index) const {
2880     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
2881   }
2882 
2883   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2884             bool _is_packed,
2885             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
2886   PROTOBUF_FUTURE_ADD_NODISCARD inline
2887       typename _proto_TypeTraits::Repeated::ConstType
2888       GetExtension(
2889           const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2890                                            _field_type, _is_packed>& id,
2891           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
2892     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
2893   }
2894 
2895   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2896             bool _is_packed>
2897   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
2898       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2899                                        _field_type, _is_packed>& id,
2900       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
2901     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
2902   }
2903 
2904   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2905             bool _is_packed>
2906   inline void SetExtension(
2907       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2908                                        _field_type, _is_packed>& id,
2909       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
2910     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
2911   }
2912 
2913   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2914             bool _is_packed>
2915   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
2916       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2917                                        _field_type, _is_packed>& id)
2918       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2919     typename _proto_TypeTraits::Repeated::MutableType to_add =
2920         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
2921     return to_add;
2922   }
2923 
2924   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2925             bool _is_packed>
2926   inline void AddExtension(
2927       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2928                                        _field_type, _is_packed>& id,
2929       typename _proto_TypeTraits::Repeated::ConstType value) {
2930     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
2931                            &_impl_._extensions_);
2932   }
2933 
2934   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2935             bool _is_packed>
2936   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
2937       Repeated::RepeatedFieldType&
2938       GetRepeatedExtension(
2939           const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2940                                            _field_type, _is_packed>& id)
2941           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
2942     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
2943   }
2944 
2945   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2946             bool _is_packed>
2947   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
2948   MutableRepeatedExtension(
2949       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2950                                        _field_type, _is_packed>& id)
2951       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2952     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
2953                                               _is_packed, &_impl_._extensions_);
2954   }
2955   // @@protoc_insertion_point(class_scope:google.protobuf.FeatureSet)
2956  private:
2957   class _Internal;
2958   friend class ::google::protobuf::internal::TcParser;
2959   static const ::google::protobuf::internal::TcParseTable<3, 8,
2960                                    8, 0,
2961                                    2>
2962       _table_;
2963 
2964   friend class ::google::protobuf::MessageLite;
2965   friend class ::google::protobuf::Arena;
2966   template <typename T>
2967   friend class ::google::protobuf::Arena::InternalHelper;
2968   using InternalArenaConstructable_ = void;
2969   using DestructorSkippable_ = void;
2970   struct Impl_ {
2971     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2972     inline explicit Impl_(
2973         ::google::protobuf::internal::InternalVisibility visibility,
2974         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2975     inline explicit Impl_(
2976         ::google::protobuf::internal::InternalVisibility visibility,
2977         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2978         const FeatureSet& from_msg);
2979     ::google::protobuf::internal::ExtensionSet _extensions_;
2980     ::google::protobuf::internal::HasBits<1> _has_bits_;
2981     ::google::protobuf::internal::CachedSize _cached_size_;
2982     int field_presence_;
2983     int enum_type_;
2984     int repeated_field_encoding_;
2985     int utf8_validation_;
2986     int message_encoding_;
2987     int json_format_;
2988     int enforce_naming_style_;
2989     int default_symbol_visibility_;
2990     PROTOBUF_TSAN_DECLARE_MEMBER
2991   };
2992   union { Impl_ _impl_; };
2993   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
2994 };
2995 
2996 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FeatureSet_class_data_;
2997 // -------------------------------------------------------------------
2998 
2999 class PROTOBUF_EXPORT ExtensionRangeOptions_Declaration final : public ::google::protobuf::Message
3000 /* @@protoc_insertion_point(class_definition:google.protobuf.ExtensionRangeOptions.Declaration) */ {
3001  public:
3002   inline ExtensionRangeOptions_Declaration() : ExtensionRangeOptions_Declaration(nullptr) {}
3003   ~ExtensionRangeOptions_Declaration() PROTOBUF_FINAL;
3004 
3005 #if defined(PROTOBUF_CUSTOM_VTABLE)
3006   void operator delete(ExtensionRangeOptions_Declaration* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3007     SharedDtor(*msg);
3008     ::google::protobuf::internal::SizedDelete(msg, sizeof(ExtensionRangeOptions_Declaration));
3009   }
3010 #endif
3011 
3012   template <typename = void>
3013   explicit PROTOBUF_CONSTEXPR ExtensionRangeOptions_Declaration(::google::protobuf::internal::ConstantInitialized);
3014 
3015   inline ExtensionRangeOptions_Declaration(const ExtensionRangeOptions_Declaration& from) : ExtensionRangeOptions_Declaration(nullptr, from) {}
3016   inline ExtensionRangeOptions_Declaration(ExtensionRangeOptions_Declaration&& from) noexcept
3017       : ExtensionRangeOptions_Declaration(nullptr, ::std::move(from)) {}
3018   inline ExtensionRangeOptions_Declaration& operator=(const ExtensionRangeOptions_Declaration& from) {
3019     CopyFrom(from);
3020     return *this;
3021   }
3022   inline ExtensionRangeOptions_Declaration& operator=(ExtensionRangeOptions_Declaration&& from) noexcept {
3023     if (this == &from) return *this;
3024     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3025       InternalSwap(&from);
3026     } else {
3027       CopyFrom(from);
3028     }
3029     return *this;
3030   }
3031 
3032   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3033       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3034     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3035   }
3036   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3037       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3038     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3039   }
3040 
3041   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3042     return GetDescriptor();
3043   }
3044   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3045     return default_instance().GetMetadata().descriptor;
3046   }
3047   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3048     return default_instance().GetMetadata().reflection;
3049   }
3050   static const ExtensionRangeOptions_Declaration& default_instance() {
3051     return *reinterpret_cast<const ExtensionRangeOptions_Declaration*>(
3052         &_ExtensionRangeOptions_Declaration_default_instance_);
3053   }
3054   static constexpr int kIndexInFileMessages = 5;
3055   friend void swap(ExtensionRangeOptions_Declaration& a, ExtensionRangeOptions_Declaration& b) { a.Swap(&b); }
3056   inline void Swap(ExtensionRangeOptions_Declaration* PROTOBUF_NONNULL other) {
3057     if (other == this) return;
3058     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3059       InternalSwap(other);
3060     } else {
3061       ::google::protobuf::internal::GenericSwap(this, other);
3062     }
3063   }
3064   void UnsafeArenaSwap(ExtensionRangeOptions_Declaration* PROTOBUF_NONNULL other) {
3065     if (other == this) return;
3066     ABSL_DCHECK(GetArena() == other->GetArena());
3067     InternalSwap(other);
3068   }
3069 
3070   // implements Message ----------------------------------------------
3071 
3072   ExtensionRangeOptions_Declaration* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3073     return ::google::protobuf::Message::DefaultConstruct<ExtensionRangeOptions_Declaration>(arena);
3074   }
3075   using ::google::protobuf::Message::CopyFrom;
3076   void CopyFrom(const ExtensionRangeOptions_Declaration& from);
3077   using ::google::protobuf::Message::MergeFrom;
3078   void MergeFrom(const ExtensionRangeOptions_Declaration& from) { ExtensionRangeOptions_Declaration::MergeImpl(*this, from); }
3079 
3080   private:
3081   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3082                         const ::google::protobuf::MessageLite& from_msg);
3083 
3084   public:
3085   bool IsInitialized() const {
3086     return true;
3087   }
3088   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3089   #if defined(PROTOBUF_CUSTOM_VTABLE)
3090   private:
3091   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3092   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3093       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3094       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3095 
3096   public:
3097   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3098   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3099       ::uint8_t* PROTOBUF_NONNULL target,
3100       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3101     return _InternalSerialize(*this, target, stream);
3102   }
3103   #else   // PROTOBUF_CUSTOM_VTABLE
3104   ::size_t ByteSizeLong() const final;
3105   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3106       ::uint8_t* PROTOBUF_NONNULL target,
3107       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3108   #endif  // PROTOBUF_CUSTOM_VTABLE
3109   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3110 
3111   private:
3112   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3113   static void SharedDtor(MessageLite& self);
3114   void InternalSwap(ExtensionRangeOptions_Declaration* PROTOBUF_NONNULL other);
3115  private:
3116   template <typename T>
3117   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3118   static ::absl::string_view FullMessageName() { return "google.protobuf.ExtensionRangeOptions.Declaration"; }
3119 
3120  protected:
3121   explicit ExtensionRangeOptions_Declaration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3122   ExtensionRangeOptions_Declaration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ExtensionRangeOptions_Declaration& from);
3123   ExtensionRangeOptions_Declaration(
3124       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ExtensionRangeOptions_Declaration&& from) noexcept
3125       : ExtensionRangeOptions_Declaration(arena) {
3126     *this = ::std::move(from);
3127   }
3128   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3129   static void* PROTOBUF_NONNULL PlacementNew_(
3130       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3131       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3132   static constexpr auto InternalNewImpl_();
3133 
3134  public:
3135   static constexpr auto InternalGenerateClassData_();
3136 
3137   ::google::protobuf::Metadata GetMetadata() const;
3138   // nested types ----------------------------------------------------
3139 
3140   // accessors -------------------------------------------------------
3141   enum : int {
3142     kFullNameFieldNumber = 2,
3143     kTypeFieldNumber = 3,
3144     kNumberFieldNumber = 1,
3145     kReservedFieldNumber = 5,
3146     kRepeatedFieldNumber = 6,
3147   };
3148   // optional string full_name = 2;
3149   bool has_full_name() const;
3150   void clear_full_name() ;
3151   const ::std::string& full_name() const;
3152   template <typename Arg_ = const ::std::string&, typename... Args_>
3153   void set_full_name(Arg_&& arg, Args_... args);
3154   ::std::string* PROTOBUF_NONNULL mutable_full_name();
3155   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_full_name();
3156   void set_allocated_full_name(::std::string* PROTOBUF_NULLABLE value);
3157 
3158   private:
3159   const ::std::string& _internal_full_name() const;
3160   PROTOBUF_ALWAYS_INLINE void _internal_set_full_name(const ::std::string& value);
3161   ::std::string* PROTOBUF_NONNULL _internal_mutable_full_name();
3162 
3163   public:
3164   // optional string type = 3;
3165   bool has_type() const;
3166   void clear_type() ;
3167   const ::std::string& type() const;
3168   template <typename Arg_ = const ::std::string&, typename... Args_>
3169   void set_type(Arg_&& arg, Args_... args);
3170   ::std::string* PROTOBUF_NONNULL mutable_type();
3171   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_type();
3172   void set_allocated_type(::std::string* PROTOBUF_NULLABLE value);
3173 
3174   private:
3175   const ::std::string& _internal_type() const;
3176   PROTOBUF_ALWAYS_INLINE void _internal_set_type(const ::std::string& value);
3177   ::std::string* PROTOBUF_NONNULL _internal_mutable_type();
3178 
3179   public:
3180   // optional int32 number = 1;
3181   bool has_number() const;
3182   void clear_number() ;
3183   ::int32_t number() const;
3184   void set_number(::int32_t value);
3185 
3186   private:
3187   ::int32_t _internal_number() const;
3188   void _internal_set_number(::int32_t value);
3189 
3190   public:
3191   // optional bool reserved = 5;
3192   bool has_reserved() const;
3193   void clear_reserved() ;
3194   bool reserved() const;
3195   void set_reserved(bool value);
3196 
3197   private:
3198   bool _internal_reserved() const;
3199   void _internal_set_reserved(bool value);
3200 
3201   public:
3202   // optional bool repeated = 6;
3203   bool has_repeated() const;
3204   void clear_repeated() ;
3205   bool repeated() const;
3206   void set_repeated(bool value);
3207 
3208   private:
3209   bool _internal_repeated() const;
3210   void _internal_set_repeated(bool value);
3211 
3212   public:
3213   // @@protoc_insertion_point(class_scope:google.protobuf.ExtensionRangeOptions.Declaration)
3214  private:
3215   class _Internal;
3216   friend class ::google::protobuf::internal::TcParser;
3217   static const ::google::protobuf::internal::TcParseTable<3, 5,
3218                                    0, 71,
3219                                    2>
3220       _table_;
3221 
3222   friend class ::google::protobuf::MessageLite;
3223   friend class ::google::protobuf::Arena;
3224   template <typename T>
3225   friend class ::google::protobuf::Arena::InternalHelper;
3226   using InternalArenaConstructable_ = void;
3227   using DestructorSkippable_ = void;
3228   struct Impl_ {
3229     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3230     inline explicit Impl_(
3231         ::google::protobuf::internal::InternalVisibility visibility,
3232         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3233     inline explicit Impl_(
3234         ::google::protobuf::internal::InternalVisibility visibility,
3235         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3236         const ExtensionRangeOptions_Declaration& from_msg);
3237     ::google::protobuf::internal::HasBits<1> _has_bits_;
3238     ::google::protobuf::internal::CachedSize _cached_size_;
3239     ::google::protobuf::internal::ArenaStringPtr full_name_;
3240     ::google::protobuf::internal::ArenaStringPtr type_;
3241     ::int32_t number_;
3242     bool reserved_;
3243     bool repeated_;
3244     PROTOBUF_TSAN_DECLARE_MEMBER
3245   };
3246   union { Impl_ _impl_; };
3247   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
3248 };
3249 
3250 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions_Declaration_class_data_;
3251 // -------------------------------------------------------------------
3252 
3253 class PROTOBUF_EXPORT EnumDescriptorProto_EnumReservedRange final : public ::google::protobuf::Message
3254 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumDescriptorProto.EnumReservedRange) */ {
3255  public:
3256   inline EnumDescriptorProto_EnumReservedRange() : EnumDescriptorProto_EnumReservedRange(nullptr) {}
3257   ~EnumDescriptorProto_EnumReservedRange() PROTOBUF_FINAL;
3258 
3259 #if defined(PROTOBUF_CUSTOM_VTABLE)
3260   void operator delete(EnumDescriptorProto_EnumReservedRange* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3261     SharedDtor(*msg);
3262     ::google::protobuf::internal::SizedDelete(msg, sizeof(EnumDescriptorProto_EnumReservedRange));
3263   }
3264 #endif
3265 
3266   template <typename = void>
3267   explicit PROTOBUF_CONSTEXPR EnumDescriptorProto_EnumReservedRange(::google::protobuf::internal::ConstantInitialized);
3268 
3269   inline EnumDescriptorProto_EnumReservedRange(const EnumDescriptorProto_EnumReservedRange& from) : EnumDescriptorProto_EnumReservedRange(nullptr, from) {}
3270   inline EnumDescriptorProto_EnumReservedRange(EnumDescriptorProto_EnumReservedRange&& from) noexcept
3271       : EnumDescriptorProto_EnumReservedRange(nullptr, ::std::move(from)) {}
3272   inline EnumDescriptorProto_EnumReservedRange& operator=(const EnumDescriptorProto_EnumReservedRange& from) {
3273     CopyFrom(from);
3274     return *this;
3275   }
3276   inline EnumDescriptorProto_EnumReservedRange& operator=(EnumDescriptorProto_EnumReservedRange&& from) noexcept {
3277     if (this == &from) return *this;
3278     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3279       InternalSwap(&from);
3280     } else {
3281       CopyFrom(from);
3282     }
3283     return *this;
3284   }
3285 
3286   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3287       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3288     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3289   }
3290   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3291       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3292     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3293   }
3294 
3295   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3296     return GetDescriptor();
3297   }
3298   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3299     return default_instance().GetMetadata().descriptor;
3300   }
3301   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3302     return default_instance().GetMetadata().reflection;
3303   }
3304   static const EnumDescriptorProto_EnumReservedRange& default_instance() {
3305     return *reinterpret_cast<const EnumDescriptorProto_EnumReservedRange*>(
3306         &_EnumDescriptorProto_EnumReservedRange_default_instance_);
3307   }
3308   static constexpr int kIndexInFileMessages = 9;
3309   friend void swap(EnumDescriptorProto_EnumReservedRange& a, EnumDescriptorProto_EnumReservedRange& b) { a.Swap(&b); }
3310   inline void Swap(EnumDescriptorProto_EnumReservedRange* PROTOBUF_NONNULL other) {
3311     if (other == this) return;
3312     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3313       InternalSwap(other);
3314     } else {
3315       ::google::protobuf::internal::GenericSwap(this, other);
3316     }
3317   }
3318   void UnsafeArenaSwap(EnumDescriptorProto_EnumReservedRange* PROTOBUF_NONNULL other) {
3319     if (other == this) return;
3320     ABSL_DCHECK(GetArena() == other->GetArena());
3321     InternalSwap(other);
3322   }
3323 
3324   // implements Message ----------------------------------------------
3325 
3326   EnumDescriptorProto_EnumReservedRange* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3327     return ::google::protobuf::Message::DefaultConstruct<EnumDescriptorProto_EnumReservedRange>(arena);
3328   }
3329   using ::google::protobuf::Message::CopyFrom;
3330   void CopyFrom(const EnumDescriptorProto_EnumReservedRange& from);
3331   using ::google::protobuf::Message::MergeFrom;
3332   void MergeFrom(const EnumDescriptorProto_EnumReservedRange& from) { EnumDescriptorProto_EnumReservedRange::MergeImpl(*this, from); }
3333 
3334   private:
3335   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3336                         const ::google::protobuf::MessageLite& from_msg);
3337 
3338   public:
3339   bool IsInitialized() const {
3340     return true;
3341   }
3342   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3343   #if defined(PROTOBUF_CUSTOM_VTABLE)
3344   private:
3345   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3346   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3347       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3348       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3349 
3350   public:
3351   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3352   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3353       ::uint8_t* PROTOBUF_NONNULL target,
3354       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3355     return _InternalSerialize(*this, target, stream);
3356   }
3357   #else   // PROTOBUF_CUSTOM_VTABLE
3358   ::size_t ByteSizeLong() const final;
3359   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3360       ::uint8_t* PROTOBUF_NONNULL target,
3361       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3362   #endif  // PROTOBUF_CUSTOM_VTABLE
3363   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3364 
3365   private:
3366   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3367   static void SharedDtor(MessageLite& self);
3368   void InternalSwap(EnumDescriptorProto_EnumReservedRange* PROTOBUF_NONNULL other);
3369  private:
3370   template <typename T>
3371   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3372   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumDescriptorProto.EnumReservedRange"; }
3373 
3374  protected:
3375   explicit EnumDescriptorProto_EnumReservedRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3376   EnumDescriptorProto_EnumReservedRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EnumDescriptorProto_EnumReservedRange& from);
3377   EnumDescriptorProto_EnumReservedRange(
3378       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, EnumDescriptorProto_EnumReservedRange&& from) noexcept
3379       : EnumDescriptorProto_EnumReservedRange(arena) {
3380     *this = ::std::move(from);
3381   }
3382   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3383   static void* PROTOBUF_NONNULL PlacementNew_(
3384       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3385       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3386   static constexpr auto InternalNewImpl_();
3387 
3388  public:
3389   static constexpr auto InternalGenerateClassData_();
3390 
3391   ::google::protobuf::Metadata GetMetadata() const;
3392   // nested types ----------------------------------------------------
3393 
3394   // accessors -------------------------------------------------------
3395   enum : int {
3396     kStartFieldNumber = 1,
3397     kEndFieldNumber = 2,
3398   };
3399   // optional int32 start = 1;
3400   bool has_start() const;
3401   void clear_start() ;
3402   ::int32_t start() const;
3403   void set_start(::int32_t value);
3404 
3405   private:
3406   ::int32_t _internal_start() const;
3407   void _internal_set_start(::int32_t value);
3408 
3409   public:
3410   // optional int32 end = 2;
3411   bool has_end() const;
3412   void clear_end() ;
3413   ::int32_t end() const;
3414   void set_end(::int32_t value);
3415 
3416   private:
3417   ::int32_t _internal_end() const;
3418   void _internal_set_end(::int32_t value);
3419 
3420   public:
3421   // @@protoc_insertion_point(class_scope:google.protobuf.EnumDescriptorProto.EnumReservedRange)
3422  private:
3423   class _Internal;
3424   friend class ::google::protobuf::internal::TcParser;
3425   static const ::google::protobuf::internal::TcParseTable<1, 2,
3426                                    0, 0,
3427                                    2>
3428       _table_;
3429 
3430   friend class ::google::protobuf::MessageLite;
3431   friend class ::google::protobuf::Arena;
3432   template <typename T>
3433   friend class ::google::protobuf::Arena::InternalHelper;
3434   using InternalArenaConstructable_ = void;
3435   using DestructorSkippable_ = void;
3436   struct Impl_ {
3437     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3438     inline explicit Impl_(
3439         ::google::protobuf::internal::InternalVisibility visibility,
3440         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3441     inline explicit Impl_(
3442         ::google::protobuf::internal::InternalVisibility visibility,
3443         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3444         const EnumDescriptorProto_EnumReservedRange& from_msg);
3445     ::google::protobuf::internal::HasBits<1> _has_bits_;
3446     ::google::protobuf::internal::CachedSize _cached_size_;
3447     ::int32_t start_;
3448     ::int32_t end_;
3449     PROTOBUF_TSAN_DECLARE_MEMBER
3450   };
3451   union { Impl_ _impl_; };
3452   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
3453 };
3454 
3455 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumDescriptorProto_EnumReservedRange_class_data_;
3456 // -------------------------------------------------------------------
3457 
3458 class PROTOBUF_EXPORT DescriptorProto_ReservedRange final : public ::google::protobuf::Message
3459 /* @@protoc_insertion_point(class_definition:google.protobuf.DescriptorProto.ReservedRange) */ {
3460  public:
3461   inline DescriptorProto_ReservedRange() : DescriptorProto_ReservedRange(nullptr) {}
3462   ~DescriptorProto_ReservedRange() PROTOBUF_FINAL;
3463 
3464 #if defined(PROTOBUF_CUSTOM_VTABLE)
3465   void operator delete(DescriptorProto_ReservedRange* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3466     SharedDtor(*msg);
3467     ::google::protobuf::internal::SizedDelete(msg, sizeof(DescriptorProto_ReservedRange));
3468   }
3469 #endif
3470 
3471   template <typename = void>
3472   explicit PROTOBUF_CONSTEXPR DescriptorProto_ReservedRange(::google::protobuf::internal::ConstantInitialized);
3473 
3474   inline DescriptorProto_ReservedRange(const DescriptorProto_ReservedRange& from) : DescriptorProto_ReservedRange(nullptr, from) {}
3475   inline DescriptorProto_ReservedRange(DescriptorProto_ReservedRange&& from) noexcept
3476       : DescriptorProto_ReservedRange(nullptr, ::std::move(from)) {}
3477   inline DescriptorProto_ReservedRange& operator=(const DescriptorProto_ReservedRange& from) {
3478     CopyFrom(from);
3479     return *this;
3480   }
3481   inline DescriptorProto_ReservedRange& operator=(DescriptorProto_ReservedRange&& from) noexcept {
3482     if (this == &from) return *this;
3483     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3484       InternalSwap(&from);
3485     } else {
3486       CopyFrom(from);
3487     }
3488     return *this;
3489   }
3490 
3491   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3492       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3493     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3494   }
3495   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3496       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3497     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3498   }
3499 
3500   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3501     return GetDescriptor();
3502   }
3503   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3504     return default_instance().GetMetadata().descriptor;
3505   }
3506   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3507     return default_instance().GetMetadata().reflection;
3508   }
3509   static const DescriptorProto_ReservedRange& default_instance() {
3510     return *reinterpret_cast<const DescriptorProto_ReservedRange*>(
3511         &_DescriptorProto_ReservedRange_default_instance_);
3512   }
3513   static constexpr int kIndexInFileMessages = 3;
3514   friend void swap(DescriptorProto_ReservedRange& a, DescriptorProto_ReservedRange& b) { a.Swap(&b); }
3515   inline void Swap(DescriptorProto_ReservedRange* PROTOBUF_NONNULL other) {
3516     if (other == this) return;
3517     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3518       InternalSwap(other);
3519     } else {
3520       ::google::protobuf::internal::GenericSwap(this, other);
3521     }
3522   }
3523   void UnsafeArenaSwap(DescriptorProto_ReservedRange* PROTOBUF_NONNULL other) {
3524     if (other == this) return;
3525     ABSL_DCHECK(GetArena() == other->GetArena());
3526     InternalSwap(other);
3527   }
3528 
3529   // implements Message ----------------------------------------------
3530 
3531   DescriptorProto_ReservedRange* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3532     return ::google::protobuf::Message::DefaultConstruct<DescriptorProto_ReservedRange>(arena);
3533   }
3534   using ::google::protobuf::Message::CopyFrom;
3535   void CopyFrom(const DescriptorProto_ReservedRange& from);
3536   using ::google::protobuf::Message::MergeFrom;
3537   void MergeFrom(const DescriptorProto_ReservedRange& from) { DescriptorProto_ReservedRange::MergeImpl(*this, from); }
3538 
3539   private:
3540   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3541                         const ::google::protobuf::MessageLite& from_msg);
3542 
3543   public:
3544   bool IsInitialized() const {
3545     return true;
3546   }
3547   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3548   #if defined(PROTOBUF_CUSTOM_VTABLE)
3549   private:
3550   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3551   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3552       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3553       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3554 
3555   public:
3556   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3557   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3558       ::uint8_t* PROTOBUF_NONNULL target,
3559       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3560     return _InternalSerialize(*this, target, stream);
3561   }
3562   #else   // PROTOBUF_CUSTOM_VTABLE
3563   ::size_t ByteSizeLong() const final;
3564   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3565       ::uint8_t* PROTOBUF_NONNULL target,
3566       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3567   #endif  // PROTOBUF_CUSTOM_VTABLE
3568   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3569 
3570   private:
3571   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3572   static void SharedDtor(MessageLite& self);
3573   void InternalSwap(DescriptorProto_ReservedRange* PROTOBUF_NONNULL other);
3574  private:
3575   template <typename T>
3576   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3577   static ::absl::string_view FullMessageName() { return "google.protobuf.DescriptorProto.ReservedRange"; }
3578 
3579  protected:
3580   explicit DescriptorProto_ReservedRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3581   DescriptorProto_ReservedRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DescriptorProto_ReservedRange& from);
3582   DescriptorProto_ReservedRange(
3583       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DescriptorProto_ReservedRange&& from) noexcept
3584       : DescriptorProto_ReservedRange(arena) {
3585     *this = ::std::move(from);
3586   }
3587   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3588   static void* PROTOBUF_NONNULL PlacementNew_(
3589       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3590       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3591   static constexpr auto InternalNewImpl_();
3592 
3593  public:
3594   static constexpr auto InternalGenerateClassData_();
3595 
3596   ::google::protobuf::Metadata GetMetadata() const;
3597   // nested types ----------------------------------------------------
3598 
3599   // accessors -------------------------------------------------------
3600   enum : int {
3601     kStartFieldNumber = 1,
3602     kEndFieldNumber = 2,
3603   };
3604   // optional int32 start = 1;
3605   bool has_start() const;
3606   void clear_start() ;
3607   ::int32_t start() const;
3608   void set_start(::int32_t value);
3609 
3610   private:
3611   ::int32_t _internal_start() const;
3612   void _internal_set_start(::int32_t value);
3613 
3614   public:
3615   // optional int32 end = 2;
3616   bool has_end() const;
3617   void clear_end() ;
3618   ::int32_t end() const;
3619   void set_end(::int32_t value);
3620 
3621   private:
3622   ::int32_t _internal_end() const;
3623   void _internal_set_end(::int32_t value);
3624 
3625   public:
3626   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ReservedRange)
3627  private:
3628   class _Internal;
3629   friend class ::google::protobuf::internal::TcParser;
3630   static const ::google::protobuf::internal::TcParseTable<1, 2,
3631                                    0, 0,
3632                                    2>
3633       _table_;
3634 
3635   friend class ::google::protobuf::MessageLite;
3636   friend class ::google::protobuf::Arena;
3637   template <typename T>
3638   friend class ::google::protobuf::Arena::InternalHelper;
3639   using InternalArenaConstructable_ = void;
3640   using DestructorSkippable_ = void;
3641   struct Impl_ {
3642     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3643     inline explicit Impl_(
3644         ::google::protobuf::internal::InternalVisibility visibility,
3645         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3646     inline explicit Impl_(
3647         ::google::protobuf::internal::InternalVisibility visibility,
3648         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3649         const DescriptorProto_ReservedRange& from_msg);
3650     ::google::protobuf::internal::HasBits<1> _has_bits_;
3651     ::google::protobuf::internal::CachedSize _cached_size_;
3652     ::int32_t start_;
3653     ::int32_t end_;
3654     PROTOBUF_TSAN_DECLARE_MEMBER
3655   };
3656   union { Impl_ _impl_; };
3657   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
3658 };
3659 
3660 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull DescriptorProto_ReservedRange_class_data_;
3661 // -------------------------------------------------------------------
3662 
3663 class PROTOBUF_EXPORT UninterpretedOption final : public ::google::protobuf::Message
3664 /* @@protoc_insertion_point(class_definition:google.protobuf.UninterpretedOption) */ {
3665  public:
3666   inline UninterpretedOption() : UninterpretedOption(nullptr) {}
3667   ~UninterpretedOption() PROTOBUF_FINAL;
3668 
3669 #if defined(PROTOBUF_CUSTOM_VTABLE)
3670   void operator delete(UninterpretedOption* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3671     SharedDtor(*msg);
3672     ::google::protobuf::internal::SizedDelete(msg, sizeof(UninterpretedOption));
3673   }
3674 #endif
3675 
3676   template <typename = void>
3677   explicit PROTOBUF_CONSTEXPR UninterpretedOption(::google::protobuf::internal::ConstantInitialized);
3678 
3679   inline UninterpretedOption(const UninterpretedOption& from) : UninterpretedOption(nullptr, from) {}
3680   inline UninterpretedOption(UninterpretedOption&& from) noexcept
3681       : UninterpretedOption(nullptr, ::std::move(from)) {}
3682   inline UninterpretedOption& operator=(const UninterpretedOption& from) {
3683     CopyFrom(from);
3684     return *this;
3685   }
3686   inline UninterpretedOption& operator=(UninterpretedOption&& from) noexcept {
3687     if (this == &from) return *this;
3688     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3689       InternalSwap(&from);
3690     } else {
3691       CopyFrom(from);
3692     }
3693     return *this;
3694   }
3695 
3696   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3697       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3698     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3699   }
3700   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3701       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3702     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3703   }
3704 
3705   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3706     return GetDescriptor();
3707   }
3708   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3709     return default_instance().GetMetadata().descriptor;
3710   }
3711   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3712     return default_instance().GetMetadata().reflection;
3713   }
3714   static const UninterpretedOption& default_instance() {
3715     return *reinterpret_cast<const UninterpretedOption*>(
3716         &_UninterpretedOption_default_instance_);
3717   }
3718   static constexpr int kIndexInFileMessages = 25;
3719   friend void swap(UninterpretedOption& a, UninterpretedOption& b) { a.Swap(&b); }
3720   inline void Swap(UninterpretedOption* PROTOBUF_NONNULL other) {
3721     if (other == this) return;
3722     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3723       InternalSwap(other);
3724     } else {
3725       ::google::protobuf::internal::GenericSwap(this, other);
3726     }
3727   }
3728   void UnsafeArenaSwap(UninterpretedOption* PROTOBUF_NONNULL other) {
3729     if (other == this) return;
3730     ABSL_DCHECK(GetArena() == other->GetArena());
3731     InternalSwap(other);
3732   }
3733 
3734   // implements Message ----------------------------------------------
3735 
3736   UninterpretedOption* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3737     return ::google::protobuf::Message::DefaultConstruct<UninterpretedOption>(arena);
3738   }
3739   using ::google::protobuf::Message::CopyFrom;
3740   void CopyFrom(const UninterpretedOption& from);
3741   using ::google::protobuf::Message::MergeFrom;
3742   void MergeFrom(const UninterpretedOption& from) { UninterpretedOption::MergeImpl(*this, from); }
3743 
3744   private:
3745   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3746                         const ::google::protobuf::MessageLite& from_msg);
3747 
3748   public:
3749   bool IsInitialized() const {
3750     return IsInitializedImpl(*this);
3751   }
3752 
3753   private:
3754   static bool IsInitializedImpl(const MessageLite& msg);
3755 
3756   public:
3757   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3758   #if defined(PROTOBUF_CUSTOM_VTABLE)
3759   private:
3760   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3761   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3762       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3763       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3764 
3765   public:
3766   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3767   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3768       ::uint8_t* PROTOBUF_NONNULL target,
3769       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3770     return _InternalSerialize(*this, target, stream);
3771   }
3772   #else   // PROTOBUF_CUSTOM_VTABLE
3773   ::size_t ByteSizeLong() const final;
3774   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3775       ::uint8_t* PROTOBUF_NONNULL target,
3776       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3777   #endif  // PROTOBUF_CUSTOM_VTABLE
3778   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3779 
3780   private:
3781   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3782   static void SharedDtor(MessageLite& self);
3783   void InternalSwap(UninterpretedOption* PROTOBUF_NONNULL other);
3784  private:
3785   template <typename T>
3786   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3787   static ::absl::string_view FullMessageName() { return "google.protobuf.UninterpretedOption"; }
3788 
3789  protected:
3790   explicit UninterpretedOption(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3791   UninterpretedOption(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UninterpretedOption& from);
3792   UninterpretedOption(
3793       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UninterpretedOption&& from) noexcept
3794       : UninterpretedOption(arena) {
3795     *this = ::std::move(from);
3796   }
3797   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3798   static void* PROTOBUF_NONNULL PlacementNew_(
3799       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3800       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3801   static constexpr auto InternalNewImpl_();
3802 
3803  public:
3804   static constexpr auto InternalGenerateClassData_();
3805 
3806   ::google::protobuf::Metadata GetMetadata() const;
3807   // nested types ----------------------------------------------------
3808   using NamePart = UninterpretedOption_NamePart;
3809 
3810   // accessors -------------------------------------------------------
3811   enum : int {
3812     kNameFieldNumber = 2,
3813     kIdentifierValueFieldNumber = 3,
3814     kStringValueFieldNumber = 7,
3815     kAggregateValueFieldNumber = 8,
3816     kPositiveIntValueFieldNumber = 4,
3817     kNegativeIntValueFieldNumber = 5,
3818     kDoubleValueFieldNumber = 6,
3819   };
3820   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
3821   int name_size() const;
3822   private:
3823   int _internal_name_size() const;
3824 
3825   public:
3826   void clear_name() ;
3827   ::google::protobuf::UninterpretedOption_NamePart* PROTOBUF_NONNULL mutable_name(int index);
3828   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>* PROTOBUF_NONNULL mutable_name();
3829 
3830   private:
3831   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>& _internal_name() const;
3832   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>* PROTOBUF_NONNULL _internal_mutable_name();
3833   public:
3834   const ::google::protobuf::UninterpretedOption_NamePart& name(int index) const;
3835   ::google::protobuf::UninterpretedOption_NamePart* PROTOBUF_NONNULL add_name();
3836   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>& name() const;
3837   // optional string identifier_value = 3;
3838   bool has_identifier_value() const;
3839   void clear_identifier_value() ;
3840   const ::std::string& identifier_value() const;
3841   template <typename Arg_ = const ::std::string&, typename... Args_>
3842   void set_identifier_value(Arg_&& arg, Args_... args);
3843   ::std::string* PROTOBUF_NONNULL mutable_identifier_value();
3844   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_identifier_value();
3845   void set_allocated_identifier_value(::std::string* PROTOBUF_NULLABLE value);
3846 
3847   private:
3848   const ::std::string& _internal_identifier_value() const;
3849   PROTOBUF_ALWAYS_INLINE void _internal_set_identifier_value(const ::std::string& value);
3850   ::std::string* PROTOBUF_NONNULL _internal_mutable_identifier_value();
3851 
3852   public:
3853   // optional bytes string_value = 7;
3854   bool has_string_value() const;
3855   void clear_string_value() ;
3856   const ::std::string& string_value() const;
3857   template <typename Arg_ = const ::std::string&, typename... Args_>
3858   void set_string_value(Arg_&& arg, Args_... args);
3859   ::std::string* PROTOBUF_NONNULL mutable_string_value();
3860   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_string_value();
3861   void set_allocated_string_value(::std::string* PROTOBUF_NULLABLE value);
3862 
3863   private:
3864   const ::std::string& _internal_string_value() const;
3865   PROTOBUF_ALWAYS_INLINE void _internal_set_string_value(const ::std::string& value);
3866   ::std::string* PROTOBUF_NONNULL _internal_mutable_string_value();
3867 
3868   public:
3869   // optional string aggregate_value = 8;
3870   bool has_aggregate_value() const;
3871   void clear_aggregate_value() ;
3872   const ::std::string& aggregate_value() const;
3873   template <typename Arg_ = const ::std::string&, typename... Args_>
3874   void set_aggregate_value(Arg_&& arg, Args_... args);
3875   ::std::string* PROTOBUF_NONNULL mutable_aggregate_value();
3876   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_aggregate_value();
3877   void set_allocated_aggregate_value(::std::string* PROTOBUF_NULLABLE value);
3878 
3879   private:
3880   const ::std::string& _internal_aggregate_value() const;
3881   PROTOBUF_ALWAYS_INLINE void _internal_set_aggregate_value(const ::std::string& value);
3882   ::std::string* PROTOBUF_NONNULL _internal_mutable_aggregate_value();
3883 
3884   public:
3885   // optional uint64 positive_int_value = 4;
3886   bool has_positive_int_value() const;
3887   void clear_positive_int_value() ;
3888   ::uint64_t positive_int_value() const;
3889   void set_positive_int_value(::uint64_t value);
3890 
3891   private:
3892   ::uint64_t _internal_positive_int_value() const;
3893   void _internal_set_positive_int_value(::uint64_t value);
3894 
3895   public:
3896   // optional int64 negative_int_value = 5;
3897   bool has_negative_int_value() const;
3898   void clear_negative_int_value() ;
3899   ::int64_t negative_int_value() const;
3900   void set_negative_int_value(::int64_t value);
3901 
3902   private:
3903   ::int64_t _internal_negative_int_value() const;
3904   void _internal_set_negative_int_value(::int64_t value);
3905 
3906   public:
3907   // optional double double_value = 6;
3908   bool has_double_value() const;
3909   void clear_double_value() ;
3910   double double_value() const;
3911   void set_double_value(double value);
3912 
3913   private:
3914   double _internal_double_value() const;
3915   void _internal_set_double_value(double value);
3916 
3917   public:
3918   // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption)
3919  private:
3920   class _Internal;
3921   friend class ::google::protobuf::internal::TcParser;
3922   static const ::google::protobuf::internal::TcParseTable<3, 7,
3923                                    1, 75,
3924                                    2>
3925       _table_;
3926 
3927   friend class ::google::protobuf::MessageLite;
3928   friend class ::google::protobuf::Arena;
3929   template <typename T>
3930   friend class ::google::protobuf::Arena::InternalHelper;
3931   using InternalArenaConstructable_ = void;
3932   using DestructorSkippable_ = void;
3933   struct Impl_ {
3934     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3935     inline explicit Impl_(
3936         ::google::protobuf::internal::InternalVisibility visibility,
3937         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3938     inline explicit Impl_(
3939         ::google::protobuf::internal::InternalVisibility visibility,
3940         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3941         const UninterpretedOption& from_msg);
3942     ::google::protobuf::internal::HasBits<1> _has_bits_;
3943     ::google::protobuf::internal::CachedSize _cached_size_;
3944     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart > name_;
3945     ::google::protobuf::internal::ArenaStringPtr identifier_value_;
3946     ::google::protobuf::internal::ArenaStringPtr string_value_;
3947     ::google::protobuf::internal::ArenaStringPtr aggregate_value_;
3948     ::uint64_t positive_int_value_;
3949     ::int64_t negative_int_value_;
3950     double double_value_;
3951     PROTOBUF_TSAN_DECLARE_MEMBER
3952   };
3953   union { Impl_ _impl_; };
3954   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
3955 };
3956 
3957 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull UninterpretedOption_class_data_;
3958 // -------------------------------------------------------------------
3959 
3960 class PROTOBUF_EXPORT SourceCodeInfo final : public ::google::protobuf::Message
3961 /* @@protoc_insertion_point(class_definition:google.protobuf.SourceCodeInfo) */ {
3962  public:
3963   inline SourceCodeInfo() : SourceCodeInfo(nullptr) {}
3964   ~SourceCodeInfo() PROTOBUF_FINAL;
3965 
3966 #if defined(PROTOBUF_CUSTOM_VTABLE)
3967   void operator delete(SourceCodeInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3968     SharedDtor(*msg);
3969     ::google::protobuf::internal::SizedDelete(msg, sizeof(SourceCodeInfo));
3970   }
3971 #endif
3972 
3973   template <typename = void>
3974   explicit PROTOBUF_CONSTEXPR SourceCodeInfo(::google::protobuf::internal::ConstantInitialized);
3975 
3976   inline SourceCodeInfo(const SourceCodeInfo& from) : SourceCodeInfo(nullptr, from) {}
3977   inline SourceCodeInfo(SourceCodeInfo&& from) noexcept
3978       : SourceCodeInfo(nullptr, ::std::move(from)) {}
3979   inline SourceCodeInfo& operator=(const SourceCodeInfo& from) {
3980     CopyFrom(from);
3981     return *this;
3982   }
3983   inline SourceCodeInfo& operator=(SourceCodeInfo&& from) noexcept {
3984     if (this == &from) return *this;
3985     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3986       InternalSwap(&from);
3987     } else {
3988       CopyFrom(from);
3989     }
3990     return *this;
3991   }
3992 
3993   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3994       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3995     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3996   }
3997   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3998       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3999     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4000   }
4001 
4002   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4003     return GetDescriptor();
4004   }
4005   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4006     return default_instance().GetMetadata().descriptor;
4007   }
4008   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4009     return default_instance().GetMetadata().reflection;
4010   }
4011   static const SourceCodeInfo& default_instance() {
4012     return *reinterpret_cast<const SourceCodeInfo*>(
4013         &_SourceCodeInfo_default_instance_);
4014   }
4015   static constexpr int kIndexInFileMessages = 31;
4016   friend void swap(SourceCodeInfo& a, SourceCodeInfo& b) { a.Swap(&b); }
4017   inline void Swap(SourceCodeInfo* PROTOBUF_NONNULL other) {
4018     if (other == this) return;
4019     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4020       InternalSwap(other);
4021     } else {
4022       ::google::protobuf::internal::GenericSwap(this, other);
4023     }
4024   }
4025   void UnsafeArenaSwap(SourceCodeInfo* PROTOBUF_NONNULL other) {
4026     if (other == this) return;
4027     ABSL_DCHECK(GetArena() == other->GetArena());
4028     InternalSwap(other);
4029   }
4030 
4031   // implements Message ----------------------------------------------
4032 
4033   SourceCodeInfo* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4034     return ::google::protobuf::Message::DefaultConstruct<SourceCodeInfo>(arena);
4035   }
4036   using ::google::protobuf::Message::CopyFrom;
4037   void CopyFrom(const SourceCodeInfo& from);
4038   using ::google::protobuf::Message::MergeFrom;
4039   void MergeFrom(const SourceCodeInfo& from) { SourceCodeInfo::MergeImpl(*this, from); }
4040 
4041   private:
4042   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4043                         const ::google::protobuf::MessageLite& from_msg);
4044 
4045   public:
4046   bool IsInitialized() const {
4047     return IsInitializedImpl(*this);
4048   }
4049 
4050   private:
4051   static bool IsInitializedImpl(const MessageLite& msg);
4052 
4053   public:
4054   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4055   #if defined(PROTOBUF_CUSTOM_VTABLE)
4056   private:
4057   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4058   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4059       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4060       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4061 
4062   public:
4063   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4064   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4065       ::uint8_t* PROTOBUF_NONNULL target,
4066       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4067     return _InternalSerialize(*this, target, stream);
4068   }
4069   #else   // PROTOBUF_CUSTOM_VTABLE
4070   ::size_t ByteSizeLong() const final;
4071   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4072       ::uint8_t* PROTOBUF_NONNULL target,
4073       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4074   #endif  // PROTOBUF_CUSTOM_VTABLE
4075   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4076 
4077   private:
4078   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4079   static void SharedDtor(MessageLite& self);
4080   void InternalSwap(SourceCodeInfo* PROTOBUF_NONNULL other);
4081  private:
4082   template <typename T>
4083   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4084   static ::absl::string_view FullMessageName() { return "google.protobuf.SourceCodeInfo"; }
4085 
4086  protected:
4087   explicit SourceCodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4088   SourceCodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SourceCodeInfo& from);
4089   SourceCodeInfo(
4090       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SourceCodeInfo&& from) noexcept
4091       : SourceCodeInfo(arena) {
4092     *this = ::std::move(from);
4093   }
4094   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4095   static void* PROTOBUF_NONNULL PlacementNew_(
4096       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4097       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4098   static constexpr auto InternalNewImpl_();
4099 
4100  public:
4101   static constexpr auto InternalGenerateClassData_();
4102 
4103   ::google::protobuf::Metadata GetMetadata() const;
4104   // nested types ----------------------------------------------------
4105   using Location = SourceCodeInfo_Location;
4106 
4107   // accessors -------------------------------------------------------
4108   enum : int {
4109     kLocationFieldNumber = 1,
4110   };
4111   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
4112   int location_size() const;
4113   private:
4114   int _internal_location_size() const;
4115 
4116   public:
4117   void clear_location() ;
4118   ::google::protobuf::SourceCodeInfo_Location* PROTOBUF_NONNULL mutable_location(int index);
4119   ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>* PROTOBUF_NONNULL mutable_location();
4120 
4121   private:
4122   const ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>& _internal_location() const;
4123   ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>* PROTOBUF_NONNULL _internal_mutable_location();
4124   public:
4125   const ::google::protobuf::SourceCodeInfo_Location& location(int index) const;
4126   ::google::protobuf::SourceCodeInfo_Location* PROTOBUF_NONNULL add_location();
4127   const ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>& location() const;
4128   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4129             bool _is_packed,
4130             typename = typename _proto_TypeTraits::Singular>
4131   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
4132       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4133                                        _field_type, _is_packed>& id) const {
4134     return _impl_._extensions_.Has(id.number());
4135   }
4136 
4137   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4138             bool _is_packed>
4139   inline void ClearExtension(
4140       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4141                                        _field_type, _is_packed>& id) {
4142     _impl_._extensions_.ClearExtension(id.number());
4143   }
4144 
4145   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4146             bool _is_packed,
4147             typename = typename _proto_TypeTraits::Repeated>
4148   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
4149       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4150                                        _field_type, _is_packed>& id) const {
4151     return _impl_._extensions_.ExtensionSize(id.number());
4152   }
4153 
4154   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4155             bool _is_packed,
4156             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
4157   PROTOBUF_FUTURE_ADD_NODISCARD inline
4158       typename _proto_TypeTraits::Singular::ConstType
4159       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
4160                    SourceCodeInfo, _proto_TypeTraits, _field_type, _is_packed>& id)
4161           const {
4162     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
4163   }
4164 
4165   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4166             bool _is_packed,
4167             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
4168   PROTOBUF_FUTURE_ADD_NODISCARD inline
4169       typename _proto_TypeTraits::Singular::ConstType
4170       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
4171                    SourceCodeInfo, _proto_TypeTraits, _field_type, _is_packed>& id)
4172           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4173     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
4174   }
4175 
4176   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4177             bool _is_packed>
4178   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
4179       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4180                                        _field_type, _is_packed>& id)
4181       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4182     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
4183   }
4184 
4185   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4186             bool _is_packed>
4187   inline void SetExtension(
4188       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4189                                        _field_type, _is_packed>& id,
4190       typename _proto_TypeTraits::Singular::ConstType value) {
4191     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
4192   }
4193 
4194   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4195             bool _is_packed>
4196   inline void SetAllocatedExtension(
4197       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4198                                        _field_type, _is_packed>& id,
4199       typename _proto_TypeTraits::Singular::MutableType value) {
4200     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
4201                                     &_impl_._extensions_);
4202   }
4203   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4204             bool _is_packed>
4205   inline void UnsafeArenaSetAllocatedExtension(
4206       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4207                                        _field_type, _is_packed>& id,
4208       typename _proto_TypeTraits::Singular::MutableType value) {
4209     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
4210                                                value, &_impl_._extensions_);
4211   }
4212   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4213             bool _is_packed>
4214   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
4215   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
4216                    SourceCodeInfo, _proto_TypeTraits, _field_type, _is_packed>& id) {
4217     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
4218   }
4219   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4220             bool _is_packed>
4221   inline typename _proto_TypeTraits::Singular::MutableType
4222   UnsafeArenaReleaseExtension(
4223       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4224                                        _field_type, _is_packed>& id) {
4225     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
4226                                                  &_impl_._extensions_);
4227   }
4228 
4229   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4230             bool _is_packed,
4231             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
4232   PROTOBUF_FUTURE_ADD_NODISCARD inline
4233       typename _proto_TypeTraits::Repeated::ConstType
4234       GetExtension(
4235           const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4236                                            _field_type, _is_packed>& id,
4237           int index) const {
4238     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
4239   }
4240 
4241   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4242             bool _is_packed,
4243             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
4244   PROTOBUF_FUTURE_ADD_NODISCARD inline
4245       typename _proto_TypeTraits::Repeated::ConstType
4246       GetExtension(
4247           const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4248                                            _field_type, _is_packed>& id,
4249           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4250     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
4251   }
4252 
4253   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4254             bool _is_packed>
4255   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
4256       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4257                                        _field_type, _is_packed>& id,
4258       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
4259     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
4260   }
4261 
4262   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4263             bool _is_packed>
4264   inline void SetExtension(
4265       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4266                                        _field_type, _is_packed>& id,
4267       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
4268     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
4269   }
4270 
4271   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4272             bool _is_packed>
4273   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
4274       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4275                                        _field_type, _is_packed>& id)
4276       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4277     typename _proto_TypeTraits::Repeated::MutableType to_add =
4278         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
4279     return to_add;
4280   }
4281 
4282   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4283             bool _is_packed>
4284   inline void AddExtension(
4285       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4286                                        _field_type, _is_packed>& id,
4287       typename _proto_TypeTraits::Repeated::ConstType value) {
4288     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
4289                            &_impl_._extensions_);
4290   }
4291 
4292   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4293             bool _is_packed>
4294   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
4295       Repeated::RepeatedFieldType&
4296       GetRepeatedExtension(
4297           const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4298                                            _field_type, _is_packed>& id)
4299           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4300     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
4301   }
4302 
4303   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4304             bool _is_packed>
4305   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
4306   MutableRepeatedExtension(
4307       const ::google::protobuf::internal::ExtensionIdentifier<SourceCodeInfo, _proto_TypeTraits,
4308                                        _field_type, _is_packed>& id)
4309       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4310     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
4311                                               _is_packed, &_impl_._extensions_);
4312   }
4313   // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo)
4314  private:
4315   class _Internal;
4316   friend class ::google::protobuf::internal::TcParser;
4317   static const ::google::protobuf::internal::TcParseTable<0, 1,
4318                                    1, 0,
4319                                    2>
4320       _table_;
4321 
4322   friend class ::google::protobuf::MessageLite;
4323   friend class ::google::protobuf::Arena;
4324   template <typename T>
4325   friend class ::google::protobuf::Arena::InternalHelper;
4326   using InternalArenaConstructable_ = void;
4327   using DestructorSkippable_ = void;
4328   struct Impl_ {
4329     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4330     inline explicit Impl_(
4331         ::google::protobuf::internal::InternalVisibility visibility,
4332         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4333     inline explicit Impl_(
4334         ::google::protobuf::internal::InternalVisibility visibility,
4335         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4336         const SourceCodeInfo& from_msg);
4337     ::google::protobuf::internal::ExtensionSet _extensions_;
4338     ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location > location_;
4339     ::google::protobuf::internal::CachedSize _cached_size_;
4340     PROTOBUF_TSAN_DECLARE_MEMBER
4341   };
4342   union { Impl_ _impl_; };
4343   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
4344 };
4345 
4346 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull SourceCodeInfo_class_data_;
4347 // -------------------------------------------------------------------
4348 
4349 class PROTOBUF_EXPORT GeneratedCodeInfo final : public ::google::protobuf::Message
4350 /* @@protoc_insertion_point(class_definition:google.protobuf.GeneratedCodeInfo) */ {
4351  public:
4352   inline GeneratedCodeInfo() : GeneratedCodeInfo(nullptr) {}
4353   ~GeneratedCodeInfo() PROTOBUF_FINAL;
4354 
4355 #if defined(PROTOBUF_CUSTOM_VTABLE)
4356   void operator delete(GeneratedCodeInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
4357     SharedDtor(*msg);
4358     ::google::protobuf::internal::SizedDelete(msg, sizeof(GeneratedCodeInfo));
4359   }
4360 #endif
4361 
4362   template <typename = void>
4363   explicit PROTOBUF_CONSTEXPR GeneratedCodeInfo(::google::protobuf::internal::ConstantInitialized);
4364 
4365   inline GeneratedCodeInfo(const GeneratedCodeInfo& from) : GeneratedCodeInfo(nullptr, from) {}
4366   inline GeneratedCodeInfo(GeneratedCodeInfo&& from) noexcept
4367       : GeneratedCodeInfo(nullptr, ::std::move(from)) {}
4368   inline GeneratedCodeInfo& operator=(const GeneratedCodeInfo& from) {
4369     CopyFrom(from);
4370     return *this;
4371   }
4372   inline GeneratedCodeInfo& operator=(GeneratedCodeInfo&& from) noexcept {
4373     if (this == &from) return *this;
4374     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4375       InternalSwap(&from);
4376     } else {
4377       CopyFrom(from);
4378     }
4379     return *this;
4380   }
4381 
4382   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4383       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4384     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4385   }
4386   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4387       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4388     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4389   }
4390 
4391   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4392     return GetDescriptor();
4393   }
4394   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4395     return default_instance().GetMetadata().descriptor;
4396   }
4397   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4398     return default_instance().GetMetadata().reflection;
4399   }
4400   static const GeneratedCodeInfo& default_instance() {
4401     return *reinterpret_cast<const GeneratedCodeInfo*>(
4402         &_GeneratedCodeInfo_default_instance_);
4403   }
4404   static constexpr int kIndexInFileMessages = 33;
4405   friend void swap(GeneratedCodeInfo& a, GeneratedCodeInfo& b) { a.Swap(&b); }
4406   inline void Swap(GeneratedCodeInfo* PROTOBUF_NONNULL other) {
4407     if (other == this) return;
4408     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4409       InternalSwap(other);
4410     } else {
4411       ::google::protobuf::internal::GenericSwap(this, other);
4412     }
4413   }
4414   void UnsafeArenaSwap(GeneratedCodeInfo* PROTOBUF_NONNULL other) {
4415     if (other == this) return;
4416     ABSL_DCHECK(GetArena() == other->GetArena());
4417     InternalSwap(other);
4418   }
4419 
4420   // implements Message ----------------------------------------------
4421 
4422   GeneratedCodeInfo* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4423     return ::google::protobuf::Message::DefaultConstruct<GeneratedCodeInfo>(arena);
4424   }
4425   using ::google::protobuf::Message::CopyFrom;
4426   void CopyFrom(const GeneratedCodeInfo& from);
4427   using ::google::protobuf::Message::MergeFrom;
4428   void MergeFrom(const GeneratedCodeInfo& from) { GeneratedCodeInfo::MergeImpl(*this, from); }
4429 
4430   private:
4431   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4432                         const ::google::protobuf::MessageLite& from_msg);
4433 
4434   public:
4435   bool IsInitialized() const {
4436     return true;
4437   }
4438   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4439   #if defined(PROTOBUF_CUSTOM_VTABLE)
4440   private:
4441   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4442   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4443       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4444       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4445 
4446   public:
4447   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4448   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4449       ::uint8_t* PROTOBUF_NONNULL target,
4450       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4451     return _InternalSerialize(*this, target, stream);
4452   }
4453   #else   // PROTOBUF_CUSTOM_VTABLE
4454   ::size_t ByteSizeLong() const final;
4455   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4456       ::uint8_t* PROTOBUF_NONNULL target,
4457       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4458   #endif  // PROTOBUF_CUSTOM_VTABLE
4459   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4460 
4461   private:
4462   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4463   static void SharedDtor(MessageLite& self);
4464   void InternalSwap(GeneratedCodeInfo* PROTOBUF_NONNULL other);
4465  private:
4466   template <typename T>
4467   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4468   static ::absl::string_view FullMessageName() { return "google.protobuf.GeneratedCodeInfo"; }
4469 
4470  protected:
4471   explicit GeneratedCodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4472   GeneratedCodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GeneratedCodeInfo& from);
4473   GeneratedCodeInfo(
4474       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GeneratedCodeInfo&& from) noexcept
4475       : GeneratedCodeInfo(arena) {
4476     *this = ::std::move(from);
4477   }
4478   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4479   static void* PROTOBUF_NONNULL PlacementNew_(
4480       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4481       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4482   static constexpr auto InternalNewImpl_();
4483 
4484  public:
4485   static constexpr auto InternalGenerateClassData_();
4486 
4487   ::google::protobuf::Metadata GetMetadata() const;
4488   // nested types ----------------------------------------------------
4489   using Annotation = GeneratedCodeInfo_Annotation;
4490 
4491   // accessors -------------------------------------------------------
4492   enum : int {
4493     kAnnotationFieldNumber = 1,
4494   };
4495   // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
4496   int annotation_size() const;
4497   private:
4498   int _internal_annotation_size() const;
4499 
4500   public:
4501   void clear_annotation() ;
4502   ::google::protobuf::GeneratedCodeInfo_Annotation* PROTOBUF_NONNULL mutable_annotation(int index);
4503   ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>* PROTOBUF_NONNULL mutable_annotation();
4504 
4505   private:
4506   const ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>& _internal_annotation() const;
4507   ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>* PROTOBUF_NONNULL _internal_mutable_annotation();
4508   public:
4509   const ::google::protobuf::GeneratedCodeInfo_Annotation& annotation(int index) const;
4510   ::google::protobuf::GeneratedCodeInfo_Annotation* PROTOBUF_NONNULL add_annotation();
4511   const ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>& annotation() const;
4512   // @@protoc_insertion_point(class_scope:google.protobuf.GeneratedCodeInfo)
4513  private:
4514   class _Internal;
4515   friend class ::google::protobuf::internal::TcParser;
4516   static const ::google::protobuf::internal::TcParseTable<0, 1,
4517                                    1, 0,
4518                                    2>
4519       _table_;
4520 
4521   friend class ::google::protobuf::MessageLite;
4522   friend class ::google::protobuf::Arena;
4523   template <typename T>
4524   friend class ::google::protobuf::Arena::InternalHelper;
4525   using InternalArenaConstructable_ = void;
4526   using DestructorSkippable_ = void;
4527   struct Impl_ {
4528     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4529     inline explicit Impl_(
4530         ::google::protobuf::internal::InternalVisibility visibility,
4531         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4532     inline explicit Impl_(
4533         ::google::protobuf::internal::InternalVisibility visibility,
4534         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4535         const GeneratedCodeInfo& from_msg);
4536     ::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation > annotation_;
4537     ::google::protobuf::internal::CachedSize _cached_size_;
4538     PROTOBUF_TSAN_DECLARE_MEMBER
4539   };
4540   union { Impl_ _impl_; };
4541   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
4542 };
4543 
4544 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo_class_data_;
4545 // -------------------------------------------------------------------
4546 
4547 class PROTOBUF_EXPORT FeatureSetDefaults_FeatureSetEditionDefault final : public ::google::protobuf::Message
4548 /* @@protoc_insertion_point(class_definition:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) */ {
4549  public:
4550   inline FeatureSetDefaults_FeatureSetEditionDefault() : FeatureSetDefaults_FeatureSetEditionDefault(nullptr) {}
4551   ~FeatureSetDefaults_FeatureSetEditionDefault() PROTOBUF_FINAL;
4552 
4553 #if defined(PROTOBUF_CUSTOM_VTABLE)
4554   void operator delete(FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
4555     SharedDtor(*msg);
4556     ::google::protobuf::internal::SizedDelete(msg, sizeof(FeatureSetDefaults_FeatureSetEditionDefault));
4557   }
4558 #endif
4559 
4560   template <typename = void>
4561   explicit PROTOBUF_CONSTEXPR FeatureSetDefaults_FeatureSetEditionDefault(::google::protobuf::internal::ConstantInitialized);
4562 
4563   inline FeatureSetDefaults_FeatureSetEditionDefault(const FeatureSetDefaults_FeatureSetEditionDefault& from) : FeatureSetDefaults_FeatureSetEditionDefault(nullptr, from) {}
4564   inline FeatureSetDefaults_FeatureSetEditionDefault(FeatureSetDefaults_FeatureSetEditionDefault&& from) noexcept
4565       : FeatureSetDefaults_FeatureSetEditionDefault(nullptr, ::std::move(from)) {}
4566   inline FeatureSetDefaults_FeatureSetEditionDefault& operator=(const FeatureSetDefaults_FeatureSetEditionDefault& from) {
4567     CopyFrom(from);
4568     return *this;
4569   }
4570   inline FeatureSetDefaults_FeatureSetEditionDefault& operator=(FeatureSetDefaults_FeatureSetEditionDefault&& from) noexcept {
4571     if (this == &from) return *this;
4572     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4573       InternalSwap(&from);
4574     } else {
4575       CopyFrom(from);
4576     }
4577     return *this;
4578   }
4579 
4580   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4581       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4582     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4583   }
4584   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4585       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4586     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4587   }
4588 
4589   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4590     return GetDescriptor();
4591   }
4592   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4593     return default_instance().GetMetadata().descriptor;
4594   }
4595   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4596     return default_instance().GetMetadata().reflection;
4597   }
4598   static const FeatureSetDefaults_FeatureSetEditionDefault& default_instance() {
4599     return *reinterpret_cast<const FeatureSetDefaults_FeatureSetEditionDefault*>(
4600         &_FeatureSetDefaults_FeatureSetEditionDefault_default_instance_);
4601   }
4602   static constexpr int kIndexInFileMessages = 28;
4603   friend void swap(FeatureSetDefaults_FeatureSetEditionDefault& a, FeatureSetDefaults_FeatureSetEditionDefault& b) { a.Swap(&b); }
4604   inline void Swap(FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_NONNULL other) {
4605     if (other == this) return;
4606     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4607       InternalSwap(other);
4608     } else {
4609       ::google::protobuf::internal::GenericSwap(this, other);
4610     }
4611   }
4612   void UnsafeArenaSwap(FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_NONNULL other) {
4613     if (other == this) return;
4614     ABSL_DCHECK(GetArena() == other->GetArena());
4615     InternalSwap(other);
4616   }
4617 
4618   // implements Message ----------------------------------------------
4619 
4620   FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4621     return ::google::protobuf::Message::DefaultConstruct<FeatureSetDefaults_FeatureSetEditionDefault>(arena);
4622   }
4623   using ::google::protobuf::Message::CopyFrom;
4624   void CopyFrom(const FeatureSetDefaults_FeatureSetEditionDefault& from);
4625   using ::google::protobuf::Message::MergeFrom;
4626   void MergeFrom(const FeatureSetDefaults_FeatureSetEditionDefault& from) { FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl(*this, from); }
4627 
4628   private:
4629   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4630                         const ::google::protobuf::MessageLite& from_msg);
4631 
4632   public:
4633   bool IsInitialized() const {
4634     return IsInitializedImpl(*this);
4635   }
4636 
4637   private:
4638   static bool IsInitializedImpl(const MessageLite& msg);
4639 
4640   public:
4641   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4642   #if defined(PROTOBUF_CUSTOM_VTABLE)
4643   private:
4644   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4645   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4646       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4647       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4648 
4649   public:
4650   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4651   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4652       ::uint8_t* PROTOBUF_NONNULL target,
4653       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4654     return _InternalSerialize(*this, target, stream);
4655   }
4656   #else   // PROTOBUF_CUSTOM_VTABLE
4657   ::size_t ByteSizeLong() const final;
4658   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4659       ::uint8_t* PROTOBUF_NONNULL target,
4660       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4661   #endif  // PROTOBUF_CUSTOM_VTABLE
4662   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4663 
4664   private:
4665   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4666   static void SharedDtor(MessageLite& self);
4667   void InternalSwap(FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_NONNULL other);
4668  private:
4669   template <typename T>
4670   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4671   static ::absl::string_view FullMessageName() { return "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"; }
4672 
4673  protected:
4674   explicit FeatureSetDefaults_FeatureSetEditionDefault(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4675   FeatureSetDefaults_FeatureSetEditionDefault(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FeatureSetDefaults_FeatureSetEditionDefault& from);
4676   FeatureSetDefaults_FeatureSetEditionDefault(
4677       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FeatureSetDefaults_FeatureSetEditionDefault&& from) noexcept
4678       : FeatureSetDefaults_FeatureSetEditionDefault(arena) {
4679     *this = ::std::move(from);
4680   }
4681   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4682   static void* PROTOBUF_NONNULL PlacementNew_(
4683       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4684       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4685   static constexpr auto InternalNewImpl_();
4686 
4687  public:
4688   static constexpr auto InternalGenerateClassData_();
4689 
4690   ::google::protobuf::Metadata GetMetadata() const;
4691   // nested types ----------------------------------------------------
4692 
4693   // accessors -------------------------------------------------------
4694   enum : int {
4695     kOverridableFeaturesFieldNumber = 4,
4696     kFixedFeaturesFieldNumber = 5,
4697     kEditionFieldNumber = 3,
4698   };
4699   // optional .google.protobuf.FeatureSet overridable_features = 4;
4700   bool has_overridable_features() const;
4701   void clear_overridable_features() ;
4702   const ::google::protobuf::FeatureSet& overridable_features() const;
4703   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_overridable_features();
4704   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_overridable_features();
4705   void set_allocated_overridable_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
4706   void unsafe_arena_set_allocated_overridable_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
4707   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_overridable_features();
4708 
4709   private:
4710   const ::google::protobuf::FeatureSet& _internal_overridable_features() const;
4711   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_overridable_features();
4712 
4713   public:
4714   // optional .google.protobuf.FeatureSet fixed_features = 5;
4715   bool has_fixed_features() const;
4716   void clear_fixed_features() ;
4717   const ::google::protobuf::FeatureSet& fixed_features() const;
4718   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_fixed_features();
4719   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_fixed_features();
4720   void set_allocated_fixed_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
4721   void unsafe_arena_set_allocated_fixed_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
4722   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_fixed_features();
4723 
4724   private:
4725   const ::google::protobuf::FeatureSet& _internal_fixed_features() const;
4726   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_fixed_features();
4727 
4728   public:
4729   // optional .google.protobuf.Edition edition = 3;
4730   bool has_edition() const;
4731   void clear_edition() ;
4732   ::google::protobuf::Edition edition() const;
4733   void set_edition(::google::protobuf::Edition value);
4734 
4735   private:
4736   ::google::protobuf::Edition _internal_edition() const;
4737   void _internal_set_edition(::google::protobuf::Edition value);
4738 
4739   public:
4740   // @@protoc_insertion_point(class_scope:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
4741  private:
4742   class _Internal;
4743   friend class ::google::protobuf::internal::TcParser;
4744   static const ::google::protobuf::internal::TcParseTable<2, 3,
4745                                    3, 0,
4746                                    2>
4747       _table_;
4748 
4749   friend class ::google::protobuf::MessageLite;
4750   friend class ::google::protobuf::Arena;
4751   template <typename T>
4752   friend class ::google::protobuf::Arena::InternalHelper;
4753   using InternalArenaConstructable_ = void;
4754   using DestructorSkippable_ = void;
4755   struct Impl_ {
4756     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
4757     inline explicit Impl_(
4758         ::google::protobuf::internal::InternalVisibility visibility,
4759         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4760     inline explicit Impl_(
4761         ::google::protobuf::internal::InternalVisibility visibility,
4762         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4763         const FeatureSetDefaults_FeatureSetEditionDefault& from_msg);
4764     ::google::protobuf::internal::HasBits<1> _has_bits_;
4765     ::google::protobuf::internal::CachedSize _cached_size_;
4766     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE overridable_features_;
4767     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE fixed_features_;
4768     int edition_;
4769     PROTOBUF_TSAN_DECLARE_MEMBER
4770   };
4771   union { Impl_ _impl_; };
4772   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
4773 };
4774 
4775 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FeatureSetDefaults_FeatureSetEditionDefault_class_data_;
4776 // -------------------------------------------------------------------
4777 
4778 class PROTOBUF_EXPORT ServiceOptions final : public ::google::protobuf::Message
4779 /* @@protoc_insertion_point(class_definition:google.protobuf.ServiceOptions) */ {
4780  public:
4781   inline ServiceOptions() : ServiceOptions(nullptr) {}
4782   ~ServiceOptions() PROTOBUF_FINAL;
4783 
4784 #if defined(PROTOBUF_CUSTOM_VTABLE)
4785   void operator delete(ServiceOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
4786     SharedDtor(*msg);
4787     ::google::protobuf::internal::SizedDelete(msg, sizeof(ServiceOptions));
4788   }
4789 #endif
4790 
4791   template <typename = void>
4792   explicit PROTOBUF_CONSTEXPR ServiceOptions(::google::protobuf::internal::ConstantInitialized);
4793 
4794   inline ServiceOptions(const ServiceOptions& from) : ServiceOptions(nullptr, from) {}
4795   inline ServiceOptions(ServiceOptions&& from) noexcept
4796       : ServiceOptions(nullptr, ::std::move(from)) {}
4797   inline ServiceOptions& operator=(const ServiceOptions& from) {
4798     CopyFrom(from);
4799     return *this;
4800   }
4801   inline ServiceOptions& operator=(ServiceOptions&& from) noexcept {
4802     if (this == &from) return *this;
4803     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
4804       InternalSwap(&from);
4805     } else {
4806       CopyFrom(from);
4807     }
4808     return *this;
4809   }
4810 
4811   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4812       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4813     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4814   }
4815   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
4816       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4817     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4818   }
4819 
4820   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
4821     return GetDescriptor();
4822   }
4823   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
4824     return default_instance().GetMetadata().descriptor;
4825   }
4826   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
4827     return default_instance().GetMetadata().reflection;
4828   }
4829   static const ServiceOptions& default_instance() {
4830     return *reinterpret_cast<const ServiceOptions*>(
4831         &_ServiceOptions_default_instance_);
4832   }
4833   static constexpr int kIndexInFileMessages = 22;
4834   friend void swap(ServiceOptions& a, ServiceOptions& b) { a.Swap(&b); }
4835   inline void Swap(ServiceOptions* PROTOBUF_NONNULL other) {
4836     if (other == this) return;
4837     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
4838       InternalSwap(other);
4839     } else {
4840       ::google::protobuf::internal::GenericSwap(this, other);
4841     }
4842   }
4843   void UnsafeArenaSwap(ServiceOptions* PROTOBUF_NONNULL other) {
4844     if (other == this) return;
4845     ABSL_DCHECK(GetArena() == other->GetArena());
4846     InternalSwap(other);
4847   }
4848 
4849   // implements Message ----------------------------------------------
4850 
4851   ServiceOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
4852     return ::google::protobuf::Message::DefaultConstruct<ServiceOptions>(arena);
4853   }
4854   using ::google::protobuf::Message::CopyFrom;
4855   void CopyFrom(const ServiceOptions& from);
4856   using ::google::protobuf::Message::MergeFrom;
4857   void MergeFrom(const ServiceOptions& from) { ServiceOptions::MergeImpl(*this, from); }
4858 
4859   private:
4860   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
4861                         const ::google::protobuf::MessageLite& from_msg);
4862 
4863   public:
4864   bool IsInitialized() const {
4865     return IsInitializedImpl(*this);
4866   }
4867 
4868   private:
4869   static bool IsInitializedImpl(const MessageLite& msg);
4870 
4871   public:
4872   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4873   #if defined(PROTOBUF_CUSTOM_VTABLE)
4874   private:
4875   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4876   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4877       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
4878       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
4879 
4880   public:
4881   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4882   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4883       ::uint8_t* PROTOBUF_NONNULL target,
4884       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4885     return _InternalSerialize(*this, target, stream);
4886   }
4887   #else   // PROTOBUF_CUSTOM_VTABLE
4888   ::size_t ByteSizeLong() const final;
4889   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
4890       ::uint8_t* PROTOBUF_NONNULL target,
4891       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
4892   #endif  // PROTOBUF_CUSTOM_VTABLE
4893   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4894 
4895   private:
4896   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4897   static void SharedDtor(MessageLite& self);
4898   void InternalSwap(ServiceOptions* PROTOBUF_NONNULL other);
4899  private:
4900   template <typename T>
4901   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
4902   static ::absl::string_view FullMessageName() { return "google.protobuf.ServiceOptions"; }
4903 
4904  protected:
4905   explicit ServiceOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4906   ServiceOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ServiceOptions& from);
4907   ServiceOptions(
4908       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ServiceOptions&& from) noexcept
4909       : ServiceOptions(arena) {
4910     *this = ::std::move(from);
4911   }
4912   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
4913   static void* PROTOBUF_NONNULL PlacementNew_(
4914       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4915       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
4916   static constexpr auto InternalNewImpl_();
4917 
4918  public:
4919   static constexpr auto InternalGenerateClassData_();
4920 
4921   ::google::protobuf::Metadata GetMetadata() const;
4922   // nested types ----------------------------------------------------
4923 
4924   // accessors -------------------------------------------------------
4925   enum : int {
4926     kUninterpretedOptionFieldNumber = 999,
4927     kFeaturesFieldNumber = 34,
4928     kDeprecatedFieldNumber = 33,
4929   };
4930   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4931   int uninterpreted_option_size() const;
4932   private:
4933   int _internal_uninterpreted_option_size() const;
4934 
4935   public:
4936   void clear_uninterpreted_option() ;
4937   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL mutable_uninterpreted_option(int index);
4938   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL mutable_uninterpreted_option();
4939 
4940   private:
4941   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
4942   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL _internal_mutable_uninterpreted_option();
4943   public:
4944   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
4945   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL add_uninterpreted_option();
4946   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
4947   // optional .google.protobuf.FeatureSet features = 34;
4948   bool has_features() const;
4949   void clear_features() ;
4950   const ::google::protobuf::FeatureSet& features() const;
4951   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_features();
4952   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_features();
4953   void set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
4954   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
4955   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_features();
4956 
4957   private:
4958   const ::google::protobuf::FeatureSet& _internal_features() const;
4959   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_features();
4960 
4961   public:
4962   // optional bool deprecated = 33 [default = false];
4963   bool has_deprecated() const;
4964   void clear_deprecated() ;
4965   bool deprecated() const;
4966   void set_deprecated(bool value);
4967 
4968   private:
4969   bool _internal_deprecated() const;
4970   void _internal_set_deprecated(bool value);
4971 
4972   public:
4973   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4974             bool _is_packed,
4975             typename = typename _proto_TypeTraits::Singular>
4976   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
4977       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4978                                        _field_type, _is_packed>& id) const {
4979     return _impl_._extensions_.Has(id.number());
4980   }
4981 
4982   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4983             bool _is_packed>
4984   inline void ClearExtension(
4985       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4986                                        _field_type, _is_packed>& id) {
4987     _impl_._extensions_.ClearExtension(id.number());
4988   }
4989 
4990   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4991             bool _is_packed,
4992             typename = typename _proto_TypeTraits::Repeated>
4993   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
4994       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4995                                        _field_type, _is_packed>& id) const {
4996     return _impl_._extensions_.ExtensionSize(id.number());
4997   }
4998 
4999   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5000             bool _is_packed,
5001             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5002   PROTOBUF_FUTURE_ADD_NODISCARD inline
5003       typename _proto_TypeTraits::Singular::ConstType
5004       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
5005                    ServiceOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
5006           const {
5007     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5008   }
5009 
5010   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5011             bool _is_packed,
5012             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5013   PROTOBUF_FUTURE_ADD_NODISCARD inline
5014       typename _proto_TypeTraits::Singular::ConstType
5015       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
5016                    ServiceOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
5017           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5018     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5019   }
5020 
5021   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5022             bool _is_packed>
5023   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
5024       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5025                                        _field_type, _is_packed>& id)
5026       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5027     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
5028   }
5029 
5030   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5031             bool _is_packed>
5032   inline void SetExtension(
5033       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5034                                        _field_type, _is_packed>& id,
5035       typename _proto_TypeTraits::Singular::ConstType value) {
5036     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
5037   }
5038 
5039   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5040             bool _is_packed>
5041   inline void SetAllocatedExtension(
5042       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5043                                        _field_type, _is_packed>& id,
5044       typename _proto_TypeTraits::Singular::MutableType value) {
5045     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
5046                                     &_impl_._extensions_);
5047   }
5048   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5049             bool _is_packed>
5050   inline void UnsafeArenaSetAllocatedExtension(
5051       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5052                                        _field_type, _is_packed>& id,
5053       typename _proto_TypeTraits::Singular::MutableType value) {
5054     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
5055                                                value, &_impl_._extensions_);
5056   }
5057   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5058             bool _is_packed>
5059   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
5060   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
5061                    ServiceOptions, _proto_TypeTraits, _field_type, _is_packed>& id) {
5062     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
5063   }
5064   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5065             bool _is_packed>
5066   inline typename _proto_TypeTraits::Singular::MutableType
5067   UnsafeArenaReleaseExtension(
5068       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5069                                        _field_type, _is_packed>& id) {
5070     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
5071                                                  &_impl_._extensions_);
5072   }
5073 
5074   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5075             bool _is_packed,
5076             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5077   PROTOBUF_FUTURE_ADD_NODISCARD inline
5078       typename _proto_TypeTraits::Repeated::ConstType
5079       GetExtension(
5080           const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5081                                            _field_type, _is_packed>& id,
5082           int index) const {
5083     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5084   }
5085 
5086   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5087             bool _is_packed,
5088             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5089   PROTOBUF_FUTURE_ADD_NODISCARD inline
5090       typename _proto_TypeTraits::Repeated::ConstType
5091       GetExtension(
5092           const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5093                                            _field_type, _is_packed>& id,
5094           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5095     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5096   }
5097 
5098   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5099             bool _is_packed>
5100   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
5101       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5102                                        _field_type, _is_packed>& id,
5103       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
5104     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
5105   }
5106 
5107   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5108             bool _is_packed>
5109   inline void SetExtension(
5110       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5111                                        _field_type, _is_packed>& id,
5112       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
5113     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
5114   }
5115 
5116   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5117             bool _is_packed>
5118   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
5119       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5120                                        _field_type, _is_packed>& id)
5121       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5122     typename _proto_TypeTraits::Repeated::MutableType to_add =
5123         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
5124     return to_add;
5125   }
5126 
5127   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5128             bool _is_packed>
5129   inline void AddExtension(
5130       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5131                                        _field_type, _is_packed>& id,
5132       typename _proto_TypeTraits::Repeated::ConstType value) {
5133     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
5134                            &_impl_._extensions_);
5135   }
5136 
5137   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5138             bool _is_packed>
5139   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
5140       Repeated::RepeatedFieldType&
5141       GetRepeatedExtension(
5142           const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5143                                            _field_type, _is_packed>& id)
5144           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5145     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
5146   }
5147 
5148   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5149             bool _is_packed>
5150   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
5151   MutableRepeatedExtension(
5152       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
5153                                        _field_type, _is_packed>& id)
5154       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5155     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
5156                                               _is_packed, &_impl_._extensions_);
5157   }
5158   // @@protoc_insertion_point(class_scope:google.protobuf.ServiceOptions)
5159  private:
5160   class _Internal;
5161   friend class ::google::protobuf::internal::TcParser;
5162   static const ::google::protobuf::internal::TcParseTable<2, 3,
5163                                    2, 0,
5164                                    12>
5165       _table_;
5166 
5167   friend class ::google::protobuf::MessageLite;
5168   friend class ::google::protobuf::Arena;
5169   template <typename T>
5170   friend class ::google::protobuf::Arena::InternalHelper;
5171   using InternalArenaConstructable_ = void;
5172   using DestructorSkippable_ = void;
5173   struct Impl_ {
5174     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5175     inline explicit Impl_(
5176         ::google::protobuf::internal::InternalVisibility visibility,
5177         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5178     inline explicit Impl_(
5179         ::google::protobuf::internal::InternalVisibility visibility,
5180         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5181         const ServiceOptions& from_msg);
5182     ::google::protobuf::internal::ExtensionSet _extensions_;
5183     ::google::protobuf::internal::HasBits<1> _has_bits_;
5184     ::google::protobuf::internal::CachedSize _cached_size_;
5185     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
5186     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE features_;
5187     bool deprecated_;
5188     PROTOBUF_TSAN_DECLARE_MEMBER
5189   };
5190   union { Impl_ _impl_; };
5191   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
5192 };
5193 
5194 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ServiceOptions_class_data_;
5195 // -------------------------------------------------------------------
5196 
5197 class PROTOBUF_EXPORT OneofOptions final : public ::google::protobuf::Message
5198 /* @@protoc_insertion_point(class_definition:google.protobuf.OneofOptions) */ {
5199  public:
5200   inline OneofOptions() : OneofOptions(nullptr) {}
5201   ~OneofOptions() PROTOBUF_FINAL;
5202 
5203 #if defined(PROTOBUF_CUSTOM_VTABLE)
5204   void operator delete(OneofOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
5205     SharedDtor(*msg);
5206     ::google::protobuf::internal::SizedDelete(msg, sizeof(OneofOptions));
5207   }
5208 #endif
5209 
5210   template <typename = void>
5211   explicit PROTOBUF_CONSTEXPR OneofOptions(::google::protobuf::internal::ConstantInitialized);
5212 
5213   inline OneofOptions(const OneofOptions& from) : OneofOptions(nullptr, from) {}
5214   inline OneofOptions(OneofOptions&& from) noexcept
5215       : OneofOptions(nullptr, ::std::move(from)) {}
5216   inline OneofOptions& operator=(const OneofOptions& from) {
5217     CopyFrom(from);
5218     return *this;
5219   }
5220   inline OneofOptions& operator=(OneofOptions&& from) noexcept {
5221     if (this == &from) return *this;
5222     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5223       InternalSwap(&from);
5224     } else {
5225       CopyFrom(from);
5226     }
5227     return *this;
5228   }
5229 
5230   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5231       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5232     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5233   }
5234   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5235       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5236     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5237   }
5238 
5239   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5240     return GetDescriptor();
5241   }
5242   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5243     return default_instance().GetMetadata().descriptor;
5244   }
5245   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5246     return default_instance().GetMetadata().reflection;
5247   }
5248   static const OneofOptions& default_instance() {
5249     return *reinterpret_cast<const OneofOptions*>(
5250         &_OneofOptions_default_instance_);
5251   }
5252   static constexpr int kIndexInFileMessages = 19;
5253   friend void swap(OneofOptions& a, OneofOptions& b) { a.Swap(&b); }
5254   inline void Swap(OneofOptions* PROTOBUF_NONNULL other) {
5255     if (other == this) return;
5256     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5257       InternalSwap(other);
5258     } else {
5259       ::google::protobuf::internal::GenericSwap(this, other);
5260     }
5261   }
5262   void UnsafeArenaSwap(OneofOptions* PROTOBUF_NONNULL other) {
5263     if (other == this) return;
5264     ABSL_DCHECK(GetArena() == other->GetArena());
5265     InternalSwap(other);
5266   }
5267 
5268   // implements Message ----------------------------------------------
5269 
5270   OneofOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5271     return ::google::protobuf::Message::DefaultConstruct<OneofOptions>(arena);
5272   }
5273   using ::google::protobuf::Message::CopyFrom;
5274   void CopyFrom(const OneofOptions& from);
5275   using ::google::protobuf::Message::MergeFrom;
5276   void MergeFrom(const OneofOptions& from) { OneofOptions::MergeImpl(*this, from); }
5277 
5278   private:
5279   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5280                         const ::google::protobuf::MessageLite& from_msg);
5281 
5282   public:
5283   bool IsInitialized() const {
5284     return IsInitializedImpl(*this);
5285   }
5286 
5287   private:
5288   static bool IsInitializedImpl(const MessageLite& msg);
5289 
5290   public:
5291   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5292   #if defined(PROTOBUF_CUSTOM_VTABLE)
5293   private:
5294   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5295   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5296       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5297       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5298 
5299   public:
5300   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5301   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5302       ::uint8_t* PROTOBUF_NONNULL target,
5303       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5304     return _InternalSerialize(*this, target, stream);
5305   }
5306   #else   // PROTOBUF_CUSTOM_VTABLE
5307   ::size_t ByteSizeLong() const final;
5308   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5309       ::uint8_t* PROTOBUF_NONNULL target,
5310       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
5311   #endif  // PROTOBUF_CUSTOM_VTABLE
5312   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5313 
5314   private:
5315   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5316   static void SharedDtor(MessageLite& self);
5317   void InternalSwap(OneofOptions* PROTOBUF_NONNULL other);
5318  private:
5319   template <typename T>
5320   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
5321   static ::absl::string_view FullMessageName() { return "google.protobuf.OneofOptions"; }
5322 
5323  protected:
5324   explicit OneofOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5325   OneofOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const OneofOptions& from);
5326   OneofOptions(
5327       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, OneofOptions&& from) noexcept
5328       : OneofOptions(arena) {
5329     *this = ::std::move(from);
5330   }
5331   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
5332   static void* PROTOBUF_NONNULL PlacementNew_(
5333       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5334       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5335   static constexpr auto InternalNewImpl_();
5336 
5337  public:
5338   static constexpr auto InternalGenerateClassData_();
5339 
5340   ::google::protobuf::Metadata GetMetadata() const;
5341   // nested types ----------------------------------------------------
5342 
5343   // accessors -------------------------------------------------------
5344   enum : int {
5345     kUninterpretedOptionFieldNumber = 999,
5346     kFeaturesFieldNumber = 1,
5347   };
5348   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
5349   int uninterpreted_option_size() const;
5350   private:
5351   int _internal_uninterpreted_option_size() const;
5352 
5353   public:
5354   void clear_uninterpreted_option() ;
5355   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL mutable_uninterpreted_option(int index);
5356   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL mutable_uninterpreted_option();
5357 
5358   private:
5359   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
5360   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL _internal_mutable_uninterpreted_option();
5361   public:
5362   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
5363   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL add_uninterpreted_option();
5364   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
5365   // optional .google.protobuf.FeatureSet features = 1;
5366   bool has_features() const;
5367   void clear_features() ;
5368   const ::google::protobuf::FeatureSet& features() const;
5369   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_features();
5370   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_features();
5371   void set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
5372   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
5373   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_features();
5374 
5375   private:
5376   const ::google::protobuf::FeatureSet& _internal_features() const;
5377   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_features();
5378 
5379   public:
5380   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5381             bool _is_packed,
5382             typename = typename _proto_TypeTraits::Singular>
5383   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
5384       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5385                                        _field_type, _is_packed>& id) const {
5386     return _impl_._extensions_.Has(id.number());
5387   }
5388 
5389   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5390             bool _is_packed>
5391   inline void ClearExtension(
5392       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5393                                        _field_type, _is_packed>& id) {
5394     _impl_._extensions_.ClearExtension(id.number());
5395   }
5396 
5397   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5398             bool _is_packed,
5399             typename = typename _proto_TypeTraits::Repeated>
5400   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
5401       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5402                                        _field_type, _is_packed>& id) const {
5403     return _impl_._extensions_.ExtensionSize(id.number());
5404   }
5405 
5406   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5407             bool _is_packed,
5408             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5409   PROTOBUF_FUTURE_ADD_NODISCARD inline
5410       typename _proto_TypeTraits::Singular::ConstType
5411       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
5412                    OneofOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
5413           const {
5414     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5415   }
5416 
5417   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5418             bool _is_packed,
5419             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5420   PROTOBUF_FUTURE_ADD_NODISCARD inline
5421       typename _proto_TypeTraits::Singular::ConstType
5422       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
5423                    OneofOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
5424           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5425     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5426   }
5427 
5428   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5429             bool _is_packed>
5430   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
5431       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5432                                        _field_type, _is_packed>& id)
5433       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5434     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
5435   }
5436 
5437   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5438             bool _is_packed>
5439   inline void SetExtension(
5440       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5441                                        _field_type, _is_packed>& id,
5442       typename _proto_TypeTraits::Singular::ConstType value) {
5443     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
5444   }
5445 
5446   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5447             bool _is_packed>
5448   inline void SetAllocatedExtension(
5449       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5450                                        _field_type, _is_packed>& id,
5451       typename _proto_TypeTraits::Singular::MutableType value) {
5452     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
5453                                     &_impl_._extensions_);
5454   }
5455   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5456             bool _is_packed>
5457   inline void UnsafeArenaSetAllocatedExtension(
5458       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5459                                        _field_type, _is_packed>& id,
5460       typename _proto_TypeTraits::Singular::MutableType value) {
5461     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
5462                                                value, &_impl_._extensions_);
5463   }
5464   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5465             bool _is_packed>
5466   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
5467   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
5468                    OneofOptions, _proto_TypeTraits, _field_type, _is_packed>& id) {
5469     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
5470   }
5471   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5472             bool _is_packed>
5473   inline typename _proto_TypeTraits::Singular::MutableType
5474   UnsafeArenaReleaseExtension(
5475       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5476                                        _field_type, _is_packed>& id) {
5477     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
5478                                                  &_impl_._extensions_);
5479   }
5480 
5481   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5482             bool _is_packed,
5483             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5484   PROTOBUF_FUTURE_ADD_NODISCARD inline
5485       typename _proto_TypeTraits::Repeated::ConstType
5486       GetExtension(
5487           const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5488                                            _field_type, _is_packed>& id,
5489           int index) const {
5490     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5491   }
5492 
5493   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5494             bool _is_packed,
5495             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5496   PROTOBUF_FUTURE_ADD_NODISCARD inline
5497       typename _proto_TypeTraits::Repeated::ConstType
5498       GetExtension(
5499           const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5500                                            _field_type, _is_packed>& id,
5501           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5502     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5503   }
5504 
5505   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5506             bool _is_packed>
5507   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
5508       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5509                                        _field_type, _is_packed>& id,
5510       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
5511     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
5512   }
5513 
5514   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5515             bool _is_packed>
5516   inline void SetExtension(
5517       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5518                                        _field_type, _is_packed>& id,
5519       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
5520     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
5521   }
5522 
5523   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5524             bool _is_packed>
5525   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
5526       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5527                                        _field_type, _is_packed>& id)
5528       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5529     typename _proto_TypeTraits::Repeated::MutableType to_add =
5530         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
5531     return to_add;
5532   }
5533 
5534   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5535             bool _is_packed>
5536   inline void AddExtension(
5537       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5538                                        _field_type, _is_packed>& id,
5539       typename _proto_TypeTraits::Repeated::ConstType value) {
5540     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
5541                            &_impl_._extensions_);
5542   }
5543 
5544   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5545             bool _is_packed>
5546   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
5547       Repeated::RepeatedFieldType&
5548       GetRepeatedExtension(
5549           const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5550                                            _field_type, _is_packed>& id)
5551           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5552     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
5553   }
5554 
5555   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5556             bool _is_packed>
5557   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
5558   MutableRepeatedExtension(
5559       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
5560                                        _field_type, _is_packed>& id)
5561       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5562     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
5563                                               _is_packed, &_impl_._extensions_);
5564   }
5565   // @@protoc_insertion_point(class_scope:google.protobuf.OneofOptions)
5566  private:
5567   class _Internal;
5568   friend class ::google::protobuf::internal::TcParser;
5569   static const ::google::protobuf::internal::TcParseTable<2, 2,
5570                                    2, 0,
5571                                    7>
5572       _table_;
5573 
5574   friend class ::google::protobuf::MessageLite;
5575   friend class ::google::protobuf::Arena;
5576   template <typename T>
5577   friend class ::google::protobuf::Arena::InternalHelper;
5578   using InternalArenaConstructable_ = void;
5579   using DestructorSkippable_ = void;
5580   struct Impl_ {
5581     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
5582     inline explicit Impl_(
5583         ::google::protobuf::internal::InternalVisibility visibility,
5584         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5585     inline explicit Impl_(
5586         ::google::protobuf::internal::InternalVisibility visibility,
5587         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5588         const OneofOptions& from_msg);
5589     ::google::protobuf::internal::ExtensionSet _extensions_;
5590     ::google::protobuf::internal::HasBits<1> _has_bits_;
5591     ::google::protobuf::internal::CachedSize _cached_size_;
5592     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
5593     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE features_;
5594     PROTOBUF_TSAN_DECLARE_MEMBER
5595   };
5596   union { Impl_ _impl_; };
5597   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
5598 };
5599 
5600 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull OneofOptions_class_data_;
5601 // -------------------------------------------------------------------
5602 
5603 class PROTOBUF_EXPORT MethodOptions final : public ::google::protobuf::Message
5604 /* @@protoc_insertion_point(class_definition:google.protobuf.MethodOptions) */ {
5605  public:
5606   inline MethodOptions() : MethodOptions(nullptr) {}
5607   ~MethodOptions() PROTOBUF_FINAL;
5608 
5609 #if defined(PROTOBUF_CUSTOM_VTABLE)
5610   void operator delete(MethodOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
5611     SharedDtor(*msg);
5612     ::google::protobuf::internal::SizedDelete(msg, sizeof(MethodOptions));
5613   }
5614 #endif
5615 
5616   template <typename = void>
5617   explicit PROTOBUF_CONSTEXPR MethodOptions(::google::protobuf::internal::ConstantInitialized);
5618 
5619   inline MethodOptions(const MethodOptions& from) : MethodOptions(nullptr, from) {}
5620   inline MethodOptions(MethodOptions&& from) noexcept
5621       : MethodOptions(nullptr, ::std::move(from)) {}
5622   inline MethodOptions& operator=(const MethodOptions& from) {
5623     CopyFrom(from);
5624     return *this;
5625   }
5626   inline MethodOptions& operator=(MethodOptions&& from) noexcept {
5627     if (this == &from) return *this;
5628     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
5629       InternalSwap(&from);
5630     } else {
5631       CopyFrom(from);
5632     }
5633     return *this;
5634   }
5635 
5636   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5637       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5638     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5639   }
5640   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
5641       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5642     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5643   }
5644 
5645   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
5646     return GetDescriptor();
5647   }
5648   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
5649     return default_instance().GetMetadata().descriptor;
5650   }
5651   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
5652     return default_instance().GetMetadata().reflection;
5653   }
5654   static const MethodOptions& default_instance() {
5655     return *reinterpret_cast<const MethodOptions*>(
5656         &_MethodOptions_default_instance_);
5657   }
5658   static constexpr int kIndexInFileMessages = 23;
5659   friend void swap(MethodOptions& a, MethodOptions& b) { a.Swap(&b); }
5660   inline void Swap(MethodOptions* PROTOBUF_NONNULL other) {
5661     if (other == this) return;
5662     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
5663       InternalSwap(other);
5664     } else {
5665       ::google::protobuf::internal::GenericSwap(this, other);
5666     }
5667   }
5668   void UnsafeArenaSwap(MethodOptions* PROTOBUF_NONNULL other) {
5669     if (other == this) return;
5670     ABSL_DCHECK(GetArena() == other->GetArena());
5671     InternalSwap(other);
5672   }
5673 
5674   // implements Message ----------------------------------------------
5675 
5676   MethodOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
5677     return ::google::protobuf::Message::DefaultConstruct<MethodOptions>(arena);
5678   }
5679   using ::google::protobuf::Message::CopyFrom;
5680   void CopyFrom(const MethodOptions& from);
5681   using ::google::protobuf::Message::MergeFrom;
5682   void MergeFrom(const MethodOptions& from) { MethodOptions::MergeImpl(*this, from); }
5683 
5684   private:
5685   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
5686                         const ::google::protobuf::MessageLite& from_msg);
5687 
5688   public:
5689   bool IsInitialized() const {
5690     return IsInitializedImpl(*this);
5691   }
5692 
5693   private:
5694   static bool IsInitializedImpl(const MessageLite& msg);
5695 
5696   public:
5697   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5698   #if defined(PROTOBUF_CUSTOM_VTABLE)
5699   private:
5700   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5701   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5702       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
5703       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
5704 
5705   public:
5706   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5707   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5708       ::uint8_t* PROTOBUF_NONNULL target,
5709       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5710     return _InternalSerialize(*this, target, stream);
5711   }
5712   #else   // PROTOBUF_CUSTOM_VTABLE
5713   ::size_t ByteSizeLong() const final;
5714   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
5715       ::uint8_t* PROTOBUF_NONNULL target,
5716       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
5717   #endif  // PROTOBUF_CUSTOM_VTABLE
5718   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5719 
5720   private:
5721   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5722   static void SharedDtor(MessageLite& self);
5723   void InternalSwap(MethodOptions* PROTOBUF_NONNULL other);
5724  private:
5725   template <typename T>
5726   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
5727   static ::absl::string_view FullMessageName() { return "google.protobuf.MethodOptions"; }
5728 
5729  protected:
5730   explicit MethodOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5731   MethodOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MethodOptions& from);
5732   MethodOptions(
5733       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MethodOptions&& from) noexcept
5734       : MethodOptions(arena) {
5735     *this = ::std::move(from);
5736   }
5737   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
5738   static void* PROTOBUF_NONNULL PlacementNew_(
5739       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5740       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
5741   static constexpr auto InternalNewImpl_();
5742 
5743  public:
5744   static constexpr auto InternalGenerateClassData_();
5745 
5746   ::google::protobuf::Metadata GetMetadata() const;
5747   // nested types ----------------------------------------------------
5748   using IdempotencyLevel = MethodOptions_IdempotencyLevel;
5749   static constexpr IdempotencyLevel IDEMPOTENCY_UNKNOWN = MethodOptions_IdempotencyLevel_IDEMPOTENCY_UNKNOWN;
5750   static constexpr IdempotencyLevel NO_SIDE_EFFECTS = MethodOptions_IdempotencyLevel_NO_SIDE_EFFECTS;
5751   static constexpr IdempotencyLevel IDEMPOTENT = MethodOptions_IdempotencyLevel_IDEMPOTENT;
5752   static inline bool IdempotencyLevel_IsValid(int value) {
5753     return MethodOptions_IdempotencyLevel_IsValid(value);
5754   }
5755   static constexpr IdempotencyLevel IdempotencyLevel_MIN = MethodOptions_IdempotencyLevel_IdempotencyLevel_MIN;
5756   static constexpr IdempotencyLevel IdempotencyLevel_MAX = MethodOptions_IdempotencyLevel_IdempotencyLevel_MAX;
5757   static constexpr int IdempotencyLevel_ARRAYSIZE = MethodOptions_IdempotencyLevel_IdempotencyLevel_ARRAYSIZE;
5758   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL IdempotencyLevel_descriptor() {
5759     return MethodOptions_IdempotencyLevel_descriptor();
5760   }
5761   template <typename T>
5762   static inline const ::std::string& IdempotencyLevel_Name(T value) {
5763     return MethodOptions_IdempotencyLevel_Name(value);
5764   }
5765   static inline bool IdempotencyLevel_Parse(
5766       ::absl::string_view name, IdempotencyLevel* PROTOBUF_NONNULL value) {
5767     return MethodOptions_IdempotencyLevel_Parse(name, value);
5768   }
5769 
5770   // accessors -------------------------------------------------------
5771   enum : int {
5772     kUninterpretedOptionFieldNumber = 999,
5773     kFeaturesFieldNumber = 35,
5774     kDeprecatedFieldNumber = 33,
5775     kIdempotencyLevelFieldNumber = 34,
5776   };
5777   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
5778   int uninterpreted_option_size() const;
5779   private:
5780   int _internal_uninterpreted_option_size() const;
5781 
5782   public:
5783   void clear_uninterpreted_option() ;
5784   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL mutable_uninterpreted_option(int index);
5785   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL mutable_uninterpreted_option();
5786 
5787   private:
5788   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
5789   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL _internal_mutable_uninterpreted_option();
5790   public:
5791   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
5792   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL add_uninterpreted_option();
5793   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
5794   // optional .google.protobuf.FeatureSet features = 35;
5795   bool has_features() const;
5796   void clear_features() ;
5797   const ::google::protobuf::FeatureSet& features() const;
5798   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_features();
5799   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_features();
5800   void set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
5801   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
5802   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_features();
5803 
5804   private:
5805   const ::google::protobuf::FeatureSet& _internal_features() const;
5806   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_features();
5807 
5808   public:
5809   // optional bool deprecated = 33 [default = false];
5810   bool has_deprecated() const;
5811   void clear_deprecated() ;
5812   bool deprecated() const;
5813   void set_deprecated(bool value);
5814 
5815   private:
5816   bool _internal_deprecated() const;
5817   void _internal_set_deprecated(bool value);
5818 
5819   public:
5820   // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
5821   bool has_idempotency_level() const;
5822   void clear_idempotency_level() ;
5823   ::google::protobuf::MethodOptions_IdempotencyLevel idempotency_level() const;
5824   void set_idempotency_level(::google::protobuf::MethodOptions_IdempotencyLevel value);
5825 
5826   private:
5827   ::google::protobuf::MethodOptions_IdempotencyLevel _internal_idempotency_level() const;
5828   void _internal_set_idempotency_level(::google::protobuf::MethodOptions_IdempotencyLevel value);
5829 
5830   public:
5831   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5832             bool _is_packed,
5833             typename = typename _proto_TypeTraits::Singular>
5834   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
5835       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5836                                        _field_type, _is_packed>& id) const {
5837     return _impl_._extensions_.Has(id.number());
5838   }
5839 
5840   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5841             bool _is_packed>
5842   inline void ClearExtension(
5843       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5844                                        _field_type, _is_packed>& id) {
5845     _impl_._extensions_.ClearExtension(id.number());
5846   }
5847 
5848   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5849             bool _is_packed,
5850             typename = typename _proto_TypeTraits::Repeated>
5851   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
5852       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5853                                        _field_type, _is_packed>& id) const {
5854     return _impl_._extensions_.ExtensionSize(id.number());
5855   }
5856 
5857   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5858             bool _is_packed,
5859             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5860   PROTOBUF_FUTURE_ADD_NODISCARD inline
5861       typename _proto_TypeTraits::Singular::ConstType
5862       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
5863                    MethodOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
5864           const {
5865     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5866   }
5867 
5868   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5869             bool _is_packed,
5870             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5871   PROTOBUF_FUTURE_ADD_NODISCARD inline
5872       typename _proto_TypeTraits::Singular::ConstType
5873       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
5874                    MethodOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
5875           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5876     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5877   }
5878 
5879   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5880             bool _is_packed>
5881   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
5882       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5883                                        _field_type, _is_packed>& id)
5884       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5885     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
5886   }
5887 
5888   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5889             bool _is_packed>
5890   inline void SetExtension(
5891       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5892                                        _field_type, _is_packed>& id,
5893       typename _proto_TypeTraits::Singular::ConstType value) {
5894     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
5895   }
5896 
5897   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5898             bool _is_packed>
5899   inline void SetAllocatedExtension(
5900       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5901                                        _field_type, _is_packed>& id,
5902       typename _proto_TypeTraits::Singular::MutableType value) {
5903     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
5904                                     &_impl_._extensions_);
5905   }
5906   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5907             bool _is_packed>
5908   inline void UnsafeArenaSetAllocatedExtension(
5909       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5910                                        _field_type, _is_packed>& id,
5911       typename _proto_TypeTraits::Singular::MutableType value) {
5912     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
5913                                                value, &_impl_._extensions_);
5914   }
5915   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5916             bool _is_packed>
5917   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
5918   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
5919                    MethodOptions, _proto_TypeTraits, _field_type, _is_packed>& id) {
5920     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
5921   }
5922   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5923             bool _is_packed>
5924   inline typename _proto_TypeTraits::Singular::MutableType
5925   UnsafeArenaReleaseExtension(
5926       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5927                                        _field_type, _is_packed>& id) {
5928     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
5929                                                  &_impl_._extensions_);
5930   }
5931 
5932   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5933             bool _is_packed,
5934             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5935   PROTOBUF_FUTURE_ADD_NODISCARD inline
5936       typename _proto_TypeTraits::Repeated::ConstType
5937       GetExtension(
5938           const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5939                                            _field_type, _is_packed>& id,
5940           int index) const {
5941     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5942   }
5943 
5944   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5945             bool _is_packed,
5946             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5947   PROTOBUF_FUTURE_ADD_NODISCARD inline
5948       typename _proto_TypeTraits::Repeated::ConstType
5949       GetExtension(
5950           const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5951                                            _field_type, _is_packed>& id,
5952           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5953     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5954   }
5955 
5956   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5957             bool _is_packed>
5958   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
5959       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5960                                        _field_type, _is_packed>& id,
5961       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
5962     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
5963   }
5964 
5965   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5966             bool _is_packed>
5967   inline void SetExtension(
5968       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5969                                        _field_type, _is_packed>& id,
5970       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
5971     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
5972   }
5973 
5974   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5975             bool _is_packed>
5976   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
5977       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5978                                        _field_type, _is_packed>& id)
5979       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5980     typename _proto_TypeTraits::Repeated::MutableType to_add =
5981         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
5982     return to_add;
5983   }
5984 
5985   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5986             bool _is_packed>
5987   inline void AddExtension(
5988       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5989                                        _field_type, _is_packed>& id,
5990       typename _proto_TypeTraits::Repeated::ConstType value) {
5991     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
5992                            &_impl_._extensions_);
5993   }
5994 
5995   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5996             bool _is_packed>
5997   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
5998       Repeated::RepeatedFieldType&
5999       GetRepeatedExtension(
6000           const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
6001                                            _field_type, _is_packed>& id)
6002           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
6003     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
6004   }
6005 
6006   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6007             bool _is_packed>
6008   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
6009   MutableRepeatedExtension(
6010       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
6011                                        _field_type, _is_packed>& id)
6012       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6013     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
6014                                               _is_packed, &_impl_._extensions_);
6015   }
6016   // @@protoc_insertion_point(class_scope:google.protobuf.MethodOptions)
6017  private:
6018   class _Internal;
6019   friend class ::google::protobuf::internal::TcParser;
6020   static const ::google::protobuf::internal::TcParseTable<3, 4,
6021                                    3, 0,
6022                                    12>
6023       _table_;
6024 
6025   friend class ::google::protobuf::MessageLite;
6026   friend class ::google::protobuf::Arena;
6027   template <typename T>
6028   friend class ::google::protobuf::Arena::InternalHelper;
6029   using InternalArenaConstructable_ = void;
6030   using DestructorSkippable_ = void;
6031   struct Impl_ {
6032     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
6033     inline explicit Impl_(
6034         ::google::protobuf::internal::InternalVisibility visibility,
6035         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6036     inline explicit Impl_(
6037         ::google::protobuf::internal::InternalVisibility visibility,
6038         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6039         const MethodOptions& from_msg);
6040     ::google::protobuf::internal::ExtensionSet _extensions_;
6041     ::google::protobuf::internal::HasBits<1> _has_bits_;
6042     ::google::protobuf::internal::CachedSize _cached_size_;
6043     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
6044     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE features_;
6045     bool deprecated_;
6046     int idempotency_level_;
6047     PROTOBUF_TSAN_DECLARE_MEMBER
6048   };
6049   union { Impl_ _impl_; };
6050   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
6051 };
6052 
6053 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull MethodOptions_class_data_;
6054 // -------------------------------------------------------------------
6055 
6056 class PROTOBUF_EXPORT MessageOptions final : public ::google::protobuf::Message
6057 /* @@protoc_insertion_point(class_definition:google.protobuf.MessageOptions) */ {
6058  public:
6059   inline MessageOptions() : MessageOptions(nullptr) {}
6060   ~MessageOptions() PROTOBUF_FINAL;
6061 
6062 #if defined(PROTOBUF_CUSTOM_VTABLE)
6063   void operator delete(MessageOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
6064     SharedDtor(*msg);
6065     ::google::protobuf::internal::SizedDelete(msg, sizeof(MessageOptions));
6066   }
6067 #endif
6068 
6069   template <typename = void>
6070   explicit PROTOBUF_CONSTEXPR MessageOptions(::google::protobuf::internal::ConstantInitialized);
6071 
6072   inline MessageOptions(const MessageOptions& from) : MessageOptions(nullptr, from) {}
6073   inline MessageOptions(MessageOptions&& from) noexcept
6074       : MessageOptions(nullptr, ::std::move(from)) {}
6075   inline MessageOptions& operator=(const MessageOptions& from) {
6076     CopyFrom(from);
6077     return *this;
6078   }
6079   inline MessageOptions& operator=(MessageOptions&& from) noexcept {
6080     if (this == &from) return *this;
6081     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
6082       InternalSwap(&from);
6083     } else {
6084       CopyFrom(from);
6085     }
6086     return *this;
6087   }
6088 
6089   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
6090       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6091     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
6092   }
6093   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
6094       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6095     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
6096   }
6097 
6098   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
6099     return GetDescriptor();
6100   }
6101   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
6102     return default_instance().GetMetadata().descriptor;
6103   }
6104   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
6105     return default_instance().GetMetadata().reflection;
6106   }
6107   static const MessageOptions& default_instance() {
6108     return *reinterpret_cast<const MessageOptions*>(
6109         &_MessageOptions_default_instance_);
6110   }
6111   static constexpr int kIndexInFileMessages = 15;
6112   friend void swap(MessageOptions& a, MessageOptions& b) { a.Swap(&b); }
6113   inline void Swap(MessageOptions* PROTOBUF_NONNULL other) {
6114     if (other == this) return;
6115     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
6116       InternalSwap(other);
6117     } else {
6118       ::google::protobuf::internal::GenericSwap(this, other);
6119     }
6120   }
6121   void UnsafeArenaSwap(MessageOptions* PROTOBUF_NONNULL other) {
6122     if (other == this) return;
6123     ABSL_DCHECK(GetArena() == other->GetArena());
6124     InternalSwap(other);
6125   }
6126 
6127   // implements Message ----------------------------------------------
6128 
6129   MessageOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
6130     return ::google::protobuf::Message::DefaultConstruct<MessageOptions>(arena);
6131   }
6132   using ::google::protobuf::Message::CopyFrom;
6133   void CopyFrom(const MessageOptions& from);
6134   using ::google::protobuf::Message::MergeFrom;
6135   void MergeFrom(const MessageOptions& from) { MessageOptions::MergeImpl(*this, from); }
6136 
6137   private:
6138   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
6139                         const ::google::protobuf::MessageLite& from_msg);
6140 
6141   public:
6142   bool IsInitialized() const {
6143     return IsInitializedImpl(*this);
6144   }
6145 
6146   private:
6147   static bool IsInitializedImpl(const MessageLite& msg);
6148 
6149   public:
6150   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
6151   #if defined(PROTOBUF_CUSTOM_VTABLE)
6152   private:
6153   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
6154   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6155       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
6156       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
6157 
6158   public:
6159   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
6160   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6161       ::uint8_t* PROTOBUF_NONNULL target,
6162       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
6163     return _InternalSerialize(*this, target, stream);
6164   }
6165   #else   // PROTOBUF_CUSTOM_VTABLE
6166   ::size_t ByteSizeLong() const final;
6167   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6168       ::uint8_t* PROTOBUF_NONNULL target,
6169       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
6170   #endif  // PROTOBUF_CUSTOM_VTABLE
6171   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
6172 
6173   private:
6174   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6175   static void SharedDtor(MessageLite& self);
6176   void InternalSwap(MessageOptions* PROTOBUF_NONNULL other);
6177  private:
6178   template <typename T>
6179   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
6180   static ::absl::string_view FullMessageName() { return "google.protobuf.MessageOptions"; }
6181 
6182  protected:
6183   explicit MessageOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6184   MessageOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MessageOptions& from);
6185   MessageOptions(
6186       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MessageOptions&& from) noexcept
6187       : MessageOptions(arena) {
6188     *this = ::std::move(from);
6189   }
6190   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
6191   static void* PROTOBUF_NONNULL PlacementNew_(
6192       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6193       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6194   static constexpr auto InternalNewImpl_();
6195 
6196  public:
6197   static constexpr auto InternalGenerateClassData_();
6198 
6199   ::google::protobuf::Metadata GetMetadata() const;
6200   // nested types ----------------------------------------------------
6201 
6202   // accessors -------------------------------------------------------
6203   enum : int {
6204     kUninterpretedOptionFieldNumber = 999,
6205     kFeaturesFieldNumber = 12,
6206     kMessageSetWireFormatFieldNumber = 1,
6207     kNoStandardDescriptorAccessorFieldNumber = 2,
6208     kDeprecatedFieldNumber = 3,
6209     kMapEntryFieldNumber = 7,
6210     kDeprecatedLegacyJsonFieldConflictsFieldNumber = 11,
6211   };
6212   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
6213   int uninterpreted_option_size() const;
6214   private:
6215   int _internal_uninterpreted_option_size() const;
6216 
6217   public:
6218   void clear_uninterpreted_option() ;
6219   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL mutable_uninterpreted_option(int index);
6220   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL mutable_uninterpreted_option();
6221 
6222   private:
6223   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
6224   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL _internal_mutable_uninterpreted_option();
6225   public:
6226   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
6227   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL add_uninterpreted_option();
6228   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
6229   // optional .google.protobuf.FeatureSet features = 12;
6230   bool has_features() const;
6231   void clear_features() ;
6232   const ::google::protobuf::FeatureSet& features() const;
6233   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_features();
6234   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_features();
6235   void set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
6236   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
6237   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_features();
6238 
6239   private:
6240   const ::google::protobuf::FeatureSet& _internal_features() const;
6241   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_features();
6242 
6243   public:
6244   // optional bool message_set_wire_format = 1 [default = false];
6245   bool has_message_set_wire_format() const;
6246   void clear_message_set_wire_format() ;
6247   bool message_set_wire_format() const;
6248   void set_message_set_wire_format(bool value);
6249 
6250   private:
6251   bool _internal_message_set_wire_format() const;
6252   void _internal_set_message_set_wire_format(bool value);
6253 
6254   public:
6255   // optional bool no_standard_descriptor_accessor = 2 [default = false];
6256   bool has_no_standard_descriptor_accessor() const;
6257   void clear_no_standard_descriptor_accessor() ;
6258   bool no_standard_descriptor_accessor() const;
6259   void set_no_standard_descriptor_accessor(bool value);
6260 
6261   private:
6262   bool _internal_no_standard_descriptor_accessor() const;
6263   void _internal_set_no_standard_descriptor_accessor(bool value);
6264 
6265   public:
6266   // optional bool deprecated = 3 [default = false];
6267   bool has_deprecated() const;
6268   void clear_deprecated() ;
6269   bool deprecated() const;
6270   void set_deprecated(bool value);
6271 
6272   private:
6273   bool _internal_deprecated() const;
6274   void _internal_set_deprecated(bool value);
6275 
6276   public:
6277   // optional bool map_entry = 7;
6278   bool has_map_entry() const;
6279   void clear_map_entry() ;
6280   bool map_entry() const;
6281   void set_map_entry(bool value);
6282 
6283   private:
6284   bool _internal_map_entry() const;
6285   void _internal_set_map_entry(bool value);
6286 
6287   public:
6288   // optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
6289   [[deprecated]]  bool has_deprecated_legacy_json_field_conflicts() const;
6290   [[deprecated]]  void clear_deprecated_legacy_json_field_conflicts() ;
6291   [[deprecated]] bool deprecated_legacy_json_field_conflicts() const;
6292   [[deprecated]] void set_deprecated_legacy_json_field_conflicts(bool value);
6293 
6294   private:
6295   bool _internal_deprecated_legacy_json_field_conflicts() const;
6296   void _internal_set_deprecated_legacy_json_field_conflicts(bool value);
6297 
6298   public:
6299   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6300             bool _is_packed,
6301             typename = typename _proto_TypeTraits::Singular>
6302   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
6303       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6304                                        _field_type, _is_packed>& id) const {
6305     return _impl_._extensions_.Has(id.number());
6306   }
6307 
6308   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6309             bool _is_packed>
6310   inline void ClearExtension(
6311       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6312                                        _field_type, _is_packed>& id) {
6313     _impl_._extensions_.ClearExtension(id.number());
6314   }
6315 
6316   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6317             bool _is_packed,
6318             typename = typename _proto_TypeTraits::Repeated>
6319   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
6320       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6321                                        _field_type, _is_packed>& id) const {
6322     return _impl_._extensions_.ExtensionSize(id.number());
6323   }
6324 
6325   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6326             bool _is_packed,
6327             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
6328   PROTOBUF_FUTURE_ADD_NODISCARD inline
6329       typename _proto_TypeTraits::Singular::ConstType
6330       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
6331                    MessageOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
6332           const {
6333     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
6334   }
6335 
6336   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6337             bool _is_packed,
6338             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
6339   PROTOBUF_FUTURE_ADD_NODISCARD inline
6340       typename _proto_TypeTraits::Singular::ConstType
6341       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
6342                    MessageOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
6343           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
6344     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
6345   }
6346 
6347   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6348             bool _is_packed>
6349   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
6350       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6351                                        _field_type, _is_packed>& id)
6352       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6353     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
6354   }
6355 
6356   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6357             bool _is_packed>
6358   inline void SetExtension(
6359       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6360                                        _field_type, _is_packed>& id,
6361       typename _proto_TypeTraits::Singular::ConstType value) {
6362     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
6363   }
6364 
6365   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6366             bool _is_packed>
6367   inline void SetAllocatedExtension(
6368       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6369                                        _field_type, _is_packed>& id,
6370       typename _proto_TypeTraits::Singular::MutableType value) {
6371     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
6372                                     &_impl_._extensions_);
6373   }
6374   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6375             bool _is_packed>
6376   inline void UnsafeArenaSetAllocatedExtension(
6377       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6378                                        _field_type, _is_packed>& id,
6379       typename _proto_TypeTraits::Singular::MutableType value) {
6380     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
6381                                                value, &_impl_._extensions_);
6382   }
6383   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6384             bool _is_packed>
6385   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
6386   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
6387                    MessageOptions, _proto_TypeTraits, _field_type, _is_packed>& id) {
6388     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
6389   }
6390   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6391             bool _is_packed>
6392   inline typename _proto_TypeTraits::Singular::MutableType
6393   UnsafeArenaReleaseExtension(
6394       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6395                                        _field_type, _is_packed>& id) {
6396     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
6397                                                  &_impl_._extensions_);
6398   }
6399 
6400   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6401             bool _is_packed,
6402             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
6403   PROTOBUF_FUTURE_ADD_NODISCARD inline
6404       typename _proto_TypeTraits::Repeated::ConstType
6405       GetExtension(
6406           const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6407                                            _field_type, _is_packed>& id,
6408           int index) const {
6409     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
6410   }
6411 
6412   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6413             bool _is_packed,
6414             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
6415   PROTOBUF_FUTURE_ADD_NODISCARD inline
6416       typename _proto_TypeTraits::Repeated::ConstType
6417       GetExtension(
6418           const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6419                                            _field_type, _is_packed>& id,
6420           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
6421     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
6422   }
6423 
6424   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6425             bool _is_packed>
6426   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
6427       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6428                                        _field_type, _is_packed>& id,
6429       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
6430     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
6431   }
6432 
6433   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6434             bool _is_packed>
6435   inline void SetExtension(
6436       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6437                                        _field_type, _is_packed>& id,
6438       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
6439     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
6440   }
6441 
6442   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6443             bool _is_packed>
6444   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
6445       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6446                                        _field_type, _is_packed>& id)
6447       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6448     typename _proto_TypeTraits::Repeated::MutableType to_add =
6449         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
6450     return to_add;
6451   }
6452 
6453   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6454             bool _is_packed>
6455   inline void AddExtension(
6456       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6457                                        _field_type, _is_packed>& id,
6458       typename _proto_TypeTraits::Repeated::ConstType value) {
6459     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
6460                            &_impl_._extensions_);
6461   }
6462 
6463   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6464             bool _is_packed>
6465   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
6466       Repeated::RepeatedFieldType&
6467       GetRepeatedExtension(
6468           const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6469                                            _field_type, _is_packed>& id)
6470           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
6471     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
6472   }
6473 
6474   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6475             bool _is_packed>
6476   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
6477   MutableRepeatedExtension(
6478       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
6479                                        _field_type, _is_packed>& id)
6480       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6481     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
6482                                               _is_packed, &_impl_._extensions_);
6483   }
6484   // @@protoc_insertion_point(class_scope:google.protobuf.MessageOptions)
6485  private:
6486   class _Internal;
6487   friend class ::google::protobuf::internal::TcParser;
6488   static const ::google::protobuf::internal::TcParseTable<3, 7,
6489                                    2, 0,
6490                                    7>
6491       _table_;
6492 
6493   friend class ::google::protobuf::MessageLite;
6494   friend class ::google::protobuf::Arena;
6495   template <typename T>
6496   friend class ::google::protobuf::Arena::InternalHelper;
6497   using InternalArenaConstructable_ = void;
6498   using DestructorSkippable_ = void;
6499   struct Impl_ {
6500     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
6501     inline explicit Impl_(
6502         ::google::protobuf::internal::InternalVisibility visibility,
6503         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6504     inline explicit Impl_(
6505         ::google::protobuf::internal::InternalVisibility visibility,
6506         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6507         const MessageOptions& from_msg);
6508     ::google::protobuf::internal::ExtensionSet _extensions_;
6509     ::google::protobuf::internal::HasBits<1> _has_bits_;
6510     ::google::protobuf::internal::CachedSize _cached_size_;
6511     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
6512     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE features_;
6513     bool message_set_wire_format_;
6514     bool no_standard_descriptor_accessor_;
6515     bool deprecated_;
6516     bool map_entry_;
6517     bool deprecated_legacy_json_field_conflicts_;
6518     PROTOBUF_TSAN_DECLARE_MEMBER
6519   };
6520   union { Impl_ _impl_; };
6521   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
6522 };
6523 
6524 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull MessageOptions_class_data_;
6525 // -------------------------------------------------------------------
6526 
6527 class PROTOBUF_EXPORT FileOptions final : public ::google::protobuf::Message
6528 /* @@protoc_insertion_point(class_definition:google.protobuf.FileOptions) */ {
6529  public:
6530   inline FileOptions() : FileOptions(nullptr) {}
6531   ~FileOptions() PROTOBUF_FINAL;
6532 
6533 #if defined(PROTOBUF_CUSTOM_VTABLE)
6534   void operator delete(FileOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
6535     SharedDtor(*msg);
6536     ::google::protobuf::internal::SizedDelete(msg, sizeof(FileOptions));
6537   }
6538 #endif
6539 
6540   template <typename = void>
6541   explicit PROTOBUF_CONSTEXPR FileOptions(::google::protobuf::internal::ConstantInitialized);
6542 
6543   inline FileOptions(const FileOptions& from) : FileOptions(nullptr, from) {}
6544   inline FileOptions(FileOptions&& from) noexcept
6545       : FileOptions(nullptr, ::std::move(from)) {}
6546   inline FileOptions& operator=(const FileOptions& from) {
6547     CopyFrom(from);
6548     return *this;
6549   }
6550   inline FileOptions& operator=(FileOptions&& from) noexcept {
6551     if (this == &from) return *this;
6552     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
6553       InternalSwap(&from);
6554     } else {
6555       CopyFrom(from);
6556     }
6557     return *this;
6558   }
6559 
6560   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
6561       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6562     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
6563   }
6564   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
6565       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6566     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
6567   }
6568 
6569   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
6570     return GetDescriptor();
6571   }
6572   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
6573     return default_instance().GetMetadata().descriptor;
6574   }
6575   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
6576     return default_instance().GetMetadata().reflection;
6577   }
6578   static const FileOptions& default_instance() {
6579     return *reinterpret_cast<const FileOptions*>(
6580         &_FileOptions_default_instance_);
6581   }
6582   static constexpr int kIndexInFileMessages = 14;
6583   friend void swap(FileOptions& a, FileOptions& b) { a.Swap(&b); }
6584   inline void Swap(FileOptions* PROTOBUF_NONNULL other) {
6585     if (other == this) return;
6586     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
6587       InternalSwap(other);
6588     } else {
6589       ::google::protobuf::internal::GenericSwap(this, other);
6590     }
6591   }
6592   void UnsafeArenaSwap(FileOptions* PROTOBUF_NONNULL other) {
6593     if (other == this) return;
6594     ABSL_DCHECK(GetArena() == other->GetArena());
6595     InternalSwap(other);
6596   }
6597 
6598   // implements Message ----------------------------------------------
6599 
6600   FileOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
6601     return ::google::protobuf::Message::DefaultConstruct<FileOptions>(arena);
6602   }
6603   using ::google::protobuf::Message::CopyFrom;
6604   void CopyFrom(const FileOptions& from);
6605   using ::google::protobuf::Message::MergeFrom;
6606   void MergeFrom(const FileOptions& from) { FileOptions::MergeImpl(*this, from); }
6607 
6608   private:
6609   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
6610                         const ::google::protobuf::MessageLite& from_msg);
6611 
6612   public:
6613   bool IsInitialized() const {
6614     return IsInitializedImpl(*this);
6615   }
6616 
6617   private:
6618   static bool IsInitializedImpl(const MessageLite& msg);
6619 
6620   public:
6621   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
6622   #if defined(PROTOBUF_CUSTOM_VTABLE)
6623   private:
6624   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
6625   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6626       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
6627       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
6628 
6629   public:
6630   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
6631   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6632       ::uint8_t* PROTOBUF_NONNULL target,
6633       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
6634     return _InternalSerialize(*this, target, stream);
6635   }
6636   #else   // PROTOBUF_CUSTOM_VTABLE
6637   ::size_t ByteSizeLong() const final;
6638   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
6639       ::uint8_t* PROTOBUF_NONNULL target,
6640       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
6641   #endif  // PROTOBUF_CUSTOM_VTABLE
6642   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
6643 
6644   private:
6645   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6646   static void SharedDtor(MessageLite& self);
6647   void InternalSwap(FileOptions* PROTOBUF_NONNULL other);
6648  private:
6649   template <typename T>
6650   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
6651   static ::absl::string_view FullMessageName() { return "google.protobuf.FileOptions"; }
6652 
6653  protected:
6654   explicit FileOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6655   FileOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FileOptions& from);
6656   FileOptions(
6657       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FileOptions&& from) noexcept
6658       : FileOptions(arena) {
6659     *this = ::std::move(from);
6660   }
6661   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
6662   static void* PROTOBUF_NONNULL PlacementNew_(
6663       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6664       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
6665   static constexpr auto InternalNewImpl_();
6666 
6667  public:
6668   static constexpr auto InternalGenerateClassData_();
6669 
6670   ::google::protobuf::Metadata GetMetadata() const;
6671   // nested types ----------------------------------------------------
6672   using OptimizeMode = FileOptions_OptimizeMode;
6673   static constexpr OptimizeMode SPEED = FileOptions_OptimizeMode_SPEED;
6674   static constexpr OptimizeMode CODE_SIZE = FileOptions_OptimizeMode_CODE_SIZE;
6675   static constexpr OptimizeMode LITE_RUNTIME = FileOptions_OptimizeMode_LITE_RUNTIME;
6676   static inline bool OptimizeMode_IsValid(int value) {
6677     return FileOptions_OptimizeMode_IsValid(value);
6678   }
6679   static constexpr OptimizeMode OptimizeMode_MIN = FileOptions_OptimizeMode_OptimizeMode_MIN;
6680   static constexpr OptimizeMode OptimizeMode_MAX = FileOptions_OptimizeMode_OptimizeMode_MAX;
6681   static constexpr int OptimizeMode_ARRAYSIZE = FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE;
6682   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL OptimizeMode_descriptor() {
6683     return FileOptions_OptimizeMode_descriptor();
6684   }
6685   template <typename T>
6686   static inline const ::std::string& OptimizeMode_Name(T value) {
6687     return FileOptions_OptimizeMode_Name(value);
6688   }
6689   static inline bool OptimizeMode_Parse(
6690       ::absl::string_view name, OptimizeMode* PROTOBUF_NONNULL value) {
6691     return FileOptions_OptimizeMode_Parse(name, value);
6692   }
6693 
6694   // accessors -------------------------------------------------------
6695   enum : int {
6696     kUninterpretedOptionFieldNumber = 999,
6697     kJavaPackageFieldNumber = 1,
6698     kJavaOuterClassnameFieldNumber = 8,
6699     kGoPackageFieldNumber = 11,
6700     kObjcClassPrefixFieldNumber = 36,
6701     kCsharpNamespaceFieldNumber = 37,
6702     kSwiftPrefixFieldNumber = 39,
6703     kPhpClassPrefixFieldNumber = 40,
6704     kPhpNamespaceFieldNumber = 41,
6705     kPhpMetadataNamespaceFieldNumber = 44,
6706     kRubyPackageFieldNumber = 45,
6707     kFeaturesFieldNumber = 50,
6708     kJavaMultipleFilesFieldNumber = 10,
6709     kCcGenericServicesFieldNumber = 16,
6710     kJavaGenericServicesFieldNumber = 17,
6711     kPyGenericServicesFieldNumber = 18,
6712     kJavaGenerateEqualsAndHashFieldNumber = 20,
6713     kDeprecatedFieldNumber = 23,
6714     kJavaStringCheckUtf8FieldNumber = 27,
6715     kOptimizeForFieldNumber = 9,
6716     kCcEnableArenasFieldNumber = 31,
6717   };
6718   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
6719   int uninterpreted_option_size() const;
6720   private:
6721   int _internal_uninterpreted_option_size() const;
6722 
6723   public:
6724   void clear_uninterpreted_option() ;
6725   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL mutable_uninterpreted_option(int index);
6726   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL mutable_uninterpreted_option();
6727 
6728   private:
6729   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
6730   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL _internal_mutable_uninterpreted_option();
6731   public:
6732   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
6733   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL add_uninterpreted_option();
6734   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
6735   // optional string java_package = 1;
6736   bool has_java_package() const;
6737   void clear_java_package() ;
6738   const ::std::string& java_package() const;
6739   template <typename Arg_ = const ::std::string&, typename... Args_>
6740   void set_java_package(Arg_&& arg, Args_... args);
6741   ::std::string* PROTOBUF_NONNULL mutable_java_package();
6742   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_java_package();
6743   void set_allocated_java_package(::std::string* PROTOBUF_NULLABLE value);
6744 
6745   private:
6746   const ::std::string& _internal_java_package() const;
6747   PROTOBUF_ALWAYS_INLINE void _internal_set_java_package(const ::std::string& value);
6748   ::std::string* PROTOBUF_NONNULL _internal_mutable_java_package();
6749 
6750   public:
6751   // optional string java_outer_classname = 8;
6752   bool has_java_outer_classname() const;
6753   void clear_java_outer_classname() ;
6754   const ::std::string& java_outer_classname() const;
6755   template <typename Arg_ = const ::std::string&, typename... Args_>
6756   void set_java_outer_classname(Arg_&& arg, Args_... args);
6757   ::std::string* PROTOBUF_NONNULL mutable_java_outer_classname();
6758   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_java_outer_classname();
6759   void set_allocated_java_outer_classname(::std::string* PROTOBUF_NULLABLE value);
6760 
6761   private:
6762   const ::std::string& _internal_java_outer_classname() const;
6763   PROTOBUF_ALWAYS_INLINE void _internal_set_java_outer_classname(const ::std::string& value);
6764   ::std::string* PROTOBUF_NONNULL _internal_mutable_java_outer_classname();
6765 
6766   public:
6767   // optional string go_package = 11;
6768   bool has_go_package() const;
6769   void clear_go_package() ;
6770   const ::std::string& go_package() const;
6771   template <typename Arg_ = const ::std::string&, typename... Args_>
6772   void set_go_package(Arg_&& arg, Args_... args);
6773   ::std::string* PROTOBUF_NONNULL mutable_go_package();
6774   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_go_package();
6775   void set_allocated_go_package(::std::string* PROTOBUF_NULLABLE value);
6776 
6777   private:
6778   const ::std::string& _internal_go_package() const;
6779   PROTOBUF_ALWAYS_INLINE void _internal_set_go_package(const ::std::string& value);
6780   ::std::string* PROTOBUF_NONNULL _internal_mutable_go_package();
6781 
6782   public:
6783   // optional string objc_class_prefix = 36;
6784   bool has_objc_class_prefix() const;
6785   void clear_objc_class_prefix() ;
6786   const ::std::string& objc_class_prefix() const;
6787   template <typename Arg_ = const ::std::string&, typename... Args_>
6788   void set_objc_class_prefix(Arg_&& arg, Args_... args);
6789   ::std::string* PROTOBUF_NONNULL mutable_objc_class_prefix();
6790   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_objc_class_prefix();
6791   void set_allocated_objc_class_prefix(::std::string* PROTOBUF_NULLABLE value);
6792 
6793   private:
6794   const ::std::string& _internal_objc_class_prefix() const;
6795   PROTOBUF_ALWAYS_INLINE void _internal_set_objc_class_prefix(const ::std::string& value);
6796   ::std::string* PROTOBUF_NONNULL _internal_mutable_objc_class_prefix();
6797 
6798   public:
6799   // optional string csharp_namespace = 37;
6800   bool has_csharp_namespace() const;
6801   void clear_csharp_namespace() ;
6802   const ::std::string& csharp_namespace() const;
6803   template <typename Arg_ = const ::std::string&, typename... Args_>
6804   void set_csharp_namespace(Arg_&& arg, Args_... args);
6805   ::std::string* PROTOBUF_NONNULL mutable_csharp_namespace();
6806   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_csharp_namespace();
6807   void set_allocated_csharp_namespace(::std::string* PROTOBUF_NULLABLE value);
6808 
6809   private:
6810   const ::std::string& _internal_csharp_namespace() const;
6811   PROTOBUF_ALWAYS_INLINE void _internal_set_csharp_namespace(const ::std::string& value);
6812   ::std::string* PROTOBUF_NONNULL _internal_mutable_csharp_namespace();
6813 
6814   public:
6815   // optional string swift_prefix = 39;
6816   bool has_swift_prefix() const;
6817   void clear_swift_prefix() ;
6818   const ::std::string& swift_prefix() const;
6819   template <typename Arg_ = const ::std::string&, typename... Args_>
6820   void set_swift_prefix(Arg_&& arg, Args_... args);
6821   ::std::string* PROTOBUF_NONNULL mutable_swift_prefix();
6822   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_swift_prefix();
6823   void set_allocated_swift_prefix(::std::string* PROTOBUF_NULLABLE value);
6824 
6825   private:
6826   const ::std::string& _internal_swift_prefix() const;
6827   PROTOBUF_ALWAYS_INLINE void _internal_set_swift_prefix(const ::std::string& value);
6828   ::std::string* PROTOBUF_NONNULL _internal_mutable_swift_prefix();
6829 
6830   public:
6831   // optional string php_class_prefix = 40;
6832   bool has_php_class_prefix() const;
6833   void clear_php_class_prefix() ;
6834   const ::std::string& php_class_prefix() const;
6835   template <typename Arg_ = const ::std::string&, typename... Args_>
6836   void set_php_class_prefix(Arg_&& arg, Args_... args);
6837   ::std::string* PROTOBUF_NONNULL mutable_php_class_prefix();
6838   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_php_class_prefix();
6839   void set_allocated_php_class_prefix(::std::string* PROTOBUF_NULLABLE value);
6840 
6841   private:
6842   const ::std::string& _internal_php_class_prefix() const;
6843   PROTOBUF_ALWAYS_INLINE void _internal_set_php_class_prefix(const ::std::string& value);
6844   ::std::string* PROTOBUF_NONNULL _internal_mutable_php_class_prefix();
6845 
6846   public:
6847   // optional string php_namespace = 41;
6848   bool has_php_namespace() const;
6849   void clear_php_namespace() ;
6850   const ::std::string& php_namespace() const;
6851   template <typename Arg_ = const ::std::string&, typename... Args_>
6852   void set_php_namespace(Arg_&& arg, Args_... args);
6853   ::std::string* PROTOBUF_NONNULL mutable_php_namespace();
6854   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_php_namespace();
6855   void set_allocated_php_namespace(::std::string* PROTOBUF_NULLABLE value);
6856 
6857   private:
6858   const ::std::string& _internal_php_namespace() const;
6859   PROTOBUF_ALWAYS_INLINE void _internal_set_php_namespace(const ::std::string& value);
6860   ::std::string* PROTOBUF_NONNULL _internal_mutable_php_namespace();
6861 
6862   public:
6863   // optional string php_metadata_namespace = 44;
6864   bool has_php_metadata_namespace() const;
6865   void clear_php_metadata_namespace() ;
6866   const ::std::string& php_metadata_namespace() const;
6867   template <typename Arg_ = const ::std::string&, typename... Args_>
6868   void set_php_metadata_namespace(Arg_&& arg, Args_... args);
6869   ::std::string* PROTOBUF_NONNULL mutable_php_metadata_namespace();
6870   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_php_metadata_namespace();
6871   void set_allocated_php_metadata_namespace(::std::string* PROTOBUF_NULLABLE value);
6872 
6873   private:
6874   const ::std::string& _internal_php_metadata_namespace() const;
6875   PROTOBUF_ALWAYS_INLINE void _internal_set_php_metadata_namespace(const ::std::string& value);
6876   ::std::string* PROTOBUF_NONNULL _internal_mutable_php_metadata_namespace();
6877 
6878   public:
6879   // optional string ruby_package = 45;
6880   bool has_ruby_package() const;
6881   void clear_ruby_package() ;
6882   const ::std::string& ruby_package() const;
6883   template <typename Arg_ = const ::std::string&, typename... Args_>
6884   void set_ruby_package(Arg_&& arg, Args_... args);
6885   ::std::string* PROTOBUF_NONNULL mutable_ruby_package();
6886   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_ruby_package();
6887   void set_allocated_ruby_package(::std::string* PROTOBUF_NULLABLE value);
6888 
6889   private:
6890   const ::std::string& _internal_ruby_package() const;
6891   PROTOBUF_ALWAYS_INLINE void _internal_set_ruby_package(const ::std::string& value);
6892   ::std::string* PROTOBUF_NONNULL _internal_mutable_ruby_package();
6893 
6894   public:
6895   // optional .google.protobuf.FeatureSet features = 50;
6896   bool has_features() const;
6897   void clear_features() ;
6898   const ::google::protobuf::FeatureSet& features() const;
6899   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_features();
6900   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_features();
6901   void set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
6902   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
6903   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_features();
6904 
6905   private:
6906   const ::google::protobuf::FeatureSet& _internal_features() const;
6907   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_features();
6908 
6909   public:
6910   // optional bool java_multiple_files = 10 [default = false];
6911   bool has_java_multiple_files() const;
6912   void clear_java_multiple_files() ;
6913   bool java_multiple_files() const;
6914   void set_java_multiple_files(bool value);
6915 
6916   private:
6917   bool _internal_java_multiple_files() const;
6918   void _internal_set_java_multiple_files(bool value);
6919 
6920   public:
6921   // optional bool cc_generic_services = 16 [default = false];
6922   bool has_cc_generic_services() const;
6923   void clear_cc_generic_services() ;
6924   bool cc_generic_services() const;
6925   void set_cc_generic_services(bool value);
6926 
6927   private:
6928   bool _internal_cc_generic_services() const;
6929   void _internal_set_cc_generic_services(bool value);
6930 
6931   public:
6932   // optional bool java_generic_services = 17 [default = false];
6933   bool has_java_generic_services() const;
6934   void clear_java_generic_services() ;
6935   bool java_generic_services() const;
6936   void set_java_generic_services(bool value);
6937 
6938   private:
6939   bool _internal_java_generic_services() const;
6940   void _internal_set_java_generic_services(bool value);
6941 
6942   public:
6943   // optional bool py_generic_services = 18 [default = false];
6944   bool has_py_generic_services() const;
6945   void clear_py_generic_services() ;
6946   bool py_generic_services() const;
6947   void set_py_generic_services(bool value);
6948 
6949   private:
6950   bool _internal_py_generic_services() const;
6951   void _internal_set_py_generic_services(bool value);
6952 
6953   public:
6954   // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
6955   [[deprecated]]  bool has_java_generate_equals_and_hash() const;
6956   [[deprecated]]  void clear_java_generate_equals_and_hash() ;
6957   [[deprecated]] bool java_generate_equals_and_hash() const;
6958   [[deprecated]] void set_java_generate_equals_and_hash(bool value);
6959 
6960   private:
6961   bool _internal_java_generate_equals_and_hash() const;
6962   void _internal_set_java_generate_equals_and_hash(bool value);
6963 
6964   public:
6965   // optional bool deprecated = 23 [default = false];
6966   bool has_deprecated() const;
6967   void clear_deprecated() ;
6968   bool deprecated() const;
6969   void set_deprecated(bool value);
6970 
6971   private:
6972   bool _internal_deprecated() const;
6973   void _internal_set_deprecated(bool value);
6974 
6975   public:
6976   // optional bool java_string_check_utf8 = 27 [default = false];
6977   bool has_java_string_check_utf8() const;
6978   void clear_java_string_check_utf8() ;
6979   bool java_string_check_utf8() const;
6980   void set_java_string_check_utf8(bool value);
6981 
6982   private:
6983   bool _internal_java_string_check_utf8() const;
6984   void _internal_set_java_string_check_utf8(bool value);
6985 
6986   public:
6987   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
6988   bool has_optimize_for() const;
6989   void clear_optimize_for() ;
6990   ::google::protobuf::FileOptions_OptimizeMode optimize_for() const;
6991   void set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value);
6992 
6993   private:
6994   ::google::protobuf::FileOptions_OptimizeMode _internal_optimize_for() const;
6995   void _internal_set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value);
6996 
6997   public:
6998   // optional bool cc_enable_arenas = 31 [default = true];
6999   bool has_cc_enable_arenas() const;
7000   void clear_cc_enable_arenas() ;
7001   bool cc_enable_arenas() const;
7002   void set_cc_enable_arenas(bool value);
7003 
7004   private:
7005   bool _internal_cc_enable_arenas() const;
7006   void _internal_set_cc_enable_arenas(bool value);
7007 
7008   public:
7009   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7010             bool _is_packed,
7011             typename = typename _proto_TypeTraits::Singular>
7012   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
7013       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7014                                        _field_type, _is_packed>& id) const {
7015     return _impl_._extensions_.Has(id.number());
7016   }
7017 
7018   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7019             bool _is_packed>
7020   inline void ClearExtension(
7021       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7022                                        _field_type, _is_packed>& id) {
7023     _impl_._extensions_.ClearExtension(id.number());
7024   }
7025 
7026   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7027             bool _is_packed,
7028             typename = typename _proto_TypeTraits::Repeated>
7029   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
7030       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7031                                        _field_type, _is_packed>& id) const {
7032     return _impl_._extensions_.ExtensionSize(id.number());
7033   }
7034 
7035   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7036             bool _is_packed,
7037             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
7038   PROTOBUF_FUTURE_ADD_NODISCARD inline
7039       typename _proto_TypeTraits::Singular::ConstType
7040       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
7041                    FileOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
7042           const {
7043     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
7044   }
7045 
7046   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7047             bool _is_packed,
7048             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
7049   PROTOBUF_FUTURE_ADD_NODISCARD inline
7050       typename _proto_TypeTraits::Singular::ConstType
7051       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
7052                    FileOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
7053           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7054     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
7055   }
7056 
7057   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7058             bool _is_packed>
7059   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
7060       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7061                                        _field_type, _is_packed>& id)
7062       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7063     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
7064   }
7065 
7066   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7067             bool _is_packed>
7068   inline void SetExtension(
7069       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7070                                        _field_type, _is_packed>& id,
7071       typename _proto_TypeTraits::Singular::ConstType value) {
7072     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
7073   }
7074 
7075   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7076             bool _is_packed>
7077   inline void SetAllocatedExtension(
7078       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7079                                        _field_type, _is_packed>& id,
7080       typename _proto_TypeTraits::Singular::MutableType value) {
7081     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
7082                                     &_impl_._extensions_);
7083   }
7084   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7085             bool _is_packed>
7086   inline void UnsafeArenaSetAllocatedExtension(
7087       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7088                                        _field_type, _is_packed>& id,
7089       typename _proto_TypeTraits::Singular::MutableType value) {
7090     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
7091                                                value, &_impl_._extensions_);
7092   }
7093   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7094             bool _is_packed>
7095   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
7096   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
7097                    FileOptions, _proto_TypeTraits, _field_type, _is_packed>& id) {
7098     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
7099   }
7100   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7101             bool _is_packed>
7102   inline typename _proto_TypeTraits::Singular::MutableType
7103   UnsafeArenaReleaseExtension(
7104       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7105                                        _field_type, _is_packed>& id) {
7106     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
7107                                                  &_impl_._extensions_);
7108   }
7109 
7110   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7111             bool _is_packed,
7112             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
7113   PROTOBUF_FUTURE_ADD_NODISCARD inline
7114       typename _proto_TypeTraits::Repeated::ConstType
7115       GetExtension(
7116           const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7117                                            _field_type, _is_packed>& id,
7118           int index) const {
7119     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
7120   }
7121 
7122   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7123             bool _is_packed,
7124             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
7125   PROTOBUF_FUTURE_ADD_NODISCARD inline
7126       typename _proto_TypeTraits::Repeated::ConstType
7127       GetExtension(
7128           const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7129                                            _field_type, _is_packed>& id,
7130           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7131     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
7132   }
7133 
7134   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7135             bool _is_packed>
7136   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
7137       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7138                                        _field_type, _is_packed>& id,
7139       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
7140     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
7141   }
7142 
7143   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7144             bool _is_packed>
7145   inline void SetExtension(
7146       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7147                                        _field_type, _is_packed>& id,
7148       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
7149     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
7150   }
7151 
7152   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7153             bool _is_packed>
7154   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
7155       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7156                                        _field_type, _is_packed>& id)
7157       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7158     typename _proto_TypeTraits::Repeated::MutableType to_add =
7159         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
7160     return to_add;
7161   }
7162 
7163   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7164             bool _is_packed>
7165   inline void AddExtension(
7166       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7167                                        _field_type, _is_packed>& id,
7168       typename _proto_TypeTraits::Repeated::ConstType value) {
7169     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
7170                            &_impl_._extensions_);
7171   }
7172 
7173   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7174             bool _is_packed>
7175   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
7176       Repeated::RepeatedFieldType&
7177       GetRepeatedExtension(
7178           const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7179                                            _field_type, _is_packed>& id)
7180           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7181     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
7182   }
7183 
7184   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7185             bool _is_packed>
7186   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
7187   MutableRepeatedExtension(
7188       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
7189                                        _field_type, _is_packed>& id)
7190       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7191     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
7192                                               _is_packed, &_impl_._extensions_);
7193   }
7194   // @@protoc_insertion_point(class_scope:google.protobuf.FileOptions)
7195  private:
7196   class _Internal;
7197   friend class ::google::protobuf::internal::TcParser;
7198   static const ::google::protobuf::internal::TcParseTable<5, 21,
7199                                    3, 202,
7200                                    12>
7201       _table_;
7202 
7203   friend class ::google::protobuf::MessageLite;
7204   friend class ::google::protobuf::Arena;
7205   template <typename T>
7206   friend class ::google::protobuf::Arena::InternalHelper;
7207   using InternalArenaConstructable_ = void;
7208   using DestructorSkippable_ = void;
7209   struct Impl_ {
7210     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
7211     inline explicit Impl_(
7212         ::google::protobuf::internal::InternalVisibility visibility,
7213         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7214     inline explicit Impl_(
7215         ::google::protobuf::internal::InternalVisibility visibility,
7216         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
7217         const FileOptions& from_msg);
7218     ::google::protobuf::internal::ExtensionSet _extensions_;
7219     ::google::protobuf::internal::HasBits<1> _has_bits_;
7220     ::google::protobuf::internal::CachedSize _cached_size_;
7221     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
7222     ::google::protobuf::internal::ArenaStringPtr java_package_;
7223     ::google::protobuf::internal::ArenaStringPtr java_outer_classname_;
7224     ::google::protobuf::internal::ArenaStringPtr go_package_;
7225     ::google::protobuf::internal::ArenaStringPtr objc_class_prefix_;
7226     ::google::protobuf::internal::ArenaStringPtr csharp_namespace_;
7227     ::google::protobuf::internal::ArenaStringPtr swift_prefix_;
7228     ::google::protobuf::internal::ArenaStringPtr php_class_prefix_;
7229     ::google::protobuf::internal::ArenaStringPtr php_namespace_;
7230     ::google::protobuf::internal::ArenaStringPtr php_metadata_namespace_;
7231     ::google::protobuf::internal::ArenaStringPtr ruby_package_;
7232     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE features_;
7233     bool java_multiple_files_;
7234     bool cc_generic_services_;
7235     bool java_generic_services_;
7236     bool py_generic_services_;
7237     bool java_generate_equals_and_hash_;
7238     bool deprecated_;
7239     bool java_string_check_utf8_;
7240     int optimize_for_;
7241     bool cc_enable_arenas_;
7242     PROTOBUF_TSAN_DECLARE_MEMBER
7243   };
7244   union { Impl_ _impl_; };
7245   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
7246 };
7247 
7248 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FileOptions_class_data_;
7249 // -------------------------------------------------------------------
7250 
7251 class PROTOBUF_EXPORT FieldOptions final : public ::google::protobuf::Message
7252 /* @@protoc_insertion_point(class_definition:google.protobuf.FieldOptions) */ {
7253  public:
7254   inline FieldOptions() : FieldOptions(nullptr) {}
7255   ~FieldOptions() PROTOBUF_FINAL;
7256 
7257 #if defined(PROTOBUF_CUSTOM_VTABLE)
7258   void operator delete(FieldOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
7259     SharedDtor(*msg);
7260     ::google::protobuf::internal::SizedDelete(msg, sizeof(FieldOptions));
7261   }
7262 #endif
7263 
7264   template <typename = void>
7265   explicit PROTOBUF_CONSTEXPR FieldOptions(::google::protobuf::internal::ConstantInitialized);
7266 
7267   inline FieldOptions(const FieldOptions& from) : FieldOptions(nullptr, from) {}
7268   inline FieldOptions(FieldOptions&& from) noexcept
7269       : FieldOptions(nullptr, ::std::move(from)) {}
7270   inline FieldOptions& operator=(const FieldOptions& from) {
7271     CopyFrom(from);
7272     return *this;
7273   }
7274   inline FieldOptions& operator=(FieldOptions&& from) noexcept {
7275     if (this == &from) return *this;
7276     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
7277       InternalSwap(&from);
7278     } else {
7279       CopyFrom(from);
7280     }
7281     return *this;
7282   }
7283 
7284   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
7285       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7286     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
7287   }
7288   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
7289       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7290     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
7291   }
7292 
7293   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
7294     return GetDescriptor();
7295   }
7296   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
7297     return default_instance().GetMetadata().descriptor;
7298   }
7299   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
7300     return default_instance().GetMetadata().reflection;
7301   }
7302   static const FieldOptions& default_instance() {
7303     return *reinterpret_cast<const FieldOptions*>(
7304         &_FieldOptions_default_instance_);
7305   }
7306   static constexpr int kIndexInFileMessages = 18;
7307   friend void swap(FieldOptions& a, FieldOptions& b) { a.Swap(&b); }
7308   inline void Swap(FieldOptions* PROTOBUF_NONNULL other) {
7309     if (other == this) return;
7310     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
7311       InternalSwap(other);
7312     } else {
7313       ::google::protobuf::internal::GenericSwap(this, other);
7314     }
7315   }
7316   void UnsafeArenaSwap(FieldOptions* PROTOBUF_NONNULL other) {
7317     if (other == this) return;
7318     ABSL_DCHECK(GetArena() == other->GetArena());
7319     InternalSwap(other);
7320   }
7321 
7322   // implements Message ----------------------------------------------
7323 
7324   FieldOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
7325     return ::google::protobuf::Message::DefaultConstruct<FieldOptions>(arena);
7326   }
7327   using ::google::protobuf::Message::CopyFrom;
7328   void CopyFrom(const FieldOptions& from);
7329   using ::google::protobuf::Message::MergeFrom;
7330   void MergeFrom(const FieldOptions& from) { FieldOptions::MergeImpl(*this, from); }
7331 
7332   private:
7333   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
7334                         const ::google::protobuf::MessageLite& from_msg);
7335 
7336   public:
7337   bool IsInitialized() const {
7338     return IsInitializedImpl(*this);
7339   }
7340 
7341   private:
7342   static bool IsInitializedImpl(const MessageLite& msg);
7343 
7344   public:
7345   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
7346   #if defined(PROTOBUF_CUSTOM_VTABLE)
7347   private:
7348   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
7349   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7350       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
7351       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
7352 
7353   public:
7354   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
7355   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7356       ::uint8_t* PROTOBUF_NONNULL target,
7357       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
7358     return _InternalSerialize(*this, target, stream);
7359   }
7360   #else   // PROTOBUF_CUSTOM_VTABLE
7361   ::size_t ByteSizeLong() const final;
7362   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
7363       ::uint8_t* PROTOBUF_NONNULL target,
7364       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
7365   #endif  // PROTOBUF_CUSTOM_VTABLE
7366   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
7367 
7368   private:
7369   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7370   static void SharedDtor(MessageLite& self);
7371   void InternalSwap(FieldOptions* PROTOBUF_NONNULL other);
7372  private:
7373   template <typename T>
7374   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
7375   static ::absl::string_view FullMessageName() { return "google.protobuf.FieldOptions"; }
7376 
7377  protected:
7378   explicit FieldOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7379   FieldOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FieldOptions& from);
7380   FieldOptions(
7381       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FieldOptions&& from) noexcept
7382       : FieldOptions(arena) {
7383     *this = ::std::move(from);
7384   }
7385   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
7386   static void* PROTOBUF_NONNULL PlacementNew_(
7387       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
7388       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7389   static constexpr auto InternalNewImpl_();
7390 
7391  public:
7392   static constexpr auto InternalGenerateClassData_();
7393 
7394   ::google::protobuf::Metadata GetMetadata() const;
7395   // nested types ----------------------------------------------------
7396   using EditionDefault = FieldOptions_EditionDefault;
7397   using FeatureSupport = FieldOptions_FeatureSupport;
7398   using CType = FieldOptions_CType;
7399   static constexpr CType STRING = FieldOptions_CType_STRING;
7400   static constexpr CType CORD = FieldOptions_CType_CORD;
7401   static constexpr CType STRING_PIECE = FieldOptions_CType_STRING_PIECE;
7402   static inline bool CType_IsValid(int value) {
7403     return FieldOptions_CType_IsValid(value);
7404   }
7405   static constexpr CType CType_MIN = FieldOptions_CType_CType_MIN;
7406   static constexpr CType CType_MAX = FieldOptions_CType_CType_MAX;
7407   static constexpr int CType_ARRAYSIZE = FieldOptions_CType_CType_ARRAYSIZE;
7408   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CType_descriptor() {
7409     return FieldOptions_CType_descriptor();
7410   }
7411   template <typename T>
7412   static inline const ::std::string& CType_Name(T value) {
7413     return FieldOptions_CType_Name(value);
7414   }
7415   static inline bool CType_Parse(
7416       ::absl::string_view name, CType* PROTOBUF_NONNULL value) {
7417     return FieldOptions_CType_Parse(name, value);
7418   }
7419   using JSType = FieldOptions_JSType;
7420   static constexpr JSType JS_NORMAL = FieldOptions_JSType_JS_NORMAL;
7421   static constexpr JSType JS_STRING = FieldOptions_JSType_JS_STRING;
7422   static constexpr JSType JS_NUMBER = FieldOptions_JSType_JS_NUMBER;
7423   static inline bool JSType_IsValid(int value) {
7424     return FieldOptions_JSType_IsValid(value);
7425   }
7426   static constexpr JSType JSType_MIN = FieldOptions_JSType_JSType_MIN;
7427   static constexpr JSType JSType_MAX = FieldOptions_JSType_JSType_MAX;
7428   static constexpr int JSType_ARRAYSIZE = FieldOptions_JSType_JSType_ARRAYSIZE;
7429   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL JSType_descriptor() {
7430     return FieldOptions_JSType_descriptor();
7431   }
7432   template <typename T>
7433   static inline const ::std::string& JSType_Name(T value) {
7434     return FieldOptions_JSType_Name(value);
7435   }
7436   static inline bool JSType_Parse(
7437       ::absl::string_view name, JSType* PROTOBUF_NONNULL value) {
7438     return FieldOptions_JSType_Parse(name, value);
7439   }
7440   using OptionRetention = FieldOptions_OptionRetention;
7441   static constexpr OptionRetention RETENTION_UNKNOWN = FieldOptions_OptionRetention_RETENTION_UNKNOWN;
7442   static constexpr OptionRetention RETENTION_RUNTIME = FieldOptions_OptionRetention_RETENTION_RUNTIME;
7443   static constexpr OptionRetention RETENTION_SOURCE = FieldOptions_OptionRetention_RETENTION_SOURCE;
7444   static inline bool OptionRetention_IsValid(int value) {
7445     return FieldOptions_OptionRetention_IsValid(value);
7446   }
7447   static constexpr OptionRetention OptionRetention_MIN = FieldOptions_OptionRetention_OptionRetention_MIN;
7448   static constexpr OptionRetention OptionRetention_MAX = FieldOptions_OptionRetention_OptionRetention_MAX;
7449   static constexpr int OptionRetention_ARRAYSIZE = FieldOptions_OptionRetention_OptionRetention_ARRAYSIZE;
7450   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL OptionRetention_descriptor() {
7451     return FieldOptions_OptionRetention_descriptor();
7452   }
7453   template <typename T>
7454   static inline const ::std::string& OptionRetention_Name(T value) {
7455     return FieldOptions_OptionRetention_Name(value);
7456   }
7457   static inline bool OptionRetention_Parse(
7458       ::absl::string_view name, OptionRetention* PROTOBUF_NONNULL value) {
7459     return FieldOptions_OptionRetention_Parse(name, value);
7460   }
7461   using OptionTargetType = FieldOptions_OptionTargetType;
7462   static constexpr OptionTargetType TARGET_TYPE_UNKNOWN = FieldOptions_OptionTargetType_TARGET_TYPE_UNKNOWN;
7463   static constexpr OptionTargetType TARGET_TYPE_FILE = FieldOptions_OptionTargetType_TARGET_TYPE_FILE;
7464   static constexpr OptionTargetType TARGET_TYPE_EXTENSION_RANGE = FieldOptions_OptionTargetType_TARGET_TYPE_EXTENSION_RANGE;
7465   static constexpr OptionTargetType TARGET_TYPE_MESSAGE = FieldOptions_OptionTargetType_TARGET_TYPE_MESSAGE;
7466   static constexpr OptionTargetType TARGET_TYPE_FIELD = FieldOptions_OptionTargetType_TARGET_TYPE_FIELD;
7467   static constexpr OptionTargetType TARGET_TYPE_ONEOF = FieldOptions_OptionTargetType_TARGET_TYPE_ONEOF;
7468   static constexpr OptionTargetType TARGET_TYPE_ENUM = FieldOptions_OptionTargetType_TARGET_TYPE_ENUM;
7469   static constexpr OptionTargetType TARGET_TYPE_ENUM_ENTRY = FieldOptions_OptionTargetType_TARGET_TYPE_ENUM_ENTRY;
7470   static constexpr OptionTargetType TARGET_TYPE_SERVICE = FieldOptions_OptionTargetType_TARGET_TYPE_SERVICE;
7471   static constexpr OptionTargetType TARGET_TYPE_METHOD = FieldOptions_OptionTargetType_TARGET_TYPE_METHOD;
7472   static inline bool OptionTargetType_IsValid(int value) {
7473     return FieldOptions_OptionTargetType_IsValid(value);
7474   }
7475   static constexpr OptionTargetType OptionTargetType_MIN = FieldOptions_OptionTargetType_OptionTargetType_MIN;
7476   static constexpr OptionTargetType OptionTargetType_MAX = FieldOptions_OptionTargetType_OptionTargetType_MAX;
7477   static constexpr int OptionTargetType_ARRAYSIZE = FieldOptions_OptionTargetType_OptionTargetType_ARRAYSIZE;
7478   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL OptionTargetType_descriptor() {
7479     return FieldOptions_OptionTargetType_descriptor();
7480   }
7481   template <typename T>
7482   static inline const ::std::string& OptionTargetType_Name(T value) {
7483     return FieldOptions_OptionTargetType_Name(value);
7484   }
7485   static inline bool OptionTargetType_Parse(
7486       ::absl::string_view name, OptionTargetType* PROTOBUF_NONNULL value) {
7487     return FieldOptions_OptionTargetType_Parse(name, value);
7488   }
7489 
7490   // accessors -------------------------------------------------------
7491   enum : int {
7492     kTargetsFieldNumber = 19,
7493     kEditionDefaultsFieldNumber = 20,
7494     kUninterpretedOptionFieldNumber = 999,
7495     kFeaturesFieldNumber = 21,
7496     kFeatureSupportFieldNumber = 22,
7497     kCtypeFieldNumber = 1,
7498     kPackedFieldNumber = 2,
7499     kDeprecatedFieldNumber = 3,
7500     kLazyFieldNumber = 5,
7501     kWeakFieldNumber = 10,
7502     kJstypeFieldNumber = 6,
7503     kUnverifiedLazyFieldNumber = 15,
7504     kDebugRedactFieldNumber = 16,
7505     kRetentionFieldNumber = 17,
7506   };
7507   // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
7508   int targets_size() const;
7509   private:
7510   int _internal_targets_size() const;
7511 
7512   public:
7513   void clear_targets() ;
7514   public:
7515   ::google::protobuf::FieldOptions_OptionTargetType targets(int index) const;
7516   void set_targets(int index, ::google::protobuf::FieldOptions_OptionTargetType value);
7517   void add_targets(::google::protobuf::FieldOptions_OptionTargetType value);
7518   const ::google::protobuf::RepeatedField<int>& targets() const;
7519   ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_targets();
7520 
7521   private:
7522   const ::google::protobuf::RepeatedField<int>& _internal_targets() const;
7523   ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_targets();
7524 
7525   public:
7526   // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
7527   int edition_defaults_size() const;
7528   private:
7529   int _internal_edition_defaults_size() const;
7530 
7531   public:
7532   void clear_edition_defaults() ;
7533   ::google::protobuf::FieldOptions_EditionDefault* PROTOBUF_NONNULL mutable_edition_defaults(int index);
7534   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>* PROTOBUF_NONNULL mutable_edition_defaults();
7535 
7536   private:
7537   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>& _internal_edition_defaults() const;
7538   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>* PROTOBUF_NONNULL _internal_mutable_edition_defaults();
7539   public:
7540   const ::google::protobuf::FieldOptions_EditionDefault& edition_defaults(int index) const;
7541   ::google::protobuf::FieldOptions_EditionDefault* PROTOBUF_NONNULL add_edition_defaults();
7542   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>& edition_defaults() const;
7543   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
7544   int uninterpreted_option_size() const;
7545   private:
7546   int _internal_uninterpreted_option_size() const;
7547 
7548   public:
7549   void clear_uninterpreted_option() ;
7550   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL mutable_uninterpreted_option(int index);
7551   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL mutable_uninterpreted_option();
7552 
7553   private:
7554   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
7555   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL _internal_mutable_uninterpreted_option();
7556   public:
7557   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
7558   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL add_uninterpreted_option();
7559   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
7560   // optional .google.protobuf.FeatureSet features = 21;
7561   bool has_features() const;
7562   void clear_features() ;
7563   const ::google::protobuf::FeatureSet& features() const;
7564   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_features();
7565   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_features();
7566   void set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
7567   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
7568   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_features();
7569 
7570   private:
7571   const ::google::protobuf::FeatureSet& _internal_features() const;
7572   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_features();
7573 
7574   public:
7575   // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
7576   bool has_feature_support() const;
7577   void clear_feature_support() ;
7578   const ::google::protobuf::FieldOptions_FeatureSupport& feature_support() const;
7579   [[nodiscard]] ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE release_feature_support();
7580   ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NONNULL mutable_feature_support();
7581   void set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE value);
7582   void unsafe_arena_set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE value);
7583   ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE unsafe_arena_release_feature_support();
7584 
7585   private:
7586   const ::google::protobuf::FieldOptions_FeatureSupport& _internal_feature_support() const;
7587   ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NONNULL _internal_mutable_feature_support();
7588 
7589   public:
7590   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
7591   bool has_ctype() const;
7592   void clear_ctype() ;
7593   ::google::protobuf::FieldOptions_CType ctype() const;
7594   void set_ctype(::google::protobuf::FieldOptions_CType value);
7595 
7596   private:
7597   ::google::protobuf::FieldOptions_CType _internal_ctype() const;
7598   void _internal_set_ctype(::google::protobuf::FieldOptions_CType value);
7599 
7600   public:
7601   // optional bool packed = 2;
7602   bool has_packed() const;
7603   void clear_packed() ;
7604   bool packed() const;
7605   void set_packed(bool value);
7606 
7607   private:
7608   bool _internal_packed() const;
7609   void _internal_set_packed(bool value);
7610 
7611   public:
7612   // optional bool deprecated = 3 [default = false];
7613   bool has_deprecated() const;
7614   void clear_deprecated() ;
7615   bool deprecated() const;
7616   void set_deprecated(bool value);
7617 
7618   private:
7619   bool _internal_deprecated() const;
7620   void _internal_set_deprecated(bool value);
7621 
7622   public:
7623   // optional bool lazy = 5 [default = false];
7624   bool has_lazy() const;
7625   void clear_lazy() ;
7626   bool lazy() const;
7627   void set_lazy(bool value);
7628 
7629   private:
7630   bool _internal_lazy() const;
7631   void _internal_set_lazy(bool value);
7632 
7633   public:
7634   // optional bool weak = 10 [default = false, deprecated = true];
7635   [[deprecated]]  bool has_weak() const;
7636   [[deprecated]]  void clear_weak() ;
7637   [[deprecated]] bool weak() const;
7638   [[deprecated]] void set_weak(bool value);
7639 
7640   private:
7641   bool _internal_weak() const;
7642   void _internal_set_weak(bool value);
7643 
7644   public:
7645   // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
7646   bool has_jstype() const;
7647   void clear_jstype() ;
7648   ::google::protobuf::FieldOptions_JSType jstype() const;
7649   void set_jstype(::google::protobuf::FieldOptions_JSType value);
7650 
7651   private:
7652   ::google::protobuf::FieldOptions_JSType _internal_jstype() const;
7653   void _internal_set_jstype(::google::protobuf::FieldOptions_JSType value);
7654 
7655   public:
7656   // optional bool unverified_lazy = 15 [default = false];
7657   bool has_unverified_lazy() const;
7658   void clear_unverified_lazy() ;
7659   bool unverified_lazy() const;
7660   void set_unverified_lazy(bool value);
7661 
7662   private:
7663   bool _internal_unverified_lazy() const;
7664   void _internal_set_unverified_lazy(bool value);
7665 
7666   public:
7667   // optional bool debug_redact = 16 [default = false];
7668   bool has_debug_redact() const;
7669   void clear_debug_redact() ;
7670   bool debug_redact() const;
7671   void set_debug_redact(bool value);
7672 
7673   private:
7674   bool _internal_debug_redact() const;
7675   void _internal_set_debug_redact(bool value);
7676 
7677   public:
7678   // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
7679   bool has_retention() const;
7680   void clear_retention() ;
7681   ::google::protobuf::FieldOptions_OptionRetention retention() const;
7682   void set_retention(::google::protobuf::FieldOptions_OptionRetention value);
7683 
7684   private:
7685   ::google::protobuf::FieldOptions_OptionRetention _internal_retention() const;
7686   void _internal_set_retention(::google::protobuf::FieldOptions_OptionRetention value);
7687 
7688   public:
7689   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7690             bool _is_packed,
7691             typename = typename _proto_TypeTraits::Singular>
7692   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
7693       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7694                                        _field_type, _is_packed>& id) const {
7695     return _impl_._extensions_.Has(id.number());
7696   }
7697 
7698   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7699             bool _is_packed>
7700   inline void ClearExtension(
7701       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7702                                        _field_type, _is_packed>& id) {
7703     _impl_._extensions_.ClearExtension(id.number());
7704   }
7705 
7706   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7707             bool _is_packed,
7708             typename = typename _proto_TypeTraits::Repeated>
7709   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
7710       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7711                                        _field_type, _is_packed>& id) const {
7712     return _impl_._extensions_.ExtensionSize(id.number());
7713   }
7714 
7715   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7716             bool _is_packed,
7717             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
7718   PROTOBUF_FUTURE_ADD_NODISCARD inline
7719       typename _proto_TypeTraits::Singular::ConstType
7720       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
7721                    FieldOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
7722           const {
7723     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
7724   }
7725 
7726   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7727             bool _is_packed,
7728             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
7729   PROTOBUF_FUTURE_ADD_NODISCARD inline
7730       typename _proto_TypeTraits::Singular::ConstType
7731       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
7732                    FieldOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
7733           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7734     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
7735   }
7736 
7737   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7738             bool _is_packed>
7739   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
7740       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7741                                        _field_type, _is_packed>& id)
7742       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7743     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
7744   }
7745 
7746   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7747             bool _is_packed>
7748   inline void SetExtension(
7749       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7750                                        _field_type, _is_packed>& id,
7751       typename _proto_TypeTraits::Singular::ConstType value) {
7752     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
7753   }
7754 
7755   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7756             bool _is_packed>
7757   inline void SetAllocatedExtension(
7758       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7759                                        _field_type, _is_packed>& id,
7760       typename _proto_TypeTraits::Singular::MutableType value) {
7761     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
7762                                     &_impl_._extensions_);
7763   }
7764   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7765             bool _is_packed>
7766   inline void UnsafeArenaSetAllocatedExtension(
7767       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7768                                        _field_type, _is_packed>& id,
7769       typename _proto_TypeTraits::Singular::MutableType value) {
7770     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
7771                                                value, &_impl_._extensions_);
7772   }
7773   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7774             bool _is_packed>
7775   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
7776   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
7777                    FieldOptions, _proto_TypeTraits, _field_type, _is_packed>& id) {
7778     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
7779   }
7780   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7781             bool _is_packed>
7782   inline typename _proto_TypeTraits::Singular::MutableType
7783   UnsafeArenaReleaseExtension(
7784       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7785                                        _field_type, _is_packed>& id) {
7786     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
7787                                                  &_impl_._extensions_);
7788   }
7789 
7790   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7791             bool _is_packed,
7792             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
7793   PROTOBUF_FUTURE_ADD_NODISCARD inline
7794       typename _proto_TypeTraits::Repeated::ConstType
7795       GetExtension(
7796           const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7797                                            _field_type, _is_packed>& id,
7798           int index) const {
7799     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
7800   }
7801 
7802   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7803             bool _is_packed,
7804             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
7805   PROTOBUF_FUTURE_ADD_NODISCARD inline
7806       typename _proto_TypeTraits::Repeated::ConstType
7807       GetExtension(
7808           const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7809                                            _field_type, _is_packed>& id,
7810           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7811     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
7812   }
7813 
7814   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7815             bool _is_packed>
7816   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
7817       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7818                                        _field_type, _is_packed>& id,
7819       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
7820     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
7821   }
7822 
7823   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7824             bool _is_packed>
7825   inline void SetExtension(
7826       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7827                                        _field_type, _is_packed>& id,
7828       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
7829     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
7830   }
7831 
7832   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7833             bool _is_packed>
7834   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
7835       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7836                                        _field_type, _is_packed>& id)
7837       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7838     typename _proto_TypeTraits::Repeated::MutableType to_add =
7839         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
7840     return to_add;
7841   }
7842 
7843   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7844             bool _is_packed>
7845   inline void AddExtension(
7846       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7847                                        _field_type, _is_packed>& id,
7848       typename _proto_TypeTraits::Repeated::ConstType value) {
7849     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
7850                            &_impl_._extensions_);
7851   }
7852 
7853   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7854             bool _is_packed>
7855   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
7856       Repeated::RepeatedFieldType&
7857       GetRepeatedExtension(
7858           const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7859                                            _field_type, _is_packed>& id)
7860           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7861     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
7862   }
7863 
7864   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7865             bool _is_packed>
7866   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
7867   MutableRepeatedExtension(
7868       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7869                                        _field_type, _is_packed>& id)
7870       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7871     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
7872                                               _is_packed, &_impl_._extensions_);
7873   }
7874   // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions)
7875  private:
7876   class _Internal;
7877   friend class ::google::protobuf::internal::TcParser;
7878   static const ::google::protobuf::internal::TcParseTable<4, 14,
7879                                    8, 0,
7880                                    7>
7881       _table_;
7882 
7883   friend class ::google::protobuf::MessageLite;
7884   friend class ::google::protobuf::Arena;
7885   template <typename T>
7886   friend class ::google::protobuf::Arena::InternalHelper;
7887   using InternalArenaConstructable_ = void;
7888   using DestructorSkippable_ = void;
7889   struct Impl_ {
7890     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
7891     inline explicit Impl_(
7892         ::google::protobuf::internal::InternalVisibility visibility,
7893         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
7894     inline explicit Impl_(
7895         ::google::protobuf::internal::InternalVisibility visibility,
7896         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
7897         const FieldOptions& from_msg);
7898     ::google::protobuf::internal::ExtensionSet _extensions_;
7899     ::google::protobuf::internal::HasBits<1> _has_bits_;
7900     ::google::protobuf::internal::CachedSize _cached_size_;
7901     ::google::protobuf::RepeatedField<int> targets_;
7902     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldOptions_EditionDefault > edition_defaults_;
7903     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
7904     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE features_;
7905     ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE feature_support_;
7906     int ctype_;
7907     bool packed_;
7908     bool deprecated_;
7909     bool lazy_;
7910     bool weak_;
7911     int jstype_;
7912     bool unverified_lazy_;
7913     bool debug_redact_;
7914     int retention_;
7915     PROTOBUF_TSAN_DECLARE_MEMBER
7916   };
7917   union { Impl_ _impl_; };
7918   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
7919 };
7920 
7921 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FieldOptions_class_data_;
7922 // -------------------------------------------------------------------
7923 
7924 class PROTOBUF_EXPORT FeatureSetDefaults final : public ::google::protobuf::Message
7925 /* @@protoc_insertion_point(class_definition:google.protobuf.FeatureSetDefaults) */ {
7926  public:
7927   inline FeatureSetDefaults() : FeatureSetDefaults(nullptr) {}
7928   ~FeatureSetDefaults() PROTOBUF_FINAL;
7929 
7930 #if defined(PROTOBUF_CUSTOM_VTABLE)
7931   void operator delete(FeatureSetDefaults* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
7932     SharedDtor(*msg);
7933     ::google::protobuf::internal::SizedDelete(msg, sizeof(FeatureSetDefaults));
7934   }
7935 #endif
7936 
7937   template <typename = void>
7938   explicit PROTOBUF_CONSTEXPR FeatureSetDefaults(::google::protobuf::internal::ConstantInitialized);
7939 
7940   inline FeatureSetDefaults(const FeatureSetDefaults& from) : FeatureSetDefaults(nullptr, from) {}
7941   inline FeatureSetDefaults(FeatureSetDefaults&& from) noexcept
7942       : FeatureSetDefaults(nullptr, ::std::move(from)) {}
7943   inline FeatureSetDefaults& operator=(const FeatureSetDefaults& from) {
7944     CopyFrom(from);
7945     return *this;
7946   }
7947   inline FeatureSetDefaults& operator=(FeatureSetDefaults&& from) noexcept {
7948     if (this == &from) return *this;
7949     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
7950       InternalSwap(&from);
7951     } else {
7952       CopyFrom(from);
7953     }
7954     return *this;
7955   }
7956 
7957   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
7958       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7959     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
7960   }
7961   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
7962       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7963     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
7964   }
7965 
7966   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
7967     return GetDescriptor();
7968   }
7969   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
7970     return default_instance().GetMetadata().descriptor;
7971   }
7972   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
7973     return default_instance().GetMetadata().reflection;
7974   }
7975   static const FeatureSetDefaults& default_instance() {
7976     return *reinterpret_cast<const FeatureSetDefaults*>(
7977         &_FeatureSetDefaults_default_instance_);
7978   }
7979   static constexpr int kIndexInFileMessages = 29;
7980   friend void swap(FeatureSetDefaults& a, FeatureSetDefaults& b) { a.Swap(&b); }
7981   inline void Swap(FeatureSetDefaults* PROTOBUF_NONNULL other) {
7982     if (other == this) return;
7983     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
7984       InternalSwap(other);
7985     } else {
7986       ::google::protobuf::internal::GenericSwap(this, other);
7987     }
7988   }
7989   void UnsafeArenaSwap(FeatureSetDefaults* PROTOBUF_NONNULL other) {
7990     if (other == this) return;
7991     ABSL_DCHECK(GetArena() == other->GetArena());
7992     InternalSwap(other);
7993   }
7994 
7995   // implements Message ----------------------------------------------
7996 
7997   FeatureSetDefaults* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
7998     return ::google::protobuf::Message::DefaultConstruct<FeatureSetDefaults>(arena);
7999   }
8000   using ::google::protobuf::Message::CopyFrom;
8001   void CopyFrom(const FeatureSetDefaults& from);
8002   using ::google::protobuf::Message::MergeFrom;
8003   void MergeFrom(const FeatureSetDefaults& from) { FeatureSetDefaults::MergeImpl(*this, from); }
8004 
8005   private:
8006   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
8007                         const ::google::protobuf::MessageLite& from_msg);
8008 
8009   public:
8010   bool IsInitialized() const {
8011     return IsInitializedImpl(*this);
8012   }
8013 
8014   private:
8015   static bool IsInitializedImpl(const MessageLite& msg);
8016 
8017   public:
8018   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
8019   #if defined(PROTOBUF_CUSTOM_VTABLE)
8020   private:
8021   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
8022   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8023       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
8024       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
8025 
8026   public:
8027   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
8028   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8029       ::uint8_t* PROTOBUF_NONNULL target,
8030       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
8031     return _InternalSerialize(*this, target, stream);
8032   }
8033   #else   // PROTOBUF_CUSTOM_VTABLE
8034   ::size_t ByteSizeLong() const final;
8035   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8036       ::uint8_t* PROTOBUF_NONNULL target,
8037       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
8038   #endif  // PROTOBUF_CUSTOM_VTABLE
8039   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
8040 
8041   private:
8042   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8043   static void SharedDtor(MessageLite& self);
8044   void InternalSwap(FeatureSetDefaults* PROTOBUF_NONNULL other);
8045  private:
8046   template <typename T>
8047   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
8048   static ::absl::string_view FullMessageName() { return "google.protobuf.FeatureSetDefaults"; }
8049 
8050  protected:
8051   explicit FeatureSetDefaults(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8052   FeatureSetDefaults(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FeatureSetDefaults& from);
8053   FeatureSetDefaults(
8054       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FeatureSetDefaults&& from) noexcept
8055       : FeatureSetDefaults(arena) {
8056     *this = ::std::move(from);
8057   }
8058   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
8059   static void* PROTOBUF_NONNULL PlacementNew_(
8060       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
8061       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8062   static constexpr auto InternalNewImpl_();
8063 
8064  public:
8065   static constexpr auto InternalGenerateClassData_();
8066 
8067   ::google::protobuf::Metadata GetMetadata() const;
8068   // nested types ----------------------------------------------------
8069   using FeatureSetEditionDefault = FeatureSetDefaults_FeatureSetEditionDefault;
8070 
8071   // accessors -------------------------------------------------------
8072   enum : int {
8073     kDefaultsFieldNumber = 1,
8074     kMinimumEditionFieldNumber = 4,
8075     kMaximumEditionFieldNumber = 5,
8076   };
8077   // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
8078   int defaults_size() const;
8079   private:
8080   int _internal_defaults_size() const;
8081 
8082   public:
8083   void clear_defaults() ;
8084   ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_NONNULL mutable_defaults(int index);
8085   ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>* PROTOBUF_NONNULL mutable_defaults();
8086 
8087   private:
8088   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>& _internal_defaults() const;
8089   ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>* PROTOBUF_NONNULL _internal_mutable_defaults();
8090   public:
8091   const ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault& defaults(int index) const;
8092   ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_NONNULL add_defaults();
8093   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>& defaults() const;
8094   // optional .google.protobuf.Edition minimum_edition = 4;
8095   bool has_minimum_edition() const;
8096   void clear_minimum_edition() ;
8097   ::google::protobuf::Edition minimum_edition() const;
8098   void set_minimum_edition(::google::protobuf::Edition value);
8099 
8100   private:
8101   ::google::protobuf::Edition _internal_minimum_edition() const;
8102   void _internal_set_minimum_edition(::google::protobuf::Edition value);
8103 
8104   public:
8105   // optional .google.protobuf.Edition maximum_edition = 5;
8106   bool has_maximum_edition() const;
8107   void clear_maximum_edition() ;
8108   ::google::protobuf::Edition maximum_edition() const;
8109   void set_maximum_edition(::google::protobuf::Edition value);
8110 
8111   private:
8112   ::google::protobuf::Edition _internal_maximum_edition() const;
8113   void _internal_set_maximum_edition(::google::protobuf::Edition value);
8114 
8115   public:
8116   // @@protoc_insertion_point(class_scope:google.protobuf.FeatureSetDefaults)
8117  private:
8118   class _Internal;
8119   friend class ::google::protobuf::internal::TcParser;
8120   static const ::google::protobuf::internal::TcParseTable<1, 3,
8121                                    3, 0,
8122                                    2>
8123       _table_;
8124 
8125   friend class ::google::protobuf::MessageLite;
8126   friend class ::google::protobuf::Arena;
8127   template <typename T>
8128   friend class ::google::protobuf::Arena::InternalHelper;
8129   using InternalArenaConstructable_ = void;
8130   using DestructorSkippable_ = void;
8131   struct Impl_ {
8132     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
8133     inline explicit Impl_(
8134         ::google::protobuf::internal::InternalVisibility visibility,
8135         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8136     inline explicit Impl_(
8137         ::google::protobuf::internal::InternalVisibility visibility,
8138         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
8139         const FeatureSetDefaults& from_msg);
8140     ::google::protobuf::internal::HasBits<1> _has_bits_;
8141     ::google::protobuf::internal::CachedSize _cached_size_;
8142     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault > defaults_;
8143     int minimum_edition_;
8144     int maximum_edition_;
8145     PROTOBUF_TSAN_DECLARE_MEMBER
8146   };
8147   union { Impl_ _impl_; };
8148   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
8149 };
8150 
8151 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FeatureSetDefaults_class_data_;
8152 // -------------------------------------------------------------------
8153 
8154 class PROTOBUF_EXPORT ExtensionRangeOptions final : public ::google::protobuf::Message
8155 /* @@protoc_insertion_point(class_definition:google.protobuf.ExtensionRangeOptions) */ {
8156  public:
8157   inline ExtensionRangeOptions() : ExtensionRangeOptions(nullptr) {}
8158   ~ExtensionRangeOptions() PROTOBUF_FINAL;
8159 
8160 #if defined(PROTOBUF_CUSTOM_VTABLE)
8161   void operator delete(ExtensionRangeOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
8162     SharedDtor(*msg);
8163     ::google::protobuf::internal::SizedDelete(msg, sizeof(ExtensionRangeOptions));
8164   }
8165 #endif
8166 
8167   template <typename = void>
8168   explicit PROTOBUF_CONSTEXPR ExtensionRangeOptions(::google::protobuf::internal::ConstantInitialized);
8169 
8170   inline ExtensionRangeOptions(const ExtensionRangeOptions& from) : ExtensionRangeOptions(nullptr, from) {}
8171   inline ExtensionRangeOptions(ExtensionRangeOptions&& from) noexcept
8172       : ExtensionRangeOptions(nullptr, ::std::move(from)) {}
8173   inline ExtensionRangeOptions& operator=(const ExtensionRangeOptions& from) {
8174     CopyFrom(from);
8175     return *this;
8176   }
8177   inline ExtensionRangeOptions& operator=(ExtensionRangeOptions&& from) noexcept {
8178     if (this == &from) return *this;
8179     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
8180       InternalSwap(&from);
8181     } else {
8182       CopyFrom(from);
8183     }
8184     return *this;
8185   }
8186 
8187   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
8188       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8189     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
8190   }
8191   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
8192       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8193     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
8194   }
8195 
8196   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
8197     return GetDescriptor();
8198   }
8199   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
8200     return default_instance().GetMetadata().descriptor;
8201   }
8202   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
8203     return default_instance().GetMetadata().reflection;
8204   }
8205   static const ExtensionRangeOptions& default_instance() {
8206     return *reinterpret_cast<const ExtensionRangeOptions*>(
8207         &_ExtensionRangeOptions_default_instance_);
8208   }
8209   static constexpr int kIndexInFileMessages = 6;
8210   friend void swap(ExtensionRangeOptions& a, ExtensionRangeOptions& b) { a.Swap(&b); }
8211   inline void Swap(ExtensionRangeOptions* PROTOBUF_NONNULL other) {
8212     if (other == this) return;
8213     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
8214       InternalSwap(other);
8215     } else {
8216       ::google::protobuf::internal::GenericSwap(this, other);
8217     }
8218   }
8219   void UnsafeArenaSwap(ExtensionRangeOptions* PROTOBUF_NONNULL other) {
8220     if (other == this) return;
8221     ABSL_DCHECK(GetArena() == other->GetArena());
8222     InternalSwap(other);
8223   }
8224 
8225   // implements Message ----------------------------------------------
8226 
8227   ExtensionRangeOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
8228     return ::google::protobuf::Message::DefaultConstruct<ExtensionRangeOptions>(arena);
8229   }
8230   using ::google::protobuf::Message::CopyFrom;
8231   void CopyFrom(const ExtensionRangeOptions& from);
8232   using ::google::protobuf::Message::MergeFrom;
8233   void MergeFrom(const ExtensionRangeOptions& from) { ExtensionRangeOptions::MergeImpl(*this, from); }
8234 
8235   private:
8236   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
8237                         const ::google::protobuf::MessageLite& from_msg);
8238 
8239   public:
8240   bool IsInitialized() const {
8241     return IsInitializedImpl(*this);
8242   }
8243 
8244   private:
8245   static bool IsInitializedImpl(const MessageLite& msg);
8246 
8247   public:
8248   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
8249   #if defined(PROTOBUF_CUSTOM_VTABLE)
8250   private:
8251   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
8252   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8253       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
8254       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
8255 
8256   public:
8257   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
8258   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8259       ::uint8_t* PROTOBUF_NONNULL target,
8260       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
8261     return _InternalSerialize(*this, target, stream);
8262   }
8263   #else   // PROTOBUF_CUSTOM_VTABLE
8264   ::size_t ByteSizeLong() const final;
8265   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8266       ::uint8_t* PROTOBUF_NONNULL target,
8267       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
8268   #endif  // PROTOBUF_CUSTOM_VTABLE
8269   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
8270 
8271   private:
8272   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8273   static void SharedDtor(MessageLite& self);
8274   void InternalSwap(ExtensionRangeOptions* PROTOBUF_NONNULL other);
8275  private:
8276   template <typename T>
8277   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
8278   static ::absl::string_view FullMessageName() { return "google.protobuf.ExtensionRangeOptions"; }
8279 
8280  protected:
8281   explicit ExtensionRangeOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8282   ExtensionRangeOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ExtensionRangeOptions& from);
8283   ExtensionRangeOptions(
8284       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ExtensionRangeOptions&& from) noexcept
8285       : ExtensionRangeOptions(arena) {
8286     *this = ::std::move(from);
8287   }
8288   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
8289   static void* PROTOBUF_NONNULL PlacementNew_(
8290       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
8291       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8292   static constexpr auto InternalNewImpl_();
8293 
8294  public:
8295   static constexpr auto InternalGenerateClassData_();
8296 
8297   ::google::protobuf::Metadata GetMetadata() const;
8298   // nested types ----------------------------------------------------
8299   using Declaration = ExtensionRangeOptions_Declaration;
8300   using VerificationState = ExtensionRangeOptions_VerificationState;
8301   static constexpr VerificationState DECLARATION = ExtensionRangeOptions_VerificationState_DECLARATION;
8302   static constexpr VerificationState UNVERIFIED = ExtensionRangeOptions_VerificationState_UNVERIFIED;
8303   static inline bool VerificationState_IsValid(int value) {
8304     return ExtensionRangeOptions_VerificationState_IsValid(value);
8305   }
8306   static constexpr VerificationState VerificationState_MIN = ExtensionRangeOptions_VerificationState_VerificationState_MIN;
8307   static constexpr VerificationState VerificationState_MAX = ExtensionRangeOptions_VerificationState_VerificationState_MAX;
8308   static constexpr int VerificationState_ARRAYSIZE = ExtensionRangeOptions_VerificationState_VerificationState_ARRAYSIZE;
8309   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL VerificationState_descriptor() {
8310     return ExtensionRangeOptions_VerificationState_descriptor();
8311   }
8312   template <typename T>
8313   static inline const ::std::string& VerificationState_Name(T value) {
8314     return ExtensionRangeOptions_VerificationState_Name(value);
8315   }
8316   static inline bool VerificationState_Parse(
8317       ::absl::string_view name, VerificationState* PROTOBUF_NONNULL value) {
8318     return ExtensionRangeOptions_VerificationState_Parse(name, value);
8319   }
8320 
8321   // accessors -------------------------------------------------------
8322   enum : int {
8323     kDeclarationFieldNumber = 2,
8324     kUninterpretedOptionFieldNumber = 999,
8325     kFeaturesFieldNumber = 50,
8326     kVerificationFieldNumber = 3,
8327   };
8328   // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
8329   int declaration_size() const;
8330   private:
8331   int _internal_declaration_size() const;
8332 
8333   public:
8334   void clear_declaration() ;
8335   ::google::protobuf::ExtensionRangeOptions_Declaration* PROTOBUF_NONNULL mutable_declaration(int index);
8336   ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>* PROTOBUF_NONNULL mutable_declaration();
8337 
8338   private:
8339   const ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>& _internal_declaration() const;
8340   ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>* PROTOBUF_NONNULL _internal_mutable_declaration();
8341   public:
8342   const ::google::protobuf::ExtensionRangeOptions_Declaration& declaration(int index) const;
8343   ::google::protobuf::ExtensionRangeOptions_Declaration* PROTOBUF_NONNULL add_declaration();
8344   const ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>& declaration() const;
8345   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
8346   int uninterpreted_option_size() const;
8347   private:
8348   int _internal_uninterpreted_option_size() const;
8349 
8350   public:
8351   void clear_uninterpreted_option() ;
8352   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL mutable_uninterpreted_option(int index);
8353   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL mutable_uninterpreted_option();
8354 
8355   private:
8356   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
8357   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL _internal_mutable_uninterpreted_option();
8358   public:
8359   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
8360   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL add_uninterpreted_option();
8361   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
8362   // optional .google.protobuf.FeatureSet features = 50;
8363   bool has_features() const;
8364   void clear_features() ;
8365   const ::google::protobuf::FeatureSet& features() const;
8366   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_features();
8367   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_features();
8368   void set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
8369   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
8370   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_features();
8371 
8372   private:
8373   const ::google::protobuf::FeatureSet& _internal_features() const;
8374   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_features();
8375 
8376   public:
8377   // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
8378   bool has_verification() const;
8379   void clear_verification() ;
8380   ::google::protobuf::ExtensionRangeOptions_VerificationState verification() const;
8381   void set_verification(::google::protobuf::ExtensionRangeOptions_VerificationState value);
8382 
8383   private:
8384   ::google::protobuf::ExtensionRangeOptions_VerificationState _internal_verification() const;
8385   void _internal_set_verification(::google::protobuf::ExtensionRangeOptions_VerificationState value);
8386 
8387   public:
8388   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8389             bool _is_packed,
8390             typename = typename _proto_TypeTraits::Singular>
8391   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
8392       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8393                                        _field_type, _is_packed>& id) const {
8394     return _impl_._extensions_.Has(id.number());
8395   }
8396 
8397   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8398             bool _is_packed>
8399   inline void ClearExtension(
8400       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8401                                        _field_type, _is_packed>& id) {
8402     _impl_._extensions_.ClearExtension(id.number());
8403   }
8404 
8405   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8406             bool _is_packed,
8407             typename = typename _proto_TypeTraits::Repeated>
8408   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
8409       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8410                                        _field_type, _is_packed>& id) const {
8411     return _impl_._extensions_.ExtensionSize(id.number());
8412   }
8413 
8414   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8415             bool _is_packed,
8416             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
8417   PROTOBUF_FUTURE_ADD_NODISCARD inline
8418       typename _proto_TypeTraits::Singular::ConstType
8419       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
8420                    ExtensionRangeOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
8421           const {
8422     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
8423   }
8424 
8425   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8426             bool _is_packed,
8427             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
8428   PROTOBUF_FUTURE_ADD_NODISCARD inline
8429       typename _proto_TypeTraits::Singular::ConstType
8430       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
8431                    ExtensionRangeOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
8432           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8433     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
8434   }
8435 
8436   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8437             bool _is_packed>
8438   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
8439       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8440                                        _field_type, _is_packed>& id)
8441       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8442     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
8443   }
8444 
8445   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8446             bool _is_packed>
8447   inline void SetExtension(
8448       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8449                                        _field_type, _is_packed>& id,
8450       typename _proto_TypeTraits::Singular::ConstType value) {
8451     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
8452   }
8453 
8454   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8455             bool _is_packed>
8456   inline void SetAllocatedExtension(
8457       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8458                                        _field_type, _is_packed>& id,
8459       typename _proto_TypeTraits::Singular::MutableType value) {
8460     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
8461                                     &_impl_._extensions_);
8462   }
8463   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8464             bool _is_packed>
8465   inline void UnsafeArenaSetAllocatedExtension(
8466       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8467                                        _field_type, _is_packed>& id,
8468       typename _proto_TypeTraits::Singular::MutableType value) {
8469     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
8470                                                value, &_impl_._extensions_);
8471   }
8472   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8473             bool _is_packed>
8474   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
8475   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
8476                    ExtensionRangeOptions, _proto_TypeTraits, _field_type, _is_packed>& id) {
8477     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
8478   }
8479   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8480             bool _is_packed>
8481   inline typename _proto_TypeTraits::Singular::MutableType
8482   UnsafeArenaReleaseExtension(
8483       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8484                                        _field_type, _is_packed>& id) {
8485     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
8486                                                  &_impl_._extensions_);
8487   }
8488 
8489   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8490             bool _is_packed,
8491             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
8492   PROTOBUF_FUTURE_ADD_NODISCARD inline
8493       typename _proto_TypeTraits::Repeated::ConstType
8494       GetExtension(
8495           const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8496                                            _field_type, _is_packed>& id,
8497           int index) const {
8498     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
8499   }
8500 
8501   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8502             bool _is_packed,
8503             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
8504   PROTOBUF_FUTURE_ADD_NODISCARD inline
8505       typename _proto_TypeTraits::Repeated::ConstType
8506       GetExtension(
8507           const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8508                                            _field_type, _is_packed>& id,
8509           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8510     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
8511   }
8512 
8513   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8514             bool _is_packed>
8515   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
8516       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8517                                        _field_type, _is_packed>& id,
8518       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
8519     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
8520   }
8521 
8522   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8523             bool _is_packed>
8524   inline void SetExtension(
8525       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8526                                        _field_type, _is_packed>& id,
8527       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
8528     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
8529   }
8530 
8531   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8532             bool _is_packed>
8533   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
8534       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8535                                        _field_type, _is_packed>& id)
8536       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8537     typename _proto_TypeTraits::Repeated::MutableType to_add =
8538         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
8539     return to_add;
8540   }
8541 
8542   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8543             bool _is_packed>
8544   inline void AddExtension(
8545       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8546                                        _field_type, _is_packed>& id,
8547       typename _proto_TypeTraits::Repeated::ConstType value) {
8548     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
8549                            &_impl_._extensions_);
8550   }
8551 
8552   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8553             bool _is_packed>
8554   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
8555       Repeated::RepeatedFieldType&
8556       GetRepeatedExtension(
8557           const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8558                                            _field_type, _is_packed>& id)
8559           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8560     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
8561   }
8562 
8563   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8564             bool _is_packed>
8565   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
8566   MutableRepeatedExtension(
8567       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
8568                                        _field_type, _is_packed>& id)
8569       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8570     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
8571                                               _is_packed, &_impl_._extensions_);
8572   }
8573   // @@protoc_insertion_point(class_scope:google.protobuf.ExtensionRangeOptions)
8574  private:
8575   class _Internal;
8576   friend class ::google::protobuf::internal::TcParser;
8577   static const ::google::protobuf::internal::TcParseTable<3, 4,
8578                                    4, 0,
8579                                    12>
8580       _table_;
8581 
8582   friend class ::google::protobuf::MessageLite;
8583   friend class ::google::protobuf::Arena;
8584   template <typename T>
8585   friend class ::google::protobuf::Arena::InternalHelper;
8586   using InternalArenaConstructable_ = void;
8587   using DestructorSkippable_ = void;
8588   struct Impl_ {
8589     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
8590     inline explicit Impl_(
8591         ::google::protobuf::internal::InternalVisibility visibility,
8592         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8593     inline explicit Impl_(
8594         ::google::protobuf::internal::InternalVisibility visibility,
8595         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
8596         const ExtensionRangeOptions& from_msg);
8597     ::google::protobuf::internal::ExtensionSet _extensions_;
8598     ::google::protobuf::internal::HasBits<1> _has_bits_;
8599     ::google::protobuf::internal::CachedSize _cached_size_;
8600     ::google::protobuf::RepeatedPtrField< ::google::protobuf::ExtensionRangeOptions_Declaration > declaration_;
8601     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
8602     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE features_;
8603     int verification_;
8604     PROTOBUF_TSAN_DECLARE_MEMBER
8605   };
8606   union { Impl_ _impl_; };
8607   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
8608 };
8609 
8610 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions_class_data_;
8611 // -------------------------------------------------------------------
8612 
8613 class PROTOBUF_EXPORT EnumValueOptions final : public ::google::protobuf::Message
8614 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumValueOptions) */ {
8615  public:
8616   inline EnumValueOptions() : EnumValueOptions(nullptr) {}
8617   ~EnumValueOptions() PROTOBUF_FINAL;
8618 
8619 #if defined(PROTOBUF_CUSTOM_VTABLE)
8620   void operator delete(EnumValueOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
8621     SharedDtor(*msg);
8622     ::google::protobuf::internal::SizedDelete(msg, sizeof(EnumValueOptions));
8623   }
8624 #endif
8625 
8626   template <typename = void>
8627   explicit PROTOBUF_CONSTEXPR EnumValueOptions(::google::protobuf::internal::ConstantInitialized);
8628 
8629   inline EnumValueOptions(const EnumValueOptions& from) : EnumValueOptions(nullptr, from) {}
8630   inline EnumValueOptions(EnumValueOptions&& from) noexcept
8631       : EnumValueOptions(nullptr, ::std::move(from)) {}
8632   inline EnumValueOptions& operator=(const EnumValueOptions& from) {
8633     CopyFrom(from);
8634     return *this;
8635   }
8636   inline EnumValueOptions& operator=(EnumValueOptions&& from) noexcept {
8637     if (this == &from) return *this;
8638     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
8639       InternalSwap(&from);
8640     } else {
8641       CopyFrom(from);
8642     }
8643     return *this;
8644   }
8645 
8646   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
8647       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8648     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
8649   }
8650   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
8651       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8652     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
8653   }
8654 
8655   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
8656     return GetDescriptor();
8657   }
8658   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
8659     return default_instance().GetMetadata().descriptor;
8660   }
8661   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
8662     return default_instance().GetMetadata().reflection;
8663   }
8664   static const EnumValueOptions& default_instance() {
8665     return *reinterpret_cast<const EnumValueOptions*>(
8666         &_EnumValueOptions_default_instance_);
8667   }
8668   static constexpr int kIndexInFileMessages = 21;
8669   friend void swap(EnumValueOptions& a, EnumValueOptions& b) { a.Swap(&b); }
8670   inline void Swap(EnumValueOptions* PROTOBUF_NONNULL other) {
8671     if (other == this) return;
8672     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
8673       InternalSwap(other);
8674     } else {
8675       ::google::protobuf::internal::GenericSwap(this, other);
8676     }
8677   }
8678   void UnsafeArenaSwap(EnumValueOptions* PROTOBUF_NONNULL other) {
8679     if (other == this) return;
8680     ABSL_DCHECK(GetArena() == other->GetArena());
8681     InternalSwap(other);
8682   }
8683 
8684   // implements Message ----------------------------------------------
8685 
8686   EnumValueOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
8687     return ::google::protobuf::Message::DefaultConstruct<EnumValueOptions>(arena);
8688   }
8689   using ::google::protobuf::Message::CopyFrom;
8690   void CopyFrom(const EnumValueOptions& from);
8691   using ::google::protobuf::Message::MergeFrom;
8692   void MergeFrom(const EnumValueOptions& from) { EnumValueOptions::MergeImpl(*this, from); }
8693 
8694   private:
8695   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
8696                         const ::google::protobuf::MessageLite& from_msg);
8697 
8698   public:
8699   bool IsInitialized() const {
8700     return IsInitializedImpl(*this);
8701   }
8702 
8703   private:
8704   static bool IsInitializedImpl(const MessageLite& msg);
8705 
8706   public:
8707   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
8708   #if defined(PROTOBUF_CUSTOM_VTABLE)
8709   private:
8710   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
8711   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8712       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
8713       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
8714 
8715   public:
8716   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
8717   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8718       ::uint8_t* PROTOBUF_NONNULL target,
8719       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
8720     return _InternalSerialize(*this, target, stream);
8721   }
8722   #else   // PROTOBUF_CUSTOM_VTABLE
8723   ::size_t ByteSizeLong() const final;
8724   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
8725       ::uint8_t* PROTOBUF_NONNULL target,
8726       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
8727   #endif  // PROTOBUF_CUSTOM_VTABLE
8728   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
8729 
8730   private:
8731   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8732   static void SharedDtor(MessageLite& self);
8733   void InternalSwap(EnumValueOptions* PROTOBUF_NONNULL other);
8734  private:
8735   template <typename T>
8736   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
8737   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumValueOptions"; }
8738 
8739  protected:
8740   explicit EnumValueOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8741   EnumValueOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EnumValueOptions& from);
8742   EnumValueOptions(
8743       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, EnumValueOptions&& from) noexcept
8744       : EnumValueOptions(arena) {
8745     *this = ::std::move(from);
8746   }
8747   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
8748   static void* PROTOBUF_NONNULL PlacementNew_(
8749       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
8750       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
8751   static constexpr auto InternalNewImpl_();
8752 
8753  public:
8754   static constexpr auto InternalGenerateClassData_();
8755 
8756   ::google::protobuf::Metadata GetMetadata() const;
8757   // nested types ----------------------------------------------------
8758 
8759   // accessors -------------------------------------------------------
8760   enum : int {
8761     kUninterpretedOptionFieldNumber = 999,
8762     kFeaturesFieldNumber = 2,
8763     kFeatureSupportFieldNumber = 4,
8764     kDeprecatedFieldNumber = 1,
8765     kDebugRedactFieldNumber = 3,
8766   };
8767   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
8768   int uninterpreted_option_size() const;
8769   private:
8770   int _internal_uninterpreted_option_size() const;
8771 
8772   public:
8773   void clear_uninterpreted_option() ;
8774   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL mutable_uninterpreted_option(int index);
8775   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL mutable_uninterpreted_option();
8776 
8777   private:
8778   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
8779   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL _internal_mutable_uninterpreted_option();
8780   public:
8781   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
8782   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL add_uninterpreted_option();
8783   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
8784   // optional .google.protobuf.FeatureSet features = 2;
8785   bool has_features() const;
8786   void clear_features() ;
8787   const ::google::protobuf::FeatureSet& features() const;
8788   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_features();
8789   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_features();
8790   void set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
8791   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
8792   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_features();
8793 
8794   private:
8795   const ::google::protobuf::FeatureSet& _internal_features() const;
8796   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_features();
8797 
8798   public:
8799   // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
8800   bool has_feature_support() const;
8801   void clear_feature_support() ;
8802   const ::google::protobuf::FieldOptions_FeatureSupport& feature_support() const;
8803   [[nodiscard]] ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE release_feature_support();
8804   ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NONNULL mutable_feature_support();
8805   void set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE value);
8806   void unsafe_arena_set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE value);
8807   ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE unsafe_arena_release_feature_support();
8808 
8809   private:
8810   const ::google::protobuf::FieldOptions_FeatureSupport& _internal_feature_support() const;
8811   ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NONNULL _internal_mutable_feature_support();
8812 
8813   public:
8814   // optional bool deprecated = 1 [default = false];
8815   bool has_deprecated() const;
8816   void clear_deprecated() ;
8817   bool deprecated() const;
8818   void set_deprecated(bool value);
8819 
8820   private:
8821   bool _internal_deprecated() const;
8822   void _internal_set_deprecated(bool value);
8823 
8824   public:
8825   // optional bool debug_redact = 3 [default = false];
8826   bool has_debug_redact() const;
8827   void clear_debug_redact() ;
8828   bool debug_redact() const;
8829   void set_debug_redact(bool value);
8830 
8831   private:
8832   bool _internal_debug_redact() const;
8833   void _internal_set_debug_redact(bool value);
8834 
8835   public:
8836   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8837             bool _is_packed,
8838             typename = typename _proto_TypeTraits::Singular>
8839   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
8840       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8841                                        _field_type, _is_packed>& id) const {
8842     return _impl_._extensions_.Has(id.number());
8843   }
8844 
8845   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8846             bool _is_packed>
8847   inline void ClearExtension(
8848       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8849                                        _field_type, _is_packed>& id) {
8850     _impl_._extensions_.ClearExtension(id.number());
8851   }
8852 
8853   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8854             bool _is_packed,
8855             typename = typename _proto_TypeTraits::Repeated>
8856   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
8857       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8858                                        _field_type, _is_packed>& id) const {
8859     return _impl_._extensions_.ExtensionSize(id.number());
8860   }
8861 
8862   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8863             bool _is_packed,
8864             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
8865   PROTOBUF_FUTURE_ADD_NODISCARD inline
8866       typename _proto_TypeTraits::Singular::ConstType
8867       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
8868                    EnumValueOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
8869           const {
8870     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
8871   }
8872 
8873   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8874             bool _is_packed,
8875             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
8876   PROTOBUF_FUTURE_ADD_NODISCARD inline
8877       typename _proto_TypeTraits::Singular::ConstType
8878       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
8879                    EnumValueOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
8880           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8881     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
8882   }
8883 
8884   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8885             bool _is_packed>
8886   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
8887       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8888                                        _field_type, _is_packed>& id)
8889       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8890     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
8891   }
8892 
8893   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8894             bool _is_packed>
8895   inline void SetExtension(
8896       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8897                                        _field_type, _is_packed>& id,
8898       typename _proto_TypeTraits::Singular::ConstType value) {
8899     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
8900   }
8901 
8902   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8903             bool _is_packed>
8904   inline void SetAllocatedExtension(
8905       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8906                                        _field_type, _is_packed>& id,
8907       typename _proto_TypeTraits::Singular::MutableType value) {
8908     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
8909                                     &_impl_._extensions_);
8910   }
8911   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8912             bool _is_packed>
8913   inline void UnsafeArenaSetAllocatedExtension(
8914       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8915                                        _field_type, _is_packed>& id,
8916       typename _proto_TypeTraits::Singular::MutableType value) {
8917     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
8918                                                value, &_impl_._extensions_);
8919   }
8920   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8921             bool _is_packed>
8922   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
8923   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
8924                    EnumValueOptions, _proto_TypeTraits, _field_type, _is_packed>& id) {
8925     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
8926   }
8927   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8928             bool _is_packed>
8929   inline typename _proto_TypeTraits::Singular::MutableType
8930   UnsafeArenaReleaseExtension(
8931       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8932                                        _field_type, _is_packed>& id) {
8933     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
8934                                                  &_impl_._extensions_);
8935   }
8936 
8937   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8938             bool _is_packed,
8939             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
8940   PROTOBUF_FUTURE_ADD_NODISCARD inline
8941       typename _proto_TypeTraits::Repeated::ConstType
8942       GetExtension(
8943           const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8944                                            _field_type, _is_packed>& id,
8945           int index) const {
8946     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
8947   }
8948 
8949   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8950             bool _is_packed,
8951             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
8952   PROTOBUF_FUTURE_ADD_NODISCARD inline
8953       typename _proto_TypeTraits::Repeated::ConstType
8954       GetExtension(
8955           const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8956                                            _field_type, _is_packed>& id,
8957           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8958     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
8959   }
8960 
8961   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8962             bool _is_packed>
8963   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
8964       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8965                                        _field_type, _is_packed>& id,
8966       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
8967     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
8968   }
8969 
8970   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8971             bool _is_packed>
8972   inline void SetExtension(
8973       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8974                                        _field_type, _is_packed>& id,
8975       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
8976     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
8977   }
8978 
8979   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8980             bool _is_packed>
8981   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
8982       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8983                                        _field_type, _is_packed>& id)
8984       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8985     typename _proto_TypeTraits::Repeated::MutableType to_add =
8986         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
8987     return to_add;
8988   }
8989 
8990   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8991             bool _is_packed>
8992   inline void AddExtension(
8993       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8994                                        _field_type, _is_packed>& id,
8995       typename _proto_TypeTraits::Repeated::ConstType value) {
8996     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
8997                            &_impl_._extensions_);
8998   }
8999 
9000   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9001             bool _is_packed>
9002   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
9003       Repeated::RepeatedFieldType&
9004       GetRepeatedExtension(
9005           const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
9006                                            _field_type, _is_packed>& id)
9007           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9008     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
9009   }
9010 
9011   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9012             bool _is_packed>
9013   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
9014   MutableRepeatedExtension(
9015       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
9016                                        _field_type, _is_packed>& id)
9017       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9018     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
9019                                               _is_packed, &_impl_._extensions_);
9020   }
9021   // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueOptions)
9022  private:
9023   class _Internal;
9024   friend class ::google::protobuf::internal::TcParser;
9025   static const ::google::protobuf::internal::TcParseTable<3, 5,
9026                                    3, 0,
9027                                    7>
9028       _table_;
9029 
9030   friend class ::google::protobuf::MessageLite;
9031   friend class ::google::protobuf::Arena;
9032   template <typename T>
9033   friend class ::google::protobuf::Arena::InternalHelper;
9034   using InternalArenaConstructable_ = void;
9035   using DestructorSkippable_ = void;
9036   struct Impl_ {
9037     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
9038     inline explicit Impl_(
9039         ::google::protobuf::internal::InternalVisibility visibility,
9040         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9041     inline explicit Impl_(
9042         ::google::protobuf::internal::InternalVisibility visibility,
9043         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
9044         const EnumValueOptions& from_msg);
9045     ::google::protobuf::internal::ExtensionSet _extensions_;
9046     ::google::protobuf::internal::HasBits<1> _has_bits_;
9047     ::google::protobuf::internal::CachedSize _cached_size_;
9048     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
9049     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE features_;
9050     ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE feature_support_;
9051     bool deprecated_;
9052     bool debug_redact_;
9053     PROTOBUF_TSAN_DECLARE_MEMBER
9054   };
9055   union { Impl_ _impl_; };
9056   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
9057 };
9058 
9059 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumValueOptions_class_data_;
9060 // -------------------------------------------------------------------
9061 
9062 class PROTOBUF_EXPORT EnumOptions final : public ::google::protobuf::Message
9063 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumOptions) */ {
9064  public:
9065   inline EnumOptions() : EnumOptions(nullptr) {}
9066   ~EnumOptions() PROTOBUF_FINAL;
9067 
9068 #if defined(PROTOBUF_CUSTOM_VTABLE)
9069   void operator delete(EnumOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
9070     SharedDtor(*msg);
9071     ::google::protobuf::internal::SizedDelete(msg, sizeof(EnumOptions));
9072   }
9073 #endif
9074 
9075   template <typename = void>
9076   explicit PROTOBUF_CONSTEXPR EnumOptions(::google::protobuf::internal::ConstantInitialized);
9077 
9078   inline EnumOptions(const EnumOptions& from) : EnumOptions(nullptr, from) {}
9079   inline EnumOptions(EnumOptions&& from) noexcept
9080       : EnumOptions(nullptr, ::std::move(from)) {}
9081   inline EnumOptions& operator=(const EnumOptions& from) {
9082     CopyFrom(from);
9083     return *this;
9084   }
9085   inline EnumOptions& operator=(EnumOptions&& from) noexcept {
9086     if (this == &from) return *this;
9087     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
9088       InternalSwap(&from);
9089     } else {
9090       CopyFrom(from);
9091     }
9092     return *this;
9093   }
9094 
9095   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
9096       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9097     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
9098   }
9099   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
9100       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9101     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
9102   }
9103 
9104   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
9105     return GetDescriptor();
9106   }
9107   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
9108     return default_instance().GetMetadata().descriptor;
9109   }
9110   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
9111     return default_instance().GetMetadata().reflection;
9112   }
9113   static const EnumOptions& default_instance() {
9114     return *reinterpret_cast<const EnumOptions*>(
9115         &_EnumOptions_default_instance_);
9116   }
9117   static constexpr int kIndexInFileMessages = 20;
9118   friend void swap(EnumOptions& a, EnumOptions& b) { a.Swap(&b); }
9119   inline void Swap(EnumOptions* PROTOBUF_NONNULL other) {
9120     if (other == this) return;
9121     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
9122       InternalSwap(other);
9123     } else {
9124       ::google::protobuf::internal::GenericSwap(this, other);
9125     }
9126   }
9127   void UnsafeArenaSwap(EnumOptions* PROTOBUF_NONNULL other) {
9128     if (other == this) return;
9129     ABSL_DCHECK(GetArena() == other->GetArena());
9130     InternalSwap(other);
9131   }
9132 
9133   // implements Message ----------------------------------------------
9134 
9135   EnumOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
9136     return ::google::protobuf::Message::DefaultConstruct<EnumOptions>(arena);
9137   }
9138   using ::google::protobuf::Message::CopyFrom;
9139   void CopyFrom(const EnumOptions& from);
9140   using ::google::protobuf::Message::MergeFrom;
9141   void MergeFrom(const EnumOptions& from) { EnumOptions::MergeImpl(*this, from); }
9142 
9143   private:
9144   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
9145                         const ::google::protobuf::MessageLite& from_msg);
9146 
9147   public:
9148   bool IsInitialized() const {
9149     return IsInitializedImpl(*this);
9150   }
9151 
9152   private:
9153   static bool IsInitializedImpl(const MessageLite& msg);
9154 
9155   public:
9156   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
9157   #if defined(PROTOBUF_CUSTOM_VTABLE)
9158   private:
9159   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
9160   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
9161       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
9162       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
9163 
9164   public:
9165   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
9166   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
9167       ::uint8_t* PROTOBUF_NONNULL target,
9168       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
9169     return _InternalSerialize(*this, target, stream);
9170   }
9171   #else   // PROTOBUF_CUSTOM_VTABLE
9172   ::size_t ByteSizeLong() const final;
9173   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
9174       ::uint8_t* PROTOBUF_NONNULL target,
9175       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
9176   #endif  // PROTOBUF_CUSTOM_VTABLE
9177   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
9178 
9179   private:
9180   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9181   static void SharedDtor(MessageLite& self);
9182   void InternalSwap(EnumOptions* PROTOBUF_NONNULL other);
9183  private:
9184   template <typename T>
9185   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
9186   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumOptions"; }
9187 
9188  protected:
9189   explicit EnumOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9190   EnumOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EnumOptions& from);
9191   EnumOptions(
9192       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, EnumOptions&& from) noexcept
9193       : EnumOptions(arena) {
9194     *this = ::std::move(from);
9195   }
9196   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
9197   static void* PROTOBUF_NONNULL PlacementNew_(
9198       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
9199       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9200   static constexpr auto InternalNewImpl_();
9201 
9202  public:
9203   static constexpr auto InternalGenerateClassData_();
9204 
9205   ::google::protobuf::Metadata GetMetadata() const;
9206   // nested types ----------------------------------------------------
9207 
9208   // accessors -------------------------------------------------------
9209   enum : int {
9210     kUninterpretedOptionFieldNumber = 999,
9211     kFeaturesFieldNumber = 7,
9212     kAllowAliasFieldNumber = 2,
9213     kDeprecatedFieldNumber = 3,
9214     kDeprecatedLegacyJsonFieldConflictsFieldNumber = 6,
9215   };
9216   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
9217   int uninterpreted_option_size() const;
9218   private:
9219   int _internal_uninterpreted_option_size() const;
9220 
9221   public:
9222   void clear_uninterpreted_option() ;
9223   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL mutable_uninterpreted_option(int index);
9224   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL mutable_uninterpreted_option();
9225 
9226   private:
9227   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
9228   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL _internal_mutable_uninterpreted_option();
9229   public:
9230   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
9231   ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL add_uninterpreted_option();
9232   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
9233   // optional .google.protobuf.FeatureSet features = 7;
9234   bool has_features() const;
9235   void clear_features() ;
9236   const ::google::protobuf::FeatureSet& features() const;
9237   [[nodiscard]] ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE release_features();
9238   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL mutable_features();
9239   void set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
9240   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value);
9241   ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE unsafe_arena_release_features();
9242 
9243   private:
9244   const ::google::protobuf::FeatureSet& _internal_features() const;
9245   ::google::protobuf::FeatureSet* PROTOBUF_NONNULL _internal_mutable_features();
9246 
9247   public:
9248   // optional bool allow_alias = 2;
9249   bool has_allow_alias() const;
9250   void clear_allow_alias() ;
9251   bool allow_alias() const;
9252   void set_allow_alias(bool value);
9253 
9254   private:
9255   bool _internal_allow_alias() const;
9256   void _internal_set_allow_alias(bool value);
9257 
9258   public:
9259   // optional bool deprecated = 3 [default = false];
9260   bool has_deprecated() const;
9261   void clear_deprecated() ;
9262   bool deprecated() const;
9263   void set_deprecated(bool value);
9264 
9265   private:
9266   bool _internal_deprecated() const;
9267   void _internal_set_deprecated(bool value);
9268 
9269   public:
9270   // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
9271   [[deprecated]]  bool has_deprecated_legacy_json_field_conflicts() const;
9272   [[deprecated]]  void clear_deprecated_legacy_json_field_conflicts() ;
9273   [[deprecated]] bool deprecated_legacy_json_field_conflicts() const;
9274   [[deprecated]] void set_deprecated_legacy_json_field_conflicts(bool value);
9275 
9276   private:
9277   bool _internal_deprecated_legacy_json_field_conflicts() const;
9278   void _internal_set_deprecated_legacy_json_field_conflicts(bool value);
9279 
9280   public:
9281   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9282             bool _is_packed,
9283             typename = typename _proto_TypeTraits::Singular>
9284   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
9285       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9286                                        _field_type, _is_packed>& id) const {
9287     return _impl_._extensions_.Has(id.number());
9288   }
9289 
9290   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9291             bool _is_packed>
9292   inline void ClearExtension(
9293       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9294                                        _field_type, _is_packed>& id) {
9295     _impl_._extensions_.ClearExtension(id.number());
9296   }
9297 
9298   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9299             bool _is_packed,
9300             typename = typename _proto_TypeTraits::Repeated>
9301   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
9302       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9303                                        _field_type, _is_packed>& id) const {
9304     return _impl_._extensions_.ExtensionSize(id.number());
9305   }
9306 
9307   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9308             bool _is_packed,
9309             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
9310   PROTOBUF_FUTURE_ADD_NODISCARD inline
9311       typename _proto_TypeTraits::Singular::ConstType
9312       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
9313                    EnumOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
9314           const {
9315     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
9316   }
9317 
9318   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9319             bool _is_packed,
9320             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
9321   PROTOBUF_FUTURE_ADD_NODISCARD inline
9322       typename _proto_TypeTraits::Singular::ConstType
9323       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
9324                    EnumOptions, _proto_TypeTraits, _field_type, _is_packed>& id)
9325           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9326     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
9327   }
9328 
9329   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9330             bool _is_packed>
9331   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
9332       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9333                                        _field_type, _is_packed>& id)
9334       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9335     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
9336   }
9337 
9338   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9339             bool _is_packed>
9340   inline void SetExtension(
9341       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9342                                        _field_type, _is_packed>& id,
9343       typename _proto_TypeTraits::Singular::ConstType value) {
9344     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
9345   }
9346 
9347   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9348             bool _is_packed>
9349   inline void SetAllocatedExtension(
9350       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9351                                        _field_type, _is_packed>& id,
9352       typename _proto_TypeTraits::Singular::MutableType value) {
9353     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
9354                                     &_impl_._extensions_);
9355   }
9356   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9357             bool _is_packed>
9358   inline void UnsafeArenaSetAllocatedExtension(
9359       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9360                                        _field_type, _is_packed>& id,
9361       typename _proto_TypeTraits::Singular::MutableType value) {
9362     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
9363                                                value, &_impl_._extensions_);
9364   }
9365   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9366             bool _is_packed>
9367   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
9368   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
9369                    EnumOptions, _proto_TypeTraits, _field_type, _is_packed>& id) {
9370     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
9371   }
9372   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9373             bool _is_packed>
9374   inline typename _proto_TypeTraits::Singular::MutableType
9375   UnsafeArenaReleaseExtension(
9376       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9377                                        _field_type, _is_packed>& id) {
9378     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
9379                                                  &_impl_._extensions_);
9380   }
9381 
9382   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9383             bool _is_packed,
9384             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
9385   PROTOBUF_FUTURE_ADD_NODISCARD inline
9386       typename _proto_TypeTraits::Repeated::ConstType
9387       GetExtension(
9388           const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9389                                            _field_type, _is_packed>& id,
9390           int index) const {
9391     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
9392   }
9393 
9394   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9395             bool _is_packed,
9396             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
9397   PROTOBUF_FUTURE_ADD_NODISCARD inline
9398       typename _proto_TypeTraits::Repeated::ConstType
9399       GetExtension(
9400           const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9401                                            _field_type, _is_packed>& id,
9402           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9403     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
9404   }
9405 
9406   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9407             bool _is_packed>
9408   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
9409       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9410                                        _field_type, _is_packed>& id,
9411       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
9412     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
9413   }
9414 
9415   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9416             bool _is_packed>
9417   inline void SetExtension(
9418       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9419                                        _field_type, _is_packed>& id,
9420       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
9421     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
9422   }
9423 
9424   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9425             bool _is_packed>
9426   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
9427       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9428                                        _field_type, _is_packed>& id)
9429       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9430     typename _proto_TypeTraits::Repeated::MutableType to_add =
9431         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
9432     return to_add;
9433   }
9434 
9435   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9436             bool _is_packed>
9437   inline void AddExtension(
9438       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9439                                        _field_type, _is_packed>& id,
9440       typename _proto_TypeTraits::Repeated::ConstType value) {
9441     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
9442                            &_impl_._extensions_);
9443   }
9444 
9445   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9446             bool _is_packed>
9447   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
9448       Repeated::RepeatedFieldType&
9449       GetRepeatedExtension(
9450           const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9451                                            _field_type, _is_packed>& id)
9452           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
9453     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
9454   }
9455 
9456   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
9457             bool _is_packed>
9458   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
9459   MutableRepeatedExtension(
9460       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
9461                                        _field_type, _is_packed>& id)
9462       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9463     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
9464                                               _is_packed, &_impl_._extensions_);
9465   }
9466   // @@protoc_insertion_point(class_scope:google.protobuf.EnumOptions)
9467  private:
9468   class _Internal;
9469   friend class ::google::protobuf::internal::TcParser;
9470   static const ::google::protobuf::internal::TcParseTable<3, 5,
9471                                    2, 0,
9472                                    7>
9473       _table_;
9474 
9475   friend class ::google::protobuf::MessageLite;
9476   friend class ::google::protobuf::Arena;
9477   template <typename T>
9478   friend class ::google::protobuf::Arena::InternalHelper;
9479   using InternalArenaConstructable_ = void;
9480   using DestructorSkippable_ = void;
9481   struct Impl_ {
9482     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
9483     inline explicit Impl_(
9484         ::google::protobuf::internal::InternalVisibility visibility,
9485         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9486     inline explicit Impl_(
9487         ::google::protobuf::internal::InternalVisibility visibility,
9488         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
9489         const EnumOptions& from_msg);
9490     ::google::protobuf::internal::ExtensionSet _extensions_;
9491     ::google::protobuf::internal::HasBits<1> _has_bits_;
9492     ::google::protobuf::internal::CachedSize _cached_size_;
9493     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
9494     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE features_;
9495     bool allow_alias_;
9496     bool deprecated_;
9497     bool deprecated_legacy_json_field_conflicts_;
9498     PROTOBUF_TSAN_DECLARE_MEMBER
9499   };
9500   union { Impl_ _impl_; };
9501   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
9502 };
9503 
9504 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumOptions_class_data_;
9505 // -------------------------------------------------------------------
9506 
9507 class PROTOBUF_EXPORT OneofDescriptorProto final : public ::google::protobuf::Message
9508 /* @@protoc_insertion_point(class_definition:google.protobuf.OneofDescriptorProto) */ {
9509  public:
9510   inline OneofDescriptorProto() : OneofDescriptorProto(nullptr) {}
9511   ~OneofDescriptorProto() PROTOBUF_FINAL;
9512 
9513 #if defined(PROTOBUF_CUSTOM_VTABLE)
9514   void operator delete(OneofDescriptorProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
9515     SharedDtor(*msg);
9516     ::google::protobuf::internal::SizedDelete(msg, sizeof(OneofDescriptorProto));
9517   }
9518 #endif
9519 
9520   template <typename = void>
9521   explicit PROTOBUF_CONSTEXPR OneofDescriptorProto(::google::protobuf::internal::ConstantInitialized);
9522 
9523   inline OneofDescriptorProto(const OneofDescriptorProto& from) : OneofDescriptorProto(nullptr, from) {}
9524   inline OneofDescriptorProto(OneofDescriptorProto&& from) noexcept
9525       : OneofDescriptorProto(nullptr, ::std::move(from)) {}
9526   inline OneofDescriptorProto& operator=(const OneofDescriptorProto& from) {
9527     CopyFrom(from);
9528     return *this;
9529   }
9530   inline OneofDescriptorProto& operator=(OneofDescriptorProto&& from) noexcept {
9531     if (this == &from) return *this;
9532     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
9533       InternalSwap(&from);
9534     } else {
9535       CopyFrom(from);
9536     }
9537     return *this;
9538   }
9539 
9540   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
9541       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9542     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
9543   }
9544   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
9545       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9546     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
9547   }
9548 
9549   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
9550     return GetDescriptor();
9551   }
9552   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
9553     return default_instance().GetMetadata().descriptor;
9554   }
9555   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
9556     return default_instance().GetMetadata().reflection;
9557   }
9558   static const OneofDescriptorProto& default_instance() {
9559     return *reinterpret_cast<const OneofDescriptorProto*>(
9560         &_OneofDescriptorProto_default_instance_);
9561   }
9562   static constexpr int kIndexInFileMessages = 8;
9563   friend void swap(OneofDescriptorProto& a, OneofDescriptorProto& b) { a.Swap(&b); }
9564   inline void Swap(OneofDescriptorProto* PROTOBUF_NONNULL other) {
9565     if (other == this) return;
9566     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
9567       InternalSwap(other);
9568     } else {
9569       ::google::protobuf::internal::GenericSwap(this, other);
9570     }
9571   }
9572   void UnsafeArenaSwap(OneofDescriptorProto* PROTOBUF_NONNULL other) {
9573     if (other == this) return;
9574     ABSL_DCHECK(GetArena() == other->GetArena());
9575     InternalSwap(other);
9576   }
9577 
9578   // implements Message ----------------------------------------------
9579 
9580   OneofDescriptorProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
9581     return ::google::protobuf::Message::DefaultConstruct<OneofDescriptorProto>(arena);
9582   }
9583   using ::google::protobuf::Message::CopyFrom;
9584   void CopyFrom(const OneofDescriptorProto& from);
9585   using ::google::protobuf::Message::MergeFrom;
9586   void MergeFrom(const OneofDescriptorProto& from) { OneofDescriptorProto::MergeImpl(*this, from); }
9587 
9588   private:
9589   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
9590                         const ::google::protobuf::MessageLite& from_msg);
9591 
9592   public:
9593   bool IsInitialized() const {
9594     return IsInitializedImpl(*this);
9595   }
9596 
9597   private:
9598   static bool IsInitializedImpl(const MessageLite& msg);
9599 
9600   public:
9601   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
9602   #if defined(PROTOBUF_CUSTOM_VTABLE)
9603   private:
9604   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
9605   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
9606       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
9607       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
9608 
9609   public:
9610   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
9611   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
9612       ::uint8_t* PROTOBUF_NONNULL target,
9613       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
9614     return _InternalSerialize(*this, target, stream);
9615   }
9616   #else   // PROTOBUF_CUSTOM_VTABLE
9617   ::size_t ByteSizeLong() const final;
9618   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
9619       ::uint8_t* PROTOBUF_NONNULL target,
9620       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
9621   #endif  // PROTOBUF_CUSTOM_VTABLE
9622   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
9623 
9624   private:
9625   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9626   static void SharedDtor(MessageLite& self);
9627   void InternalSwap(OneofDescriptorProto* PROTOBUF_NONNULL other);
9628  private:
9629   template <typename T>
9630   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
9631   static ::absl::string_view FullMessageName() { return "google.protobuf.OneofDescriptorProto"; }
9632 
9633  protected:
9634   explicit OneofDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9635   OneofDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const OneofDescriptorProto& from);
9636   OneofDescriptorProto(
9637       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, OneofDescriptorProto&& from) noexcept
9638       : OneofDescriptorProto(arena) {
9639     *this = ::std::move(from);
9640   }
9641   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
9642   static void* PROTOBUF_NONNULL PlacementNew_(
9643       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
9644       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9645   static constexpr auto InternalNewImpl_();
9646 
9647  public:
9648   static constexpr auto InternalGenerateClassData_();
9649 
9650   ::google::protobuf::Metadata GetMetadata() const;
9651   // nested types ----------------------------------------------------
9652 
9653   // accessors -------------------------------------------------------
9654   enum : int {
9655     kNameFieldNumber = 1,
9656     kOptionsFieldNumber = 2,
9657   };
9658   // optional string name = 1;
9659   bool has_name() const;
9660   void clear_name() ;
9661   const ::std::string& name() const;
9662   template <typename Arg_ = const ::std::string&, typename... Args_>
9663   void set_name(Arg_&& arg, Args_... args);
9664   ::std::string* PROTOBUF_NONNULL mutable_name();
9665   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
9666   void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
9667 
9668   private:
9669   const ::std::string& _internal_name() const;
9670   PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
9671   ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
9672 
9673   public:
9674   // optional .google.protobuf.OneofOptions options = 2;
9675   bool has_options() const;
9676   void clear_options() ;
9677   const ::google::protobuf::OneofOptions& options() const;
9678   [[nodiscard]] ::google::protobuf::OneofOptions* PROTOBUF_NULLABLE release_options();
9679   ::google::protobuf::OneofOptions* PROTOBUF_NONNULL mutable_options();
9680   void set_allocated_options(::google::protobuf::OneofOptions* PROTOBUF_NULLABLE value);
9681   void unsafe_arena_set_allocated_options(::google::protobuf::OneofOptions* PROTOBUF_NULLABLE value);
9682   ::google::protobuf::OneofOptions* PROTOBUF_NULLABLE unsafe_arena_release_options();
9683 
9684   private:
9685   const ::google::protobuf::OneofOptions& _internal_options() const;
9686   ::google::protobuf::OneofOptions* PROTOBUF_NONNULL _internal_mutable_options();
9687 
9688   public:
9689   // @@protoc_insertion_point(class_scope:google.protobuf.OneofDescriptorProto)
9690  private:
9691   class _Internal;
9692   friend class ::google::protobuf::internal::TcParser;
9693   static const ::google::protobuf::internal::TcParseTable<1, 2,
9694                                    1, 49,
9695                                    2>
9696       _table_;
9697 
9698   friend class ::google::protobuf::MessageLite;
9699   friend class ::google::protobuf::Arena;
9700   template <typename T>
9701   friend class ::google::protobuf::Arena::InternalHelper;
9702   using InternalArenaConstructable_ = void;
9703   using DestructorSkippable_ = void;
9704   struct Impl_ {
9705     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
9706     inline explicit Impl_(
9707         ::google::protobuf::internal::InternalVisibility visibility,
9708         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9709     inline explicit Impl_(
9710         ::google::protobuf::internal::InternalVisibility visibility,
9711         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
9712         const OneofDescriptorProto& from_msg);
9713     ::google::protobuf::internal::HasBits<1> _has_bits_;
9714     ::google::protobuf::internal::CachedSize _cached_size_;
9715     ::google::protobuf::internal::ArenaStringPtr name_;
9716     ::google::protobuf::OneofOptions* PROTOBUF_NULLABLE options_;
9717     PROTOBUF_TSAN_DECLARE_MEMBER
9718   };
9719   union { Impl_ _impl_; };
9720   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
9721 };
9722 
9723 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull OneofDescriptorProto_class_data_;
9724 // -------------------------------------------------------------------
9725 
9726 class PROTOBUF_EXPORT MethodDescriptorProto final : public ::google::protobuf::Message
9727 /* @@protoc_insertion_point(class_definition:google.protobuf.MethodDescriptorProto) */ {
9728  public:
9729   inline MethodDescriptorProto() : MethodDescriptorProto(nullptr) {}
9730   ~MethodDescriptorProto() PROTOBUF_FINAL;
9731 
9732 #if defined(PROTOBUF_CUSTOM_VTABLE)
9733   void operator delete(MethodDescriptorProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
9734     SharedDtor(*msg);
9735     ::google::protobuf::internal::SizedDelete(msg, sizeof(MethodDescriptorProto));
9736   }
9737 #endif
9738 
9739   template <typename = void>
9740   explicit PROTOBUF_CONSTEXPR MethodDescriptorProto(::google::protobuf::internal::ConstantInitialized);
9741 
9742   inline MethodDescriptorProto(const MethodDescriptorProto& from) : MethodDescriptorProto(nullptr, from) {}
9743   inline MethodDescriptorProto(MethodDescriptorProto&& from) noexcept
9744       : MethodDescriptorProto(nullptr, ::std::move(from)) {}
9745   inline MethodDescriptorProto& operator=(const MethodDescriptorProto& from) {
9746     CopyFrom(from);
9747     return *this;
9748   }
9749   inline MethodDescriptorProto& operator=(MethodDescriptorProto&& from) noexcept {
9750     if (this == &from) return *this;
9751     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
9752       InternalSwap(&from);
9753     } else {
9754       CopyFrom(from);
9755     }
9756     return *this;
9757   }
9758 
9759   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
9760       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9761     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
9762   }
9763   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
9764       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9765     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
9766   }
9767 
9768   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
9769     return GetDescriptor();
9770   }
9771   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
9772     return default_instance().GetMetadata().descriptor;
9773   }
9774   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
9775     return default_instance().GetMetadata().reflection;
9776   }
9777   static const MethodDescriptorProto& default_instance() {
9778     return *reinterpret_cast<const MethodDescriptorProto*>(
9779         &_MethodDescriptorProto_default_instance_);
9780   }
9781   static constexpr int kIndexInFileMessages = 13;
9782   friend void swap(MethodDescriptorProto& a, MethodDescriptorProto& b) { a.Swap(&b); }
9783   inline void Swap(MethodDescriptorProto* PROTOBUF_NONNULL other) {
9784     if (other == this) return;
9785     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
9786       InternalSwap(other);
9787     } else {
9788       ::google::protobuf::internal::GenericSwap(this, other);
9789     }
9790   }
9791   void UnsafeArenaSwap(MethodDescriptorProto* PROTOBUF_NONNULL other) {
9792     if (other == this) return;
9793     ABSL_DCHECK(GetArena() == other->GetArena());
9794     InternalSwap(other);
9795   }
9796 
9797   // implements Message ----------------------------------------------
9798 
9799   MethodDescriptorProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
9800     return ::google::protobuf::Message::DefaultConstruct<MethodDescriptorProto>(arena);
9801   }
9802   using ::google::protobuf::Message::CopyFrom;
9803   void CopyFrom(const MethodDescriptorProto& from);
9804   using ::google::protobuf::Message::MergeFrom;
9805   void MergeFrom(const MethodDescriptorProto& from) { MethodDescriptorProto::MergeImpl(*this, from); }
9806 
9807   private:
9808   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
9809                         const ::google::protobuf::MessageLite& from_msg);
9810 
9811   public:
9812   bool IsInitialized() const {
9813     return IsInitializedImpl(*this);
9814   }
9815 
9816   private:
9817   static bool IsInitializedImpl(const MessageLite& msg);
9818 
9819   public:
9820   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
9821   #if defined(PROTOBUF_CUSTOM_VTABLE)
9822   private:
9823   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
9824   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
9825       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
9826       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
9827 
9828   public:
9829   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
9830   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
9831       ::uint8_t* PROTOBUF_NONNULL target,
9832       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
9833     return _InternalSerialize(*this, target, stream);
9834   }
9835   #else   // PROTOBUF_CUSTOM_VTABLE
9836   ::size_t ByteSizeLong() const final;
9837   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
9838       ::uint8_t* PROTOBUF_NONNULL target,
9839       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
9840   #endif  // PROTOBUF_CUSTOM_VTABLE
9841   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
9842 
9843   private:
9844   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9845   static void SharedDtor(MessageLite& self);
9846   void InternalSwap(MethodDescriptorProto* PROTOBUF_NONNULL other);
9847  private:
9848   template <typename T>
9849   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
9850   static ::absl::string_view FullMessageName() { return "google.protobuf.MethodDescriptorProto"; }
9851 
9852  protected:
9853   explicit MethodDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9854   MethodDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MethodDescriptorProto& from);
9855   MethodDescriptorProto(
9856       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MethodDescriptorProto&& from) noexcept
9857       : MethodDescriptorProto(arena) {
9858     *this = ::std::move(from);
9859   }
9860   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
9861   static void* PROTOBUF_NONNULL PlacementNew_(
9862       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
9863       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9864   static constexpr auto InternalNewImpl_();
9865 
9866  public:
9867   static constexpr auto InternalGenerateClassData_();
9868 
9869   ::google::protobuf::Metadata GetMetadata() const;
9870   // nested types ----------------------------------------------------
9871 
9872   // accessors -------------------------------------------------------
9873   enum : int {
9874     kNameFieldNumber = 1,
9875     kInputTypeFieldNumber = 2,
9876     kOutputTypeFieldNumber = 3,
9877     kOptionsFieldNumber = 4,
9878     kClientStreamingFieldNumber = 5,
9879     kServerStreamingFieldNumber = 6,
9880   };
9881   // optional string name = 1;
9882   bool has_name() const;
9883   void clear_name() ;
9884   const ::std::string& name() const;
9885   template <typename Arg_ = const ::std::string&, typename... Args_>
9886   void set_name(Arg_&& arg, Args_... args);
9887   ::std::string* PROTOBUF_NONNULL mutable_name();
9888   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
9889   void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
9890 
9891   private:
9892   const ::std::string& _internal_name() const;
9893   PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
9894   ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
9895 
9896   public:
9897   // optional string input_type = 2;
9898   bool has_input_type() const;
9899   void clear_input_type() ;
9900   const ::std::string& input_type() const;
9901   template <typename Arg_ = const ::std::string&, typename... Args_>
9902   void set_input_type(Arg_&& arg, Args_... args);
9903   ::std::string* PROTOBUF_NONNULL mutable_input_type();
9904   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_input_type();
9905   void set_allocated_input_type(::std::string* PROTOBUF_NULLABLE value);
9906 
9907   private:
9908   const ::std::string& _internal_input_type() const;
9909   PROTOBUF_ALWAYS_INLINE void _internal_set_input_type(const ::std::string& value);
9910   ::std::string* PROTOBUF_NONNULL _internal_mutable_input_type();
9911 
9912   public:
9913   // optional string output_type = 3;
9914   bool has_output_type() const;
9915   void clear_output_type() ;
9916   const ::std::string& output_type() const;
9917   template <typename Arg_ = const ::std::string&, typename... Args_>
9918   void set_output_type(Arg_&& arg, Args_... args);
9919   ::std::string* PROTOBUF_NONNULL mutable_output_type();
9920   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_output_type();
9921   void set_allocated_output_type(::std::string* PROTOBUF_NULLABLE value);
9922 
9923   private:
9924   const ::std::string& _internal_output_type() const;
9925   PROTOBUF_ALWAYS_INLINE void _internal_set_output_type(const ::std::string& value);
9926   ::std::string* PROTOBUF_NONNULL _internal_mutable_output_type();
9927 
9928   public:
9929   // optional .google.protobuf.MethodOptions options = 4;
9930   bool has_options() const;
9931   void clear_options() ;
9932   const ::google::protobuf::MethodOptions& options() const;
9933   [[nodiscard]] ::google::protobuf::MethodOptions* PROTOBUF_NULLABLE release_options();
9934   ::google::protobuf::MethodOptions* PROTOBUF_NONNULL mutable_options();
9935   void set_allocated_options(::google::protobuf::MethodOptions* PROTOBUF_NULLABLE value);
9936   void unsafe_arena_set_allocated_options(::google::protobuf::MethodOptions* PROTOBUF_NULLABLE value);
9937   ::google::protobuf::MethodOptions* PROTOBUF_NULLABLE unsafe_arena_release_options();
9938 
9939   private:
9940   const ::google::protobuf::MethodOptions& _internal_options() const;
9941   ::google::protobuf::MethodOptions* PROTOBUF_NONNULL _internal_mutable_options();
9942 
9943   public:
9944   // optional bool client_streaming = 5 [default = false];
9945   bool has_client_streaming() const;
9946   void clear_client_streaming() ;
9947   bool client_streaming() const;
9948   void set_client_streaming(bool value);
9949 
9950   private:
9951   bool _internal_client_streaming() const;
9952   void _internal_set_client_streaming(bool value);
9953 
9954   public:
9955   // optional bool server_streaming = 6 [default = false];
9956   bool has_server_streaming() const;
9957   void clear_server_streaming() ;
9958   bool server_streaming() const;
9959   void set_server_streaming(bool value);
9960 
9961   private:
9962   bool _internal_server_streaming() const;
9963   void _internal_set_server_streaming(bool value);
9964 
9965   public:
9966   // @@protoc_insertion_point(class_scope:google.protobuf.MethodDescriptorProto)
9967  private:
9968   class _Internal;
9969   friend class ::google::protobuf::internal::TcParser;
9970   static const ::google::protobuf::internal::TcParseTable<3, 6,
9971                                    1, 71,
9972                                    2>
9973       _table_;
9974 
9975   friend class ::google::protobuf::MessageLite;
9976   friend class ::google::protobuf::Arena;
9977   template <typename T>
9978   friend class ::google::protobuf::Arena::InternalHelper;
9979   using InternalArenaConstructable_ = void;
9980   using DestructorSkippable_ = void;
9981   struct Impl_ {
9982     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
9983     inline explicit Impl_(
9984         ::google::protobuf::internal::InternalVisibility visibility,
9985         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
9986     inline explicit Impl_(
9987         ::google::protobuf::internal::InternalVisibility visibility,
9988         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
9989         const MethodDescriptorProto& from_msg);
9990     ::google::protobuf::internal::HasBits<1> _has_bits_;
9991     ::google::protobuf::internal::CachedSize _cached_size_;
9992     ::google::protobuf::internal::ArenaStringPtr name_;
9993     ::google::protobuf::internal::ArenaStringPtr input_type_;
9994     ::google::protobuf::internal::ArenaStringPtr output_type_;
9995     ::google::protobuf::MethodOptions* PROTOBUF_NULLABLE options_;
9996     bool client_streaming_;
9997     bool server_streaming_;
9998     PROTOBUF_TSAN_DECLARE_MEMBER
9999   };
10000   union { Impl_ _impl_; };
10001   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
10002 };
10003 
10004 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull MethodDescriptorProto_class_data_;
10005 // -------------------------------------------------------------------
10006 
10007 class PROTOBUF_EXPORT FieldDescriptorProto final : public ::google::protobuf::Message
10008 /* @@protoc_insertion_point(class_definition:google.protobuf.FieldDescriptorProto) */ {
10009  public:
10010   inline FieldDescriptorProto() : FieldDescriptorProto(nullptr) {}
10011   ~FieldDescriptorProto() PROTOBUF_FINAL;
10012 
10013 #if defined(PROTOBUF_CUSTOM_VTABLE)
10014   void operator delete(FieldDescriptorProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
10015     SharedDtor(*msg);
10016     ::google::protobuf::internal::SizedDelete(msg, sizeof(FieldDescriptorProto));
10017   }
10018 #endif
10019 
10020   template <typename = void>
10021   explicit PROTOBUF_CONSTEXPR FieldDescriptorProto(::google::protobuf::internal::ConstantInitialized);
10022 
10023   inline FieldDescriptorProto(const FieldDescriptorProto& from) : FieldDescriptorProto(nullptr, from) {}
10024   inline FieldDescriptorProto(FieldDescriptorProto&& from) noexcept
10025       : FieldDescriptorProto(nullptr, ::std::move(from)) {}
10026   inline FieldDescriptorProto& operator=(const FieldDescriptorProto& from) {
10027     CopyFrom(from);
10028     return *this;
10029   }
10030   inline FieldDescriptorProto& operator=(FieldDescriptorProto&& from) noexcept {
10031     if (this == &from) return *this;
10032     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
10033       InternalSwap(&from);
10034     } else {
10035       CopyFrom(from);
10036     }
10037     return *this;
10038   }
10039 
10040   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
10041       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10042     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
10043   }
10044   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
10045       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10046     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
10047   }
10048 
10049   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
10050     return GetDescriptor();
10051   }
10052   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
10053     return default_instance().GetMetadata().descriptor;
10054   }
10055   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
10056     return default_instance().GetMetadata().reflection;
10057   }
10058   static const FieldDescriptorProto& default_instance() {
10059     return *reinterpret_cast<const FieldDescriptorProto*>(
10060         &_FieldDescriptorProto_default_instance_);
10061   }
10062   static constexpr int kIndexInFileMessages = 7;
10063   friend void swap(FieldDescriptorProto& a, FieldDescriptorProto& b) { a.Swap(&b); }
10064   inline void Swap(FieldDescriptorProto* PROTOBUF_NONNULL other) {
10065     if (other == this) return;
10066     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
10067       InternalSwap(other);
10068     } else {
10069       ::google::protobuf::internal::GenericSwap(this, other);
10070     }
10071   }
10072   void UnsafeArenaSwap(FieldDescriptorProto* PROTOBUF_NONNULL other) {
10073     if (other == this) return;
10074     ABSL_DCHECK(GetArena() == other->GetArena());
10075     InternalSwap(other);
10076   }
10077 
10078   // implements Message ----------------------------------------------
10079 
10080   FieldDescriptorProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
10081     return ::google::protobuf::Message::DefaultConstruct<FieldDescriptorProto>(arena);
10082   }
10083   using ::google::protobuf::Message::CopyFrom;
10084   void CopyFrom(const FieldDescriptorProto& from);
10085   using ::google::protobuf::Message::MergeFrom;
10086   void MergeFrom(const FieldDescriptorProto& from) { FieldDescriptorProto::MergeImpl(*this, from); }
10087 
10088   private:
10089   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
10090                         const ::google::protobuf::MessageLite& from_msg);
10091 
10092   public:
10093   bool IsInitialized() const {
10094     return IsInitializedImpl(*this);
10095   }
10096 
10097   private:
10098   static bool IsInitializedImpl(const MessageLite& msg);
10099 
10100   public:
10101   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
10102   #if defined(PROTOBUF_CUSTOM_VTABLE)
10103   private:
10104   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
10105   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10106       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
10107       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
10108 
10109   public:
10110   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
10111   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10112       ::uint8_t* PROTOBUF_NONNULL target,
10113       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
10114     return _InternalSerialize(*this, target, stream);
10115   }
10116   #else   // PROTOBUF_CUSTOM_VTABLE
10117   ::size_t ByteSizeLong() const final;
10118   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10119       ::uint8_t* PROTOBUF_NONNULL target,
10120       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
10121   #endif  // PROTOBUF_CUSTOM_VTABLE
10122   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
10123 
10124   private:
10125   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10126   static void SharedDtor(MessageLite& self);
10127   void InternalSwap(FieldDescriptorProto* PROTOBUF_NONNULL other);
10128  private:
10129   template <typename T>
10130   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
10131   static ::absl::string_view FullMessageName() { return "google.protobuf.FieldDescriptorProto"; }
10132 
10133  protected:
10134   explicit FieldDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10135   FieldDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FieldDescriptorProto& from);
10136   FieldDescriptorProto(
10137       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FieldDescriptorProto&& from) noexcept
10138       : FieldDescriptorProto(arena) {
10139     *this = ::std::move(from);
10140   }
10141   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
10142   static void* PROTOBUF_NONNULL PlacementNew_(
10143       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
10144       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10145   static constexpr auto InternalNewImpl_();
10146 
10147  public:
10148   static constexpr auto InternalGenerateClassData_();
10149 
10150   ::google::protobuf::Metadata GetMetadata() const;
10151   // nested types ----------------------------------------------------
10152   using Type = FieldDescriptorProto_Type;
10153   static constexpr Type TYPE_DOUBLE = FieldDescriptorProto_Type_TYPE_DOUBLE;
10154   static constexpr Type TYPE_FLOAT = FieldDescriptorProto_Type_TYPE_FLOAT;
10155   static constexpr Type TYPE_INT64 = FieldDescriptorProto_Type_TYPE_INT64;
10156   static constexpr Type TYPE_UINT64 = FieldDescriptorProto_Type_TYPE_UINT64;
10157   static constexpr Type TYPE_INT32 = FieldDescriptorProto_Type_TYPE_INT32;
10158   static constexpr Type TYPE_FIXED64 = FieldDescriptorProto_Type_TYPE_FIXED64;
10159   static constexpr Type TYPE_FIXED32 = FieldDescriptorProto_Type_TYPE_FIXED32;
10160   static constexpr Type TYPE_BOOL = FieldDescriptorProto_Type_TYPE_BOOL;
10161   static constexpr Type TYPE_STRING = FieldDescriptorProto_Type_TYPE_STRING;
10162   static constexpr Type TYPE_GROUP = FieldDescriptorProto_Type_TYPE_GROUP;
10163   static constexpr Type TYPE_MESSAGE = FieldDescriptorProto_Type_TYPE_MESSAGE;
10164   static constexpr Type TYPE_BYTES = FieldDescriptorProto_Type_TYPE_BYTES;
10165   static constexpr Type TYPE_UINT32 = FieldDescriptorProto_Type_TYPE_UINT32;
10166   static constexpr Type TYPE_ENUM = FieldDescriptorProto_Type_TYPE_ENUM;
10167   static constexpr Type TYPE_SFIXED32 = FieldDescriptorProto_Type_TYPE_SFIXED32;
10168   static constexpr Type TYPE_SFIXED64 = FieldDescriptorProto_Type_TYPE_SFIXED64;
10169   static constexpr Type TYPE_SINT32 = FieldDescriptorProto_Type_TYPE_SINT32;
10170   static constexpr Type TYPE_SINT64 = FieldDescriptorProto_Type_TYPE_SINT64;
10171   static inline bool Type_IsValid(int value) {
10172     return FieldDescriptorProto_Type_IsValid(value);
10173   }
10174   static constexpr Type Type_MIN = FieldDescriptorProto_Type_Type_MIN;
10175   static constexpr Type Type_MAX = FieldDescriptorProto_Type_Type_MAX;
10176   static constexpr int Type_ARRAYSIZE = FieldDescriptorProto_Type_Type_ARRAYSIZE;
10177   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Type_descriptor() {
10178     return FieldDescriptorProto_Type_descriptor();
10179   }
10180   template <typename T>
10181   static inline const ::std::string& Type_Name(T value) {
10182     return FieldDescriptorProto_Type_Name(value);
10183   }
10184   static inline bool Type_Parse(
10185       ::absl::string_view name, Type* PROTOBUF_NONNULL value) {
10186     return FieldDescriptorProto_Type_Parse(name, value);
10187   }
10188   using Label = FieldDescriptorProto_Label;
10189   static constexpr Label LABEL_OPTIONAL = FieldDescriptorProto_Label_LABEL_OPTIONAL;
10190   static constexpr Label LABEL_REPEATED = FieldDescriptorProto_Label_LABEL_REPEATED;
10191   static constexpr Label LABEL_REQUIRED = FieldDescriptorProto_Label_LABEL_REQUIRED;
10192   static inline bool Label_IsValid(int value) {
10193     return FieldDescriptorProto_Label_IsValid(value);
10194   }
10195   static constexpr Label Label_MIN = FieldDescriptorProto_Label_Label_MIN;
10196   static constexpr Label Label_MAX = FieldDescriptorProto_Label_Label_MAX;
10197   static constexpr int Label_ARRAYSIZE = FieldDescriptorProto_Label_Label_ARRAYSIZE;
10198   static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Label_descriptor() {
10199     return FieldDescriptorProto_Label_descriptor();
10200   }
10201   template <typename T>
10202   static inline const ::std::string& Label_Name(T value) {
10203     return FieldDescriptorProto_Label_Name(value);
10204   }
10205   static inline bool Label_Parse(
10206       ::absl::string_view name, Label* PROTOBUF_NONNULL value) {
10207     return FieldDescriptorProto_Label_Parse(name, value);
10208   }
10209 
10210   // accessors -------------------------------------------------------
10211   enum : int {
10212     kNameFieldNumber = 1,
10213     kExtendeeFieldNumber = 2,
10214     kTypeNameFieldNumber = 6,
10215     kDefaultValueFieldNumber = 7,
10216     kJsonNameFieldNumber = 10,
10217     kOptionsFieldNumber = 8,
10218     kNumberFieldNumber = 3,
10219     kOneofIndexFieldNumber = 9,
10220     kProto3OptionalFieldNumber = 17,
10221     kLabelFieldNumber = 4,
10222     kTypeFieldNumber = 5,
10223   };
10224   // optional string name = 1;
10225   bool has_name() const;
10226   void clear_name() ;
10227   const ::std::string& name() const;
10228   template <typename Arg_ = const ::std::string&, typename... Args_>
10229   void set_name(Arg_&& arg, Args_... args);
10230   ::std::string* PROTOBUF_NONNULL mutable_name();
10231   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
10232   void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
10233 
10234   private:
10235   const ::std::string& _internal_name() const;
10236   PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
10237   ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
10238 
10239   public:
10240   // optional string extendee = 2;
10241   bool has_extendee() const;
10242   void clear_extendee() ;
10243   const ::std::string& extendee() const;
10244   template <typename Arg_ = const ::std::string&, typename... Args_>
10245   void set_extendee(Arg_&& arg, Args_... args);
10246   ::std::string* PROTOBUF_NONNULL mutable_extendee();
10247   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_extendee();
10248   void set_allocated_extendee(::std::string* PROTOBUF_NULLABLE value);
10249 
10250   private:
10251   const ::std::string& _internal_extendee() const;
10252   PROTOBUF_ALWAYS_INLINE void _internal_set_extendee(const ::std::string& value);
10253   ::std::string* PROTOBUF_NONNULL _internal_mutable_extendee();
10254 
10255   public:
10256   // optional string type_name = 6;
10257   bool has_type_name() const;
10258   void clear_type_name() ;
10259   const ::std::string& type_name() const;
10260   template <typename Arg_ = const ::std::string&, typename... Args_>
10261   void set_type_name(Arg_&& arg, Args_... args);
10262   ::std::string* PROTOBUF_NONNULL mutable_type_name();
10263   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_type_name();
10264   void set_allocated_type_name(::std::string* PROTOBUF_NULLABLE value);
10265 
10266   private:
10267   const ::std::string& _internal_type_name() const;
10268   PROTOBUF_ALWAYS_INLINE void _internal_set_type_name(const ::std::string& value);
10269   ::std::string* PROTOBUF_NONNULL _internal_mutable_type_name();
10270 
10271   public:
10272   // optional string default_value = 7;
10273   bool has_default_value() const;
10274   void clear_default_value() ;
10275   const ::std::string& default_value() const;
10276   template <typename Arg_ = const ::std::string&, typename... Args_>
10277   void set_default_value(Arg_&& arg, Args_... args);
10278   ::std::string* PROTOBUF_NONNULL mutable_default_value();
10279   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_default_value();
10280   void set_allocated_default_value(::std::string* PROTOBUF_NULLABLE value);
10281 
10282   private:
10283   const ::std::string& _internal_default_value() const;
10284   PROTOBUF_ALWAYS_INLINE void _internal_set_default_value(const ::std::string& value);
10285   ::std::string* PROTOBUF_NONNULL _internal_mutable_default_value();
10286 
10287   public:
10288   // optional string json_name = 10;
10289   bool has_json_name() const;
10290   void clear_json_name() ;
10291   const ::std::string& json_name() const;
10292   template <typename Arg_ = const ::std::string&, typename... Args_>
10293   void set_json_name(Arg_&& arg, Args_... args);
10294   ::std::string* PROTOBUF_NONNULL mutable_json_name();
10295   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_json_name();
10296   void set_allocated_json_name(::std::string* PROTOBUF_NULLABLE value);
10297 
10298   private:
10299   const ::std::string& _internal_json_name() const;
10300   PROTOBUF_ALWAYS_INLINE void _internal_set_json_name(const ::std::string& value);
10301   ::std::string* PROTOBUF_NONNULL _internal_mutable_json_name();
10302 
10303   public:
10304   // optional .google.protobuf.FieldOptions options = 8;
10305   bool has_options() const;
10306   void clear_options() ;
10307   const ::google::protobuf::FieldOptions& options() const;
10308   [[nodiscard]] ::google::protobuf::FieldOptions* PROTOBUF_NULLABLE release_options();
10309   ::google::protobuf::FieldOptions* PROTOBUF_NONNULL mutable_options();
10310   void set_allocated_options(::google::protobuf::FieldOptions* PROTOBUF_NULLABLE value);
10311   void unsafe_arena_set_allocated_options(::google::protobuf::FieldOptions* PROTOBUF_NULLABLE value);
10312   ::google::protobuf::FieldOptions* PROTOBUF_NULLABLE unsafe_arena_release_options();
10313 
10314   private:
10315   const ::google::protobuf::FieldOptions& _internal_options() const;
10316   ::google::protobuf::FieldOptions* PROTOBUF_NONNULL _internal_mutable_options();
10317 
10318   public:
10319   // optional int32 number = 3;
10320   bool has_number() const;
10321   void clear_number() ;
10322   ::int32_t number() const;
10323   void set_number(::int32_t value);
10324 
10325   private:
10326   ::int32_t _internal_number() const;
10327   void _internal_set_number(::int32_t value);
10328 
10329   public:
10330   // optional int32 oneof_index = 9;
10331   bool has_oneof_index() const;
10332   void clear_oneof_index() ;
10333   ::int32_t oneof_index() const;
10334   void set_oneof_index(::int32_t value);
10335 
10336   private:
10337   ::int32_t _internal_oneof_index() const;
10338   void _internal_set_oneof_index(::int32_t value);
10339 
10340   public:
10341   // optional bool proto3_optional = 17;
10342   bool has_proto3_optional() const;
10343   void clear_proto3_optional() ;
10344   bool proto3_optional() const;
10345   void set_proto3_optional(bool value);
10346 
10347   private:
10348   bool _internal_proto3_optional() const;
10349   void _internal_set_proto3_optional(bool value);
10350 
10351   public:
10352   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
10353   bool has_label() const;
10354   void clear_label() ;
10355   ::google::protobuf::FieldDescriptorProto_Label label() const;
10356   void set_label(::google::protobuf::FieldDescriptorProto_Label value);
10357 
10358   private:
10359   ::google::protobuf::FieldDescriptorProto_Label _internal_label() const;
10360   void _internal_set_label(::google::protobuf::FieldDescriptorProto_Label value);
10361 
10362   public:
10363   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
10364   bool has_type() const;
10365   void clear_type() ;
10366   ::google::protobuf::FieldDescriptorProto_Type type() const;
10367   void set_type(::google::protobuf::FieldDescriptorProto_Type value);
10368 
10369   private:
10370   ::google::protobuf::FieldDescriptorProto_Type _internal_type() const;
10371   void _internal_set_type(::google::protobuf::FieldDescriptorProto_Type value);
10372 
10373   public:
10374   // @@protoc_insertion_point(class_scope:google.protobuf.FieldDescriptorProto)
10375  private:
10376   class _Internal;
10377   friend class ::google::protobuf::internal::TcParser;
10378   static const ::google::protobuf::internal::TcParseTable<4, 11,
10379                                    3, 96,
10380                                    2>
10381       _table_;
10382 
10383   friend class ::google::protobuf::MessageLite;
10384   friend class ::google::protobuf::Arena;
10385   template <typename T>
10386   friend class ::google::protobuf::Arena::InternalHelper;
10387   using InternalArenaConstructable_ = void;
10388   using DestructorSkippable_ = void;
10389   struct Impl_ {
10390     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
10391     inline explicit Impl_(
10392         ::google::protobuf::internal::InternalVisibility visibility,
10393         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10394     inline explicit Impl_(
10395         ::google::protobuf::internal::InternalVisibility visibility,
10396         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
10397         const FieldDescriptorProto& from_msg);
10398     ::google::protobuf::internal::HasBits<1> _has_bits_;
10399     ::google::protobuf::internal::CachedSize _cached_size_;
10400     ::google::protobuf::internal::ArenaStringPtr name_;
10401     ::google::protobuf::internal::ArenaStringPtr extendee_;
10402     ::google::protobuf::internal::ArenaStringPtr type_name_;
10403     ::google::protobuf::internal::ArenaStringPtr default_value_;
10404     ::google::protobuf::internal::ArenaStringPtr json_name_;
10405     ::google::protobuf::FieldOptions* PROTOBUF_NULLABLE options_;
10406     ::int32_t number_;
10407     ::int32_t oneof_index_;
10408     bool proto3_optional_;
10409     int label_;
10410     int type_;
10411     PROTOBUF_TSAN_DECLARE_MEMBER
10412   };
10413   union { Impl_ _impl_; };
10414   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
10415 };
10416 
10417 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FieldDescriptorProto_class_data_;
10418 // -------------------------------------------------------------------
10419 
10420 class PROTOBUF_EXPORT EnumValueDescriptorProto final : public ::google::protobuf::Message
10421 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumValueDescriptorProto) */ {
10422  public:
10423   inline EnumValueDescriptorProto() : EnumValueDescriptorProto(nullptr) {}
10424   ~EnumValueDescriptorProto() PROTOBUF_FINAL;
10425 
10426 #if defined(PROTOBUF_CUSTOM_VTABLE)
10427   void operator delete(EnumValueDescriptorProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
10428     SharedDtor(*msg);
10429     ::google::protobuf::internal::SizedDelete(msg, sizeof(EnumValueDescriptorProto));
10430   }
10431 #endif
10432 
10433   template <typename = void>
10434   explicit PROTOBUF_CONSTEXPR EnumValueDescriptorProto(::google::protobuf::internal::ConstantInitialized);
10435 
10436   inline EnumValueDescriptorProto(const EnumValueDescriptorProto& from) : EnumValueDescriptorProto(nullptr, from) {}
10437   inline EnumValueDescriptorProto(EnumValueDescriptorProto&& from) noexcept
10438       : EnumValueDescriptorProto(nullptr, ::std::move(from)) {}
10439   inline EnumValueDescriptorProto& operator=(const EnumValueDescriptorProto& from) {
10440     CopyFrom(from);
10441     return *this;
10442   }
10443   inline EnumValueDescriptorProto& operator=(EnumValueDescriptorProto&& from) noexcept {
10444     if (this == &from) return *this;
10445     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
10446       InternalSwap(&from);
10447     } else {
10448       CopyFrom(from);
10449     }
10450     return *this;
10451   }
10452 
10453   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
10454       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10455     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
10456   }
10457   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
10458       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10459     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
10460   }
10461 
10462   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
10463     return GetDescriptor();
10464   }
10465   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
10466     return default_instance().GetMetadata().descriptor;
10467   }
10468   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
10469     return default_instance().GetMetadata().reflection;
10470   }
10471   static const EnumValueDescriptorProto& default_instance() {
10472     return *reinterpret_cast<const EnumValueDescriptorProto*>(
10473         &_EnumValueDescriptorProto_default_instance_);
10474   }
10475   static constexpr int kIndexInFileMessages = 11;
10476   friend void swap(EnumValueDescriptorProto& a, EnumValueDescriptorProto& b) { a.Swap(&b); }
10477   inline void Swap(EnumValueDescriptorProto* PROTOBUF_NONNULL other) {
10478     if (other == this) return;
10479     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
10480       InternalSwap(other);
10481     } else {
10482       ::google::protobuf::internal::GenericSwap(this, other);
10483     }
10484   }
10485   void UnsafeArenaSwap(EnumValueDescriptorProto* PROTOBUF_NONNULL other) {
10486     if (other == this) return;
10487     ABSL_DCHECK(GetArena() == other->GetArena());
10488     InternalSwap(other);
10489   }
10490 
10491   // implements Message ----------------------------------------------
10492 
10493   EnumValueDescriptorProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
10494     return ::google::protobuf::Message::DefaultConstruct<EnumValueDescriptorProto>(arena);
10495   }
10496   using ::google::protobuf::Message::CopyFrom;
10497   void CopyFrom(const EnumValueDescriptorProto& from);
10498   using ::google::protobuf::Message::MergeFrom;
10499   void MergeFrom(const EnumValueDescriptorProto& from) { EnumValueDescriptorProto::MergeImpl(*this, from); }
10500 
10501   private:
10502   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
10503                         const ::google::protobuf::MessageLite& from_msg);
10504 
10505   public:
10506   bool IsInitialized() const {
10507     return IsInitializedImpl(*this);
10508   }
10509 
10510   private:
10511   static bool IsInitializedImpl(const MessageLite& msg);
10512 
10513   public:
10514   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
10515   #if defined(PROTOBUF_CUSTOM_VTABLE)
10516   private:
10517   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
10518   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10519       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
10520       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
10521 
10522   public:
10523   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
10524   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10525       ::uint8_t* PROTOBUF_NONNULL target,
10526       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
10527     return _InternalSerialize(*this, target, stream);
10528   }
10529   #else   // PROTOBUF_CUSTOM_VTABLE
10530   ::size_t ByteSizeLong() const final;
10531   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10532       ::uint8_t* PROTOBUF_NONNULL target,
10533       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
10534   #endif  // PROTOBUF_CUSTOM_VTABLE
10535   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
10536 
10537   private:
10538   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10539   static void SharedDtor(MessageLite& self);
10540   void InternalSwap(EnumValueDescriptorProto* PROTOBUF_NONNULL other);
10541  private:
10542   template <typename T>
10543   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
10544   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumValueDescriptorProto"; }
10545 
10546  protected:
10547   explicit EnumValueDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10548   EnumValueDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EnumValueDescriptorProto& from);
10549   EnumValueDescriptorProto(
10550       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, EnumValueDescriptorProto&& from) noexcept
10551       : EnumValueDescriptorProto(arena) {
10552     *this = ::std::move(from);
10553   }
10554   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
10555   static void* PROTOBUF_NONNULL PlacementNew_(
10556       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
10557       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10558   static constexpr auto InternalNewImpl_();
10559 
10560  public:
10561   static constexpr auto InternalGenerateClassData_();
10562 
10563   ::google::protobuf::Metadata GetMetadata() const;
10564   // nested types ----------------------------------------------------
10565 
10566   // accessors -------------------------------------------------------
10567   enum : int {
10568     kNameFieldNumber = 1,
10569     kOptionsFieldNumber = 3,
10570     kNumberFieldNumber = 2,
10571   };
10572   // optional string name = 1;
10573   bool has_name() const;
10574   void clear_name() ;
10575   const ::std::string& name() const;
10576   template <typename Arg_ = const ::std::string&, typename... Args_>
10577   void set_name(Arg_&& arg, Args_... args);
10578   ::std::string* PROTOBUF_NONNULL mutable_name();
10579   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
10580   void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
10581 
10582   private:
10583   const ::std::string& _internal_name() const;
10584   PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
10585   ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
10586 
10587   public:
10588   // optional .google.protobuf.EnumValueOptions options = 3;
10589   bool has_options() const;
10590   void clear_options() ;
10591   const ::google::protobuf::EnumValueOptions& options() const;
10592   [[nodiscard]] ::google::protobuf::EnumValueOptions* PROTOBUF_NULLABLE release_options();
10593   ::google::protobuf::EnumValueOptions* PROTOBUF_NONNULL mutable_options();
10594   void set_allocated_options(::google::protobuf::EnumValueOptions* PROTOBUF_NULLABLE value);
10595   void unsafe_arena_set_allocated_options(::google::protobuf::EnumValueOptions* PROTOBUF_NULLABLE value);
10596   ::google::protobuf::EnumValueOptions* PROTOBUF_NULLABLE unsafe_arena_release_options();
10597 
10598   private:
10599   const ::google::protobuf::EnumValueOptions& _internal_options() const;
10600   ::google::protobuf::EnumValueOptions* PROTOBUF_NONNULL _internal_mutable_options();
10601 
10602   public:
10603   // optional int32 number = 2;
10604   bool has_number() const;
10605   void clear_number() ;
10606   ::int32_t number() const;
10607   void set_number(::int32_t value);
10608 
10609   private:
10610   ::int32_t _internal_number() const;
10611   void _internal_set_number(::int32_t value);
10612 
10613   public:
10614   // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueDescriptorProto)
10615  private:
10616   class _Internal;
10617   friend class ::google::protobuf::internal::TcParser;
10618   static const ::google::protobuf::internal::TcParseTable<2, 3,
10619                                    1, 53,
10620                                    2>
10621       _table_;
10622 
10623   friend class ::google::protobuf::MessageLite;
10624   friend class ::google::protobuf::Arena;
10625   template <typename T>
10626   friend class ::google::protobuf::Arena::InternalHelper;
10627   using InternalArenaConstructable_ = void;
10628   using DestructorSkippable_ = void;
10629   struct Impl_ {
10630     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
10631     inline explicit Impl_(
10632         ::google::protobuf::internal::InternalVisibility visibility,
10633         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10634     inline explicit Impl_(
10635         ::google::protobuf::internal::InternalVisibility visibility,
10636         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
10637         const EnumValueDescriptorProto& from_msg);
10638     ::google::protobuf::internal::HasBits<1> _has_bits_;
10639     ::google::protobuf::internal::CachedSize _cached_size_;
10640     ::google::protobuf::internal::ArenaStringPtr name_;
10641     ::google::protobuf::EnumValueOptions* PROTOBUF_NULLABLE options_;
10642     ::int32_t number_;
10643     PROTOBUF_TSAN_DECLARE_MEMBER
10644   };
10645   union { Impl_ _impl_; };
10646   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
10647 };
10648 
10649 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumValueDescriptorProto_class_data_;
10650 // -------------------------------------------------------------------
10651 
10652 class PROTOBUF_EXPORT DescriptorProto_ExtensionRange final : public ::google::protobuf::Message
10653 /* @@protoc_insertion_point(class_definition:google.protobuf.DescriptorProto.ExtensionRange) */ {
10654  public:
10655   inline DescriptorProto_ExtensionRange() : DescriptorProto_ExtensionRange(nullptr) {}
10656   ~DescriptorProto_ExtensionRange() PROTOBUF_FINAL;
10657 
10658 #if defined(PROTOBUF_CUSTOM_VTABLE)
10659   void operator delete(DescriptorProto_ExtensionRange* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
10660     SharedDtor(*msg);
10661     ::google::protobuf::internal::SizedDelete(msg, sizeof(DescriptorProto_ExtensionRange));
10662   }
10663 #endif
10664 
10665   template <typename = void>
10666   explicit PROTOBUF_CONSTEXPR DescriptorProto_ExtensionRange(::google::protobuf::internal::ConstantInitialized);
10667 
10668   inline DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from) : DescriptorProto_ExtensionRange(nullptr, from) {}
10669   inline DescriptorProto_ExtensionRange(DescriptorProto_ExtensionRange&& from) noexcept
10670       : DescriptorProto_ExtensionRange(nullptr, ::std::move(from)) {}
10671   inline DescriptorProto_ExtensionRange& operator=(const DescriptorProto_ExtensionRange& from) {
10672     CopyFrom(from);
10673     return *this;
10674   }
10675   inline DescriptorProto_ExtensionRange& operator=(DescriptorProto_ExtensionRange&& from) noexcept {
10676     if (this == &from) return *this;
10677     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
10678       InternalSwap(&from);
10679     } else {
10680       CopyFrom(from);
10681     }
10682     return *this;
10683   }
10684 
10685   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
10686       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10687     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
10688   }
10689   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
10690       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10691     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
10692   }
10693 
10694   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
10695     return GetDescriptor();
10696   }
10697   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
10698     return default_instance().GetMetadata().descriptor;
10699   }
10700   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
10701     return default_instance().GetMetadata().reflection;
10702   }
10703   static const DescriptorProto_ExtensionRange& default_instance() {
10704     return *reinterpret_cast<const DescriptorProto_ExtensionRange*>(
10705         &_DescriptorProto_ExtensionRange_default_instance_);
10706   }
10707   static constexpr int kIndexInFileMessages = 2;
10708   friend void swap(DescriptorProto_ExtensionRange& a, DescriptorProto_ExtensionRange& b) { a.Swap(&b); }
10709   inline void Swap(DescriptorProto_ExtensionRange* PROTOBUF_NONNULL other) {
10710     if (other == this) return;
10711     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
10712       InternalSwap(other);
10713     } else {
10714       ::google::protobuf::internal::GenericSwap(this, other);
10715     }
10716   }
10717   void UnsafeArenaSwap(DescriptorProto_ExtensionRange* PROTOBUF_NONNULL other) {
10718     if (other == this) return;
10719     ABSL_DCHECK(GetArena() == other->GetArena());
10720     InternalSwap(other);
10721   }
10722 
10723   // implements Message ----------------------------------------------
10724 
10725   DescriptorProto_ExtensionRange* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
10726     return ::google::protobuf::Message::DefaultConstruct<DescriptorProto_ExtensionRange>(arena);
10727   }
10728   using ::google::protobuf::Message::CopyFrom;
10729   void CopyFrom(const DescriptorProto_ExtensionRange& from);
10730   using ::google::protobuf::Message::MergeFrom;
10731   void MergeFrom(const DescriptorProto_ExtensionRange& from) { DescriptorProto_ExtensionRange::MergeImpl(*this, from); }
10732 
10733   private:
10734   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
10735                         const ::google::protobuf::MessageLite& from_msg);
10736 
10737   public:
10738   bool IsInitialized() const {
10739     return IsInitializedImpl(*this);
10740   }
10741 
10742   private:
10743   static bool IsInitializedImpl(const MessageLite& msg);
10744 
10745   public:
10746   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
10747   #if defined(PROTOBUF_CUSTOM_VTABLE)
10748   private:
10749   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
10750   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10751       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
10752       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
10753 
10754   public:
10755   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
10756   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10757       ::uint8_t* PROTOBUF_NONNULL target,
10758       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
10759     return _InternalSerialize(*this, target, stream);
10760   }
10761   #else   // PROTOBUF_CUSTOM_VTABLE
10762   ::size_t ByteSizeLong() const final;
10763   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10764       ::uint8_t* PROTOBUF_NONNULL target,
10765       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
10766   #endif  // PROTOBUF_CUSTOM_VTABLE
10767   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
10768 
10769   private:
10770   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10771   static void SharedDtor(MessageLite& self);
10772   void InternalSwap(DescriptorProto_ExtensionRange* PROTOBUF_NONNULL other);
10773  private:
10774   template <typename T>
10775   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
10776   static ::absl::string_view FullMessageName() { return "google.protobuf.DescriptorProto.ExtensionRange"; }
10777 
10778  protected:
10779   explicit DescriptorProto_ExtensionRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10780   DescriptorProto_ExtensionRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DescriptorProto_ExtensionRange& from);
10781   DescriptorProto_ExtensionRange(
10782       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DescriptorProto_ExtensionRange&& from) noexcept
10783       : DescriptorProto_ExtensionRange(arena) {
10784     *this = ::std::move(from);
10785   }
10786   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
10787   static void* PROTOBUF_NONNULL PlacementNew_(
10788       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
10789       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10790   static constexpr auto InternalNewImpl_();
10791 
10792  public:
10793   static constexpr auto InternalGenerateClassData_();
10794 
10795   ::google::protobuf::Metadata GetMetadata() const;
10796   // nested types ----------------------------------------------------
10797 
10798   // accessors -------------------------------------------------------
10799   enum : int {
10800     kOptionsFieldNumber = 3,
10801     kStartFieldNumber = 1,
10802     kEndFieldNumber = 2,
10803   };
10804   // optional .google.protobuf.ExtensionRangeOptions options = 3;
10805   bool has_options() const;
10806   void clear_options() ;
10807   const ::google::protobuf::ExtensionRangeOptions& options() const;
10808   [[nodiscard]] ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NULLABLE release_options();
10809   ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NONNULL mutable_options();
10810   void set_allocated_options(::google::protobuf::ExtensionRangeOptions* PROTOBUF_NULLABLE value);
10811   void unsafe_arena_set_allocated_options(::google::protobuf::ExtensionRangeOptions* PROTOBUF_NULLABLE value);
10812   ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NULLABLE unsafe_arena_release_options();
10813 
10814   private:
10815   const ::google::protobuf::ExtensionRangeOptions& _internal_options() const;
10816   ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NONNULL _internal_mutable_options();
10817 
10818   public:
10819   // optional int32 start = 1;
10820   bool has_start() const;
10821   void clear_start() ;
10822   ::int32_t start() const;
10823   void set_start(::int32_t value);
10824 
10825   private:
10826   ::int32_t _internal_start() const;
10827   void _internal_set_start(::int32_t value);
10828 
10829   public:
10830   // optional int32 end = 2;
10831   bool has_end() const;
10832   void clear_end() ;
10833   ::int32_t end() const;
10834   void set_end(::int32_t value);
10835 
10836   private:
10837   ::int32_t _internal_end() const;
10838   void _internal_set_end(::int32_t value);
10839 
10840   public:
10841   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ExtensionRange)
10842  private:
10843   class _Internal;
10844   friend class ::google::protobuf::internal::TcParser;
10845   static const ::google::protobuf::internal::TcParseTable<2, 3,
10846                                    1, 0,
10847                                    2>
10848       _table_;
10849 
10850   friend class ::google::protobuf::MessageLite;
10851   friend class ::google::protobuf::Arena;
10852   template <typename T>
10853   friend class ::google::protobuf::Arena::InternalHelper;
10854   using InternalArenaConstructable_ = void;
10855   using DestructorSkippable_ = void;
10856   struct Impl_ {
10857     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
10858     inline explicit Impl_(
10859         ::google::protobuf::internal::InternalVisibility visibility,
10860         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10861     inline explicit Impl_(
10862         ::google::protobuf::internal::InternalVisibility visibility,
10863         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
10864         const DescriptorProto_ExtensionRange& from_msg);
10865     ::google::protobuf::internal::HasBits<1> _has_bits_;
10866     ::google::protobuf::internal::CachedSize _cached_size_;
10867     ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NULLABLE options_;
10868     ::int32_t start_;
10869     ::int32_t end_;
10870     PROTOBUF_TSAN_DECLARE_MEMBER
10871   };
10872   union { Impl_ _impl_; };
10873   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
10874 };
10875 
10876 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull DescriptorProto_ExtensionRange_class_data_;
10877 // -------------------------------------------------------------------
10878 
10879 class PROTOBUF_EXPORT ServiceDescriptorProto final : public ::google::protobuf::Message
10880 /* @@protoc_insertion_point(class_definition:google.protobuf.ServiceDescriptorProto) */ {
10881  public:
10882   inline ServiceDescriptorProto() : ServiceDescriptorProto(nullptr) {}
10883   ~ServiceDescriptorProto() PROTOBUF_FINAL;
10884 
10885 #if defined(PROTOBUF_CUSTOM_VTABLE)
10886   void operator delete(ServiceDescriptorProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
10887     SharedDtor(*msg);
10888     ::google::protobuf::internal::SizedDelete(msg, sizeof(ServiceDescriptorProto));
10889   }
10890 #endif
10891 
10892   template <typename = void>
10893   explicit PROTOBUF_CONSTEXPR ServiceDescriptorProto(::google::protobuf::internal::ConstantInitialized);
10894 
10895   inline ServiceDescriptorProto(const ServiceDescriptorProto& from) : ServiceDescriptorProto(nullptr, from) {}
10896   inline ServiceDescriptorProto(ServiceDescriptorProto&& from) noexcept
10897       : ServiceDescriptorProto(nullptr, ::std::move(from)) {}
10898   inline ServiceDescriptorProto& operator=(const ServiceDescriptorProto& from) {
10899     CopyFrom(from);
10900     return *this;
10901   }
10902   inline ServiceDescriptorProto& operator=(ServiceDescriptorProto&& from) noexcept {
10903     if (this == &from) return *this;
10904     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
10905       InternalSwap(&from);
10906     } else {
10907       CopyFrom(from);
10908     }
10909     return *this;
10910   }
10911 
10912   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
10913       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10914     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
10915   }
10916   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
10917       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10918     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
10919   }
10920 
10921   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
10922     return GetDescriptor();
10923   }
10924   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
10925     return default_instance().GetMetadata().descriptor;
10926   }
10927   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
10928     return default_instance().GetMetadata().reflection;
10929   }
10930   static const ServiceDescriptorProto& default_instance() {
10931     return *reinterpret_cast<const ServiceDescriptorProto*>(
10932         &_ServiceDescriptorProto_default_instance_);
10933   }
10934   static constexpr int kIndexInFileMessages = 12;
10935   friend void swap(ServiceDescriptorProto& a, ServiceDescriptorProto& b) { a.Swap(&b); }
10936   inline void Swap(ServiceDescriptorProto* PROTOBUF_NONNULL other) {
10937     if (other == this) return;
10938     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
10939       InternalSwap(other);
10940     } else {
10941       ::google::protobuf::internal::GenericSwap(this, other);
10942     }
10943   }
10944   void UnsafeArenaSwap(ServiceDescriptorProto* PROTOBUF_NONNULL other) {
10945     if (other == this) return;
10946     ABSL_DCHECK(GetArena() == other->GetArena());
10947     InternalSwap(other);
10948   }
10949 
10950   // implements Message ----------------------------------------------
10951 
10952   ServiceDescriptorProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
10953     return ::google::protobuf::Message::DefaultConstruct<ServiceDescriptorProto>(arena);
10954   }
10955   using ::google::protobuf::Message::CopyFrom;
10956   void CopyFrom(const ServiceDescriptorProto& from);
10957   using ::google::protobuf::Message::MergeFrom;
10958   void MergeFrom(const ServiceDescriptorProto& from) { ServiceDescriptorProto::MergeImpl(*this, from); }
10959 
10960   private:
10961   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
10962                         const ::google::protobuf::MessageLite& from_msg);
10963 
10964   public:
10965   bool IsInitialized() const {
10966     return IsInitializedImpl(*this);
10967   }
10968 
10969   private:
10970   static bool IsInitializedImpl(const MessageLite& msg);
10971 
10972   public:
10973   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
10974   #if defined(PROTOBUF_CUSTOM_VTABLE)
10975   private:
10976   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
10977   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10978       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
10979       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
10980 
10981   public:
10982   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
10983   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10984       ::uint8_t* PROTOBUF_NONNULL target,
10985       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
10986     return _InternalSerialize(*this, target, stream);
10987   }
10988   #else   // PROTOBUF_CUSTOM_VTABLE
10989   ::size_t ByteSizeLong() const final;
10990   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
10991       ::uint8_t* PROTOBUF_NONNULL target,
10992       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
10993   #endif  // PROTOBUF_CUSTOM_VTABLE
10994   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
10995 
10996   private:
10997   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
10998   static void SharedDtor(MessageLite& self);
10999   void InternalSwap(ServiceDescriptorProto* PROTOBUF_NONNULL other);
11000  private:
11001   template <typename T>
11002   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
11003   static ::absl::string_view FullMessageName() { return "google.protobuf.ServiceDescriptorProto"; }
11004 
11005  protected:
11006   explicit ServiceDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11007   ServiceDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ServiceDescriptorProto& from);
11008   ServiceDescriptorProto(
11009       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ServiceDescriptorProto&& from) noexcept
11010       : ServiceDescriptorProto(arena) {
11011     *this = ::std::move(from);
11012   }
11013   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
11014   static void* PROTOBUF_NONNULL PlacementNew_(
11015       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
11016       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11017   static constexpr auto InternalNewImpl_();
11018 
11019  public:
11020   static constexpr auto InternalGenerateClassData_();
11021 
11022   ::google::protobuf::Metadata GetMetadata() const;
11023   // nested types ----------------------------------------------------
11024 
11025   // accessors -------------------------------------------------------
11026   enum : int {
11027     kMethodFieldNumber = 2,
11028     kNameFieldNumber = 1,
11029     kOptionsFieldNumber = 3,
11030   };
11031   // repeated .google.protobuf.MethodDescriptorProto method = 2;
11032   int method_size() const;
11033   private:
11034   int _internal_method_size() const;
11035 
11036   public:
11037   void clear_method() ;
11038   ::google::protobuf::MethodDescriptorProto* PROTOBUF_NONNULL mutable_method(int index);
11039   ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>* PROTOBUF_NONNULL mutable_method();
11040 
11041   private:
11042   const ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>& _internal_method() const;
11043   ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_method();
11044   public:
11045   const ::google::protobuf::MethodDescriptorProto& method(int index) const;
11046   ::google::protobuf::MethodDescriptorProto* PROTOBUF_NONNULL add_method();
11047   const ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>& method() const;
11048   // optional string name = 1;
11049   bool has_name() const;
11050   void clear_name() ;
11051   const ::std::string& name() const;
11052   template <typename Arg_ = const ::std::string&, typename... Args_>
11053   void set_name(Arg_&& arg, Args_... args);
11054   ::std::string* PROTOBUF_NONNULL mutable_name();
11055   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
11056   void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
11057 
11058   private:
11059   const ::std::string& _internal_name() const;
11060   PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
11061   ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
11062 
11063   public:
11064   // optional .google.protobuf.ServiceOptions options = 3;
11065   bool has_options() const;
11066   void clear_options() ;
11067   const ::google::protobuf::ServiceOptions& options() const;
11068   [[nodiscard]] ::google::protobuf::ServiceOptions* PROTOBUF_NULLABLE release_options();
11069   ::google::protobuf::ServiceOptions* PROTOBUF_NONNULL mutable_options();
11070   void set_allocated_options(::google::protobuf::ServiceOptions* PROTOBUF_NULLABLE value);
11071   void unsafe_arena_set_allocated_options(::google::protobuf::ServiceOptions* PROTOBUF_NULLABLE value);
11072   ::google::protobuf::ServiceOptions* PROTOBUF_NULLABLE unsafe_arena_release_options();
11073 
11074   private:
11075   const ::google::protobuf::ServiceOptions& _internal_options() const;
11076   ::google::protobuf::ServiceOptions* PROTOBUF_NONNULL _internal_mutable_options();
11077 
11078   public:
11079   // @@protoc_insertion_point(class_scope:google.protobuf.ServiceDescriptorProto)
11080  private:
11081   class _Internal;
11082   friend class ::google::protobuf::internal::TcParser;
11083   static const ::google::protobuf::internal::TcParseTable<2, 3,
11084                                    2, 51,
11085                                    2>
11086       _table_;
11087 
11088   friend class ::google::protobuf::MessageLite;
11089   friend class ::google::protobuf::Arena;
11090   template <typename T>
11091   friend class ::google::protobuf::Arena::InternalHelper;
11092   using InternalArenaConstructable_ = void;
11093   using DestructorSkippable_ = void;
11094   struct Impl_ {
11095     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
11096     inline explicit Impl_(
11097         ::google::protobuf::internal::InternalVisibility visibility,
11098         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11099     inline explicit Impl_(
11100         ::google::protobuf::internal::InternalVisibility visibility,
11101         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
11102         const ServiceDescriptorProto& from_msg);
11103     ::google::protobuf::internal::HasBits<1> _has_bits_;
11104     ::google::protobuf::internal::CachedSize _cached_size_;
11105     ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto > method_;
11106     ::google::protobuf::internal::ArenaStringPtr name_;
11107     ::google::protobuf::ServiceOptions* PROTOBUF_NULLABLE options_;
11108     PROTOBUF_TSAN_DECLARE_MEMBER
11109   };
11110   union { Impl_ _impl_; };
11111   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
11112 };
11113 
11114 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ServiceDescriptorProto_class_data_;
11115 // -------------------------------------------------------------------
11116 
11117 class PROTOBUF_EXPORT EnumDescriptorProto final : public ::google::protobuf::Message
11118 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumDescriptorProto) */ {
11119  public:
11120   inline EnumDescriptorProto() : EnumDescriptorProto(nullptr) {}
11121   ~EnumDescriptorProto() PROTOBUF_FINAL;
11122 
11123 #if defined(PROTOBUF_CUSTOM_VTABLE)
11124   void operator delete(EnumDescriptorProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
11125     SharedDtor(*msg);
11126     ::google::protobuf::internal::SizedDelete(msg, sizeof(EnumDescriptorProto));
11127   }
11128 #endif
11129 
11130   template <typename = void>
11131   explicit PROTOBUF_CONSTEXPR EnumDescriptorProto(::google::protobuf::internal::ConstantInitialized);
11132 
11133   inline EnumDescriptorProto(const EnumDescriptorProto& from) : EnumDescriptorProto(nullptr, from) {}
11134   inline EnumDescriptorProto(EnumDescriptorProto&& from) noexcept
11135       : EnumDescriptorProto(nullptr, ::std::move(from)) {}
11136   inline EnumDescriptorProto& operator=(const EnumDescriptorProto& from) {
11137     CopyFrom(from);
11138     return *this;
11139   }
11140   inline EnumDescriptorProto& operator=(EnumDescriptorProto&& from) noexcept {
11141     if (this == &from) return *this;
11142     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
11143       InternalSwap(&from);
11144     } else {
11145       CopyFrom(from);
11146     }
11147     return *this;
11148   }
11149 
11150   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
11151       ABSL_ATTRIBUTE_LIFETIME_BOUND {
11152     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
11153   }
11154   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
11155       ABSL_ATTRIBUTE_LIFETIME_BOUND {
11156     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
11157   }
11158 
11159   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
11160     return GetDescriptor();
11161   }
11162   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
11163     return default_instance().GetMetadata().descriptor;
11164   }
11165   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
11166     return default_instance().GetMetadata().reflection;
11167   }
11168   static const EnumDescriptorProto& default_instance() {
11169     return *reinterpret_cast<const EnumDescriptorProto*>(
11170         &_EnumDescriptorProto_default_instance_);
11171   }
11172   static constexpr int kIndexInFileMessages = 10;
11173   friend void swap(EnumDescriptorProto& a, EnumDescriptorProto& b) { a.Swap(&b); }
11174   inline void Swap(EnumDescriptorProto* PROTOBUF_NONNULL other) {
11175     if (other == this) return;
11176     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
11177       InternalSwap(other);
11178     } else {
11179       ::google::protobuf::internal::GenericSwap(this, other);
11180     }
11181   }
11182   void UnsafeArenaSwap(EnumDescriptorProto* PROTOBUF_NONNULL other) {
11183     if (other == this) return;
11184     ABSL_DCHECK(GetArena() == other->GetArena());
11185     InternalSwap(other);
11186   }
11187 
11188   // implements Message ----------------------------------------------
11189 
11190   EnumDescriptorProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
11191     return ::google::protobuf::Message::DefaultConstruct<EnumDescriptorProto>(arena);
11192   }
11193   using ::google::protobuf::Message::CopyFrom;
11194   void CopyFrom(const EnumDescriptorProto& from);
11195   using ::google::protobuf::Message::MergeFrom;
11196   void MergeFrom(const EnumDescriptorProto& from) { EnumDescriptorProto::MergeImpl(*this, from); }
11197 
11198   private:
11199   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
11200                         const ::google::protobuf::MessageLite& from_msg);
11201 
11202   public:
11203   bool IsInitialized() const {
11204     return IsInitializedImpl(*this);
11205   }
11206 
11207   private:
11208   static bool IsInitializedImpl(const MessageLite& msg);
11209 
11210   public:
11211   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
11212   #if defined(PROTOBUF_CUSTOM_VTABLE)
11213   private:
11214   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
11215   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
11216       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
11217       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
11218 
11219   public:
11220   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
11221   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
11222       ::uint8_t* PROTOBUF_NONNULL target,
11223       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
11224     return _InternalSerialize(*this, target, stream);
11225   }
11226   #else   // PROTOBUF_CUSTOM_VTABLE
11227   ::size_t ByteSizeLong() const final;
11228   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
11229       ::uint8_t* PROTOBUF_NONNULL target,
11230       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
11231   #endif  // PROTOBUF_CUSTOM_VTABLE
11232   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
11233 
11234   private:
11235   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11236   static void SharedDtor(MessageLite& self);
11237   void InternalSwap(EnumDescriptorProto* PROTOBUF_NONNULL other);
11238  private:
11239   template <typename T>
11240   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
11241   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumDescriptorProto"; }
11242 
11243  protected:
11244   explicit EnumDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11245   EnumDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EnumDescriptorProto& from);
11246   EnumDescriptorProto(
11247       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, EnumDescriptorProto&& from) noexcept
11248       : EnumDescriptorProto(arena) {
11249     *this = ::std::move(from);
11250   }
11251   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
11252   static void* PROTOBUF_NONNULL PlacementNew_(
11253       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
11254       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11255   static constexpr auto InternalNewImpl_();
11256 
11257  public:
11258   static constexpr auto InternalGenerateClassData_();
11259 
11260   ::google::protobuf::Metadata GetMetadata() const;
11261   // nested types ----------------------------------------------------
11262   using EnumReservedRange = EnumDescriptorProto_EnumReservedRange;
11263 
11264   // accessors -------------------------------------------------------
11265   enum : int {
11266     kValueFieldNumber = 2,
11267     kReservedRangeFieldNumber = 4,
11268     kReservedNameFieldNumber = 5,
11269     kNameFieldNumber = 1,
11270     kOptionsFieldNumber = 3,
11271     kVisibilityFieldNumber = 6,
11272   };
11273   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
11274   int value_size() const;
11275   private:
11276   int _internal_value_size() const;
11277 
11278   public:
11279   void clear_value() ;
11280   ::google::protobuf::EnumValueDescriptorProto* PROTOBUF_NONNULL mutable_value(int index);
11281   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>* PROTOBUF_NONNULL mutable_value();
11282 
11283   private:
11284   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>& _internal_value() const;
11285   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_value();
11286   public:
11287   const ::google::protobuf::EnumValueDescriptorProto& value(int index) const;
11288   ::google::protobuf::EnumValueDescriptorProto* PROTOBUF_NONNULL add_value();
11289   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>& value() const;
11290   // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
11291   int reserved_range_size() const;
11292   private:
11293   int _internal_reserved_range_size() const;
11294 
11295   public:
11296   void clear_reserved_range() ;
11297   ::google::protobuf::EnumDescriptorProto_EnumReservedRange* PROTOBUF_NONNULL mutable_reserved_range(int index);
11298   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>* PROTOBUF_NONNULL mutable_reserved_range();
11299 
11300   private:
11301   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>& _internal_reserved_range() const;
11302   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>* PROTOBUF_NONNULL _internal_mutable_reserved_range();
11303   public:
11304   const ::google::protobuf::EnumDescriptorProto_EnumReservedRange& reserved_range(int index) const;
11305   ::google::protobuf::EnumDescriptorProto_EnumReservedRange* PROTOBUF_NONNULL add_reserved_range();
11306   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>& reserved_range() const;
11307   // repeated string reserved_name = 5;
11308   int reserved_name_size() const;
11309   private:
11310   int _internal_reserved_name_size() const;
11311 
11312   public:
11313   void clear_reserved_name() ;
11314   const ::std::string& reserved_name(int index) const;
11315   ::std::string* PROTOBUF_NONNULL mutable_reserved_name(int index);
11316   template <typename Arg_ = const ::std::string&, typename... Args_>
11317   void set_reserved_name(int index, Arg_&& value, Args_... args);
11318   ::std::string* PROTOBUF_NONNULL add_reserved_name();
11319   template <typename Arg_ = const ::std::string&, typename... Args_>
11320   void add_reserved_name(Arg_&& value, Args_... args);
11321   const ::google::protobuf::RepeatedPtrField<::std::string>& reserved_name() const;
11322   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_reserved_name();
11323 
11324   private:
11325   const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_reserved_name() const;
11326   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_reserved_name();
11327 
11328   public:
11329   // optional string name = 1;
11330   bool has_name() const;
11331   void clear_name() ;
11332   const ::std::string& name() const;
11333   template <typename Arg_ = const ::std::string&, typename... Args_>
11334   void set_name(Arg_&& arg, Args_... args);
11335   ::std::string* PROTOBUF_NONNULL mutable_name();
11336   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
11337   void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
11338 
11339   private:
11340   const ::std::string& _internal_name() const;
11341   PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
11342   ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
11343 
11344   public:
11345   // optional .google.protobuf.EnumOptions options = 3;
11346   bool has_options() const;
11347   void clear_options() ;
11348   const ::google::protobuf::EnumOptions& options() const;
11349   [[nodiscard]] ::google::protobuf::EnumOptions* PROTOBUF_NULLABLE release_options();
11350   ::google::protobuf::EnumOptions* PROTOBUF_NONNULL mutable_options();
11351   void set_allocated_options(::google::protobuf::EnumOptions* PROTOBUF_NULLABLE value);
11352   void unsafe_arena_set_allocated_options(::google::protobuf::EnumOptions* PROTOBUF_NULLABLE value);
11353   ::google::protobuf::EnumOptions* PROTOBUF_NULLABLE unsafe_arena_release_options();
11354 
11355   private:
11356   const ::google::protobuf::EnumOptions& _internal_options() const;
11357   ::google::protobuf::EnumOptions* PROTOBUF_NONNULL _internal_mutable_options();
11358 
11359   public:
11360   // optional .google.protobuf.SymbolVisibility visibility = 6;
11361   bool has_visibility() const;
11362   void clear_visibility() ;
11363   ::google::protobuf::SymbolVisibility visibility() const;
11364   void set_visibility(::google::protobuf::SymbolVisibility value);
11365 
11366   private:
11367   ::google::protobuf::SymbolVisibility _internal_visibility() const;
11368   void _internal_set_visibility(::google::protobuf::SymbolVisibility value);
11369 
11370   public:
11371   // @@protoc_insertion_point(class_scope:google.protobuf.EnumDescriptorProto)
11372  private:
11373   class _Internal;
11374   friend class ::google::protobuf::internal::TcParser;
11375   static const ::google::protobuf::internal::TcParseTable<3, 6,
11376                                    4, 61,
11377                                    2>
11378       _table_;
11379 
11380   friend class ::google::protobuf::MessageLite;
11381   friend class ::google::protobuf::Arena;
11382   template <typename T>
11383   friend class ::google::protobuf::Arena::InternalHelper;
11384   using InternalArenaConstructable_ = void;
11385   using DestructorSkippable_ = void;
11386   struct Impl_ {
11387     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
11388     inline explicit Impl_(
11389         ::google::protobuf::internal::InternalVisibility visibility,
11390         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11391     inline explicit Impl_(
11392         ::google::protobuf::internal::InternalVisibility visibility,
11393         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
11394         const EnumDescriptorProto& from_msg);
11395     ::google::protobuf::internal::HasBits<1> _has_bits_;
11396     ::google::protobuf::internal::CachedSize _cached_size_;
11397     ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto > value_;
11398     ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto_EnumReservedRange > reserved_range_;
11399     ::google::protobuf::RepeatedPtrField<::std::string> reserved_name_;
11400     ::google::protobuf::internal::ArenaStringPtr name_;
11401     ::google::protobuf::EnumOptions* PROTOBUF_NULLABLE options_;
11402     int visibility_;
11403     PROTOBUF_TSAN_DECLARE_MEMBER
11404   };
11405   union { Impl_ _impl_; };
11406   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
11407 };
11408 
11409 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull EnumDescriptorProto_class_data_;
11410 // -------------------------------------------------------------------
11411 
11412 class PROTOBUF_EXPORT DescriptorProto final : public ::google::protobuf::Message
11413 /* @@protoc_insertion_point(class_definition:google.protobuf.DescriptorProto) */ {
11414  public:
11415   inline DescriptorProto() : DescriptorProto(nullptr) {}
11416   ~DescriptorProto() PROTOBUF_FINAL;
11417 
11418 #if defined(PROTOBUF_CUSTOM_VTABLE)
11419   void operator delete(DescriptorProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
11420     SharedDtor(*msg);
11421     ::google::protobuf::internal::SizedDelete(msg, sizeof(DescriptorProto));
11422   }
11423 #endif
11424 
11425   template <typename = void>
11426   explicit PROTOBUF_CONSTEXPR DescriptorProto(::google::protobuf::internal::ConstantInitialized);
11427 
11428   inline DescriptorProto(const DescriptorProto& from) : DescriptorProto(nullptr, from) {}
11429   inline DescriptorProto(DescriptorProto&& from) noexcept
11430       : DescriptorProto(nullptr, ::std::move(from)) {}
11431   inline DescriptorProto& operator=(const DescriptorProto& from) {
11432     CopyFrom(from);
11433     return *this;
11434   }
11435   inline DescriptorProto& operator=(DescriptorProto&& from) noexcept {
11436     if (this == &from) return *this;
11437     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
11438       InternalSwap(&from);
11439     } else {
11440       CopyFrom(from);
11441     }
11442     return *this;
11443   }
11444 
11445   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
11446       ABSL_ATTRIBUTE_LIFETIME_BOUND {
11447     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
11448   }
11449   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
11450       ABSL_ATTRIBUTE_LIFETIME_BOUND {
11451     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
11452   }
11453 
11454   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
11455     return GetDescriptor();
11456   }
11457   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
11458     return default_instance().GetMetadata().descriptor;
11459   }
11460   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
11461     return default_instance().GetMetadata().reflection;
11462   }
11463   static const DescriptorProto& default_instance() {
11464     return *reinterpret_cast<const DescriptorProto*>(
11465         &_DescriptorProto_default_instance_);
11466   }
11467   static constexpr int kIndexInFileMessages = 4;
11468   friend void swap(DescriptorProto& a, DescriptorProto& b) { a.Swap(&b); }
11469   inline void Swap(DescriptorProto* PROTOBUF_NONNULL other) {
11470     if (other == this) return;
11471     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
11472       InternalSwap(other);
11473     } else {
11474       ::google::protobuf::internal::GenericSwap(this, other);
11475     }
11476   }
11477   void UnsafeArenaSwap(DescriptorProto* PROTOBUF_NONNULL other) {
11478     if (other == this) return;
11479     ABSL_DCHECK(GetArena() == other->GetArena());
11480     InternalSwap(other);
11481   }
11482 
11483   // implements Message ----------------------------------------------
11484 
11485   DescriptorProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
11486     return ::google::protobuf::Message::DefaultConstruct<DescriptorProto>(arena);
11487   }
11488   using ::google::protobuf::Message::CopyFrom;
11489   void CopyFrom(const DescriptorProto& from);
11490   using ::google::protobuf::Message::MergeFrom;
11491   void MergeFrom(const DescriptorProto& from) { DescriptorProto::MergeImpl(*this, from); }
11492 
11493   private:
11494   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
11495                         const ::google::protobuf::MessageLite& from_msg);
11496 
11497   public:
11498   bool IsInitialized() const {
11499     return IsInitializedImpl(*this);
11500   }
11501 
11502   private:
11503   static bool IsInitializedImpl(const MessageLite& msg);
11504 
11505   public:
11506   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
11507   #if defined(PROTOBUF_CUSTOM_VTABLE)
11508   private:
11509   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
11510   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
11511       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
11512       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
11513 
11514   public:
11515   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
11516   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
11517       ::uint8_t* PROTOBUF_NONNULL target,
11518       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
11519     return _InternalSerialize(*this, target, stream);
11520   }
11521   #else   // PROTOBUF_CUSTOM_VTABLE
11522   ::size_t ByteSizeLong() const final;
11523   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
11524       ::uint8_t* PROTOBUF_NONNULL target,
11525       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
11526   #endif  // PROTOBUF_CUSTOM_VTABLE
11527   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
11528 
11529   private:
11530   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11531   static void SharedDtor(MessageLite& self);
11532   void InternalSwap(DescriptorProto* PROTOBUF_NONNULL other);
11533  private:
11534   template <typename T>
11535   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
11536   static ::absl::string_view FullMessageName() { return "google.protobuf.DescriptorProto"; }
11537 
11538  protected:
11539   explicit DescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11540   DescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DescriptorProto& from);
11541   DescriptorProto(
11542       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DescriptorProto&& from) noexcept
11543       : DescriptorProto(arena) {
11544     *this = ::std::move(from);
11545   }
11546   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
11547   static void* PROTOBUF_NONNULL PlacementNew_(
11548       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
11549       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11550   static constexpr auto InternalNewImpl_();
11551 
11552  public:
11553   static constexpr auto InternalGenerateClassData_();
11554 
11555   ::google::protobuf::Metadata GetMetadata() const;
11556   // nested types ----------------------------------------------------
11557   using ExtensionRange = DescriptorProto_ExtensionRange;
11558   using ReservedRange = DescriptorProto_ReservedRange;
11559 
11560   // accessors -------------------------------------------------------
11561   enum : int {
11562     kFieldFieldNumber = 2,
11563     kNestedTypeFieldNumber = 3,
11564     kEnumTypeFieldNumber = 4,
11565     kExtensionRangeFieldNumber = 5,
11566     kExtensionFieldNumber = 6,
11567     kOneofDeclFieldNumber = 8,
11568     kReservedRangeFieldNumber = 9,
11569     kReservedNameFieldNumber = 10,
11570     kNameFieldNumber = 1,
11571     kOptionsFieldNumber = 7,
11572     kVisibilityFieldNumber = 11,
11573   };
11574   // repeated .google.protobuf.FieldDescriptorProto field = 2;
11575   int field_size() const;
11576   private:
11577   int _internal_field_size() const;
11578 
11579   public:
11580   void clear_field() ;
11581   ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL mutable_field(int index);
11582   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL mutable_field();
11583 
11584   private:
11585   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& _internal_field() const;
11586   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_field();
11587   public:
11588   const ::google::protobuf::FieldDescriptorProto& field(int index) const;
11589   ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL add_field();
11590   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& field() const;
11591   // repeated .google.protobuf.DescriptorProto nested_type = 3;
11592   int nested_type_size() const;
11593   private:
11594   int _internal_nested_type_size() const;
11595 
11596   public:
11597   void clear_nested_type() ;
11598   ::google::protobuf::DescriptorProto* PROTOBUF_NONNULL mutable_nested_type(int index);
11599   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* PROTOBUF_NONNULL mutable_nested_type();
11600 
11601   private:
11602   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& _internal_nested_type() const;
11603   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* PROTOBUF_NONNULL _internal_mutable_nested_type();
11604   public:
11605   const ::google::protobuf::DescriptorProto& nested_type(int index) const;
11606   ::google::protobuf::DescriptorProto* PROTOBUF_NONNULL add_nested_type();
11607   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& nested_type() const;
11608   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
11609   int enum_type_size() const;
11610   private:
11611   int _internal_enum_type_size() const;
11612 
11613   public:
11614   void clear_enum_type() ;
11615   ::google::protobuf::EnumDescriptorProto* PROTOBUF_NONNULL mutable_enum_type(int index);
11616   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* PROTOBUF_NONNULL mutable_enum_type();
11617 
11618   private:
11619   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& _internal_enum_type() const;
11620   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_enum_type();
11621   public:
11622   const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const;
11623   ::google::protobuf::EnumDescriptorProto* PROTOBUF_NONNULL add_enum_type();
11624   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& enum_type() const;
11625   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
11626   int extension_range_size() const;
11627   private:
11628   int _internal_extension_range_size() const;
11629 
11630   public:
11631   void clear_extension_range() ;
11632   ::google::protobuf::DescriptorProto_ExtensionRange* PROTOBUF_NONNULL mutable_extension_range(int index);
11633   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>* PROTOBUF_NONNULL mutable_extension_range();
11634 
11635   private:
11636   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>& _internal_extension_range() const;
11637   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>* PROTOBUF_NONNULL _internal_mutable_extension_range();
11638   public:
11639   const ::google::protobuf::DescriptorProto_ExtensionRange& extension_range(int index) const;
11640   ::google::protobuf::DescriptorProto_ExtensionRange* PROTOBUF_NONNULL add_extension_range();
11641   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>& extension_range() const;
11642   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
11643   int extension_size() const;
11644   private:
11645   int _internal_extension_size() const;
11646 
11647   public:
11648   void clear_extension() ;
11649   ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL mutable_extension(int index);
11650   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL mutable_extension();
11651 
11652   private:
11653   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& _internal_extension() const;
11654   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_extension();
11655   public:
11656   const ::google::protobuf::FieldDescriptorProto& extension(int index) const;
11657   ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL add_extension();
11658   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& extension() const;
11659   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
11660   int oneof_decl_size() const;
11661   private:
11662   int _internal_oneof_decl_size() const;
11663 
11664   public:
11665   void clear_oneof_decl() ;
11666   ::google::protobuf::OneofDescriptorProto* PROTOBUF_NONNULL mutable_oneof_decl(int index);
11667   ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>* PROTOBUF_NONNULL mutable_oneof_decl();
11668 
11669   private:
11670   const ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>& _internal_oneof_decl() const;
11671   ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_oneof_decl();
11672   public:
11673   const ::google::protobuf::OneofDescriptorProto& oneof_decl(int index) const;
11674   ::google::protobuf::OneofDescriptorProto* PROTOBUF_NONNULL add_oneof_decl();
11675   const ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>& oneof_decl() const;
11676   // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
11677   int reserved_range_size() const;
11678   private:
11679   int _internal_reserved_range_size() const;
11680 
11681   public:
11682   void clear_reserved_range() ;
11683   ::google::protobuf::DescriptorProto_ReservedRange* PROTOBUF_NONNULL mutable_reserved_range(int index);
11684   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>* PROTOBUF_NONNULL mutable_reserved_range();
11685 
11686   private:
11687   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>& _internal_reserved_range() const;
11688   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>* PROTOBUF_NONNULL _internal_mutable_reserved_range();
11689   public:
11690   const ::google::protobuf::DescriptorProto_ReservedRange& reserved_range(int index) const;
11691   ::google::protobuf::DescriptorProto_ReservedRange* PROTOBUF_NONNULL add_reserved_range();
11692   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>& reserved_range() const;
11693   // repeated string reserved_name = 10;
11694   int reserved_name_size() const;
11695   private:
11696   int _internal_reserved_name_size() const;
11697 
11698   public:
11699   void clear_reserved_name() ;
11700   const ::std::string& reserved_name(int index) const;
11701   ::std::string* PROTOBUF_NONNULL mutable_reserved_name(int index);
11702   template <typename Arg_ = const ::std::string&, typename... Args_>
11703   void set_reserved_name(int index, Arg_&& value, Args_... args);
11704   ::std::string* PROTOBUF_NONNULL add_reserved_name();
11705   template <typename Arg_ = const ::std::string&, typename... Args_>
11706   void add_reserved_name(Arg_&& value, Args_... args);
11707   const ::google::protobuf::RepeatedPtrField<::std::string>& reserved_name() const;
11708   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_reserved_name();
11709 
11710   private:
11711   const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_reserved_name() const;
11712   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_reserved_name();
11713 
11714   public:
11715   // optional string name = 1;
11716   bool has_name() const;
11717   void clear_name() ;
11718   const ::std::string& name() const;
11719   template <typename Arg_ = const ::std::string&, typename... Args_>
11720   void set_name(Arg_&& arg, Args_... args);
11721   ::std::string* PROTOBUF_NONNULL mutable_name();
11722   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
11723   void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
11724 
11725   private:
11726   const ::std::string& _internal_name() const;
11727   PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
11728   ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
11729 
11730   public:
11731   // optional .google.protobuf.MessageOptions options = 7;
11732   bool has_options() const;
11733   void clear_options() ;
11734   const ::google::protobuf::MessageOptions& options() const;
11735   [[nodiscard]] ::google::protobuf::MessageOptions* PROTOBUF_NULLABLE release_options();
11736   ::google::protobuf::MessageOptions* PROTOBUF_NONNULL mutable_options();
11737   void set_allocated_options(::google::protobuf::MessageOptions* PROTOBUF_NULLABLE value);
11738   void unsafe_arena_set_allocated_options(::google::protobuf::MessageOptions* PROTOBUF_NULLABLE value);
11739   ::google::protobuf::MessageOptions* PROTOBUF_NULLABLE unsafe_arena_release_options();
11740 
11741   private:
11742   const ::google::protobuf::MessageOptions& _internal_options() const;
11743   ::google::protobuf::MessageOptions* PROTOBUF_NONNULL _internal_mutable_options();
11744 
11745   public:
11746   // optional .google.protobuf.SymbolVisibility visibility = 11;
11747   bool has_visibility() const;
11748   void clear_visibility() ;
11749   ::google::protobuf::SymbolVisibility visibility() const;
11750   void set_visibility(::google::protobuf::SymbolVisibility value);
11751 
11752   private:
11753   ::google::protobuf::SymbolVisibility _internal_visibility() const;
11754   void _internal_set_visibility(::google::protobuf::SymbolVisibility value);
11755 
11756   public:
11757   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto)
11758  private:
11759   class _Internal;
11760   friend class ::google::protobuf::internal::TcParser;
11761   static const ::google::protobuf::internal::TcParseTable<4, 11,
11762                                    9, 65,
11763                                    2>
11764       _table_;
11765 
11766   friend class ::google::protobuf::MessageLite;
11767   friend class ::google::protobuf::Arena;
11768   template <typename T>
11769   friend class ::google::protobuf::Arena::InternalHelper;
11770   using InternalArenaConstructable_ = void;
11771   using DestructorSkippable_ = void;
11772   struct Impl_ {
11773     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
11774     inline explicit Impl_(
11775         ::google::protobuf::internal::InternalVisibility visibility,
11776         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11777     inline explicit Impl_(
11778         ::google::protobuf::internal::InternalVisibility visibility,
11779         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
11780         const DescriptorProto& from_msg);
11781     ::google::protobuf::internal::HasBits<1> _has_bits_;
11782     ::google::protobuf::internal::CachedSize _cached_size_;
11783     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > field_;
11784     ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > nested_type_;
11785     ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_;
11786     ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange > extension_range_;
11787     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_;
11788     ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto > oneof_decl_;
11789     ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ReservedRange > reserved_range_;
11790     ::google::protobuf::RepeatedPtrField<::std::string> reserved_name_;
11791     ::google::protobuf::internal::ArenaStringPtr name_;
11792     ::google::protobuf::MessageOptions* PROTOBUF_NULLABLE options_;
11793     int visibility_;
11794     PROTOBUF_TSAN_DECLARE_MEMBER
11795   };
11796   union { Impl_ _impl_; };
11797   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
11798 };
11799 
11800 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull DescriptorProto_class_data_;
11801 // -------------------------------------------------------------------
11802 
11803 class PROTOBUF_EXPORT FileDescriptorProto final : public ::google::protobuf::Message
11804 /* @@protoc_insertion_point(class_definition:google.protobuf.FileDescriptorProto) */ {
11805  public:
11806   inline FileDescriptorProto() : FileDescriptorProto(nullptr) {}
11807   ~FileDescriptorProto() PROTOBUF_FINAL;
11808 
11809 #if defined(PROTOBUF_CUSTOM_VTABLE)
11810   void operator delete(FileDescriptorProto* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
11811     SharedDtor(*msg);
11812     ::google::protobuf::internal::SizedDelete(msg, sizeof(FileDescriptorProto));
11813   }
11814 #endif
11815 
11816   template <typename = void>
11817   explicit PROTOBUF_CONSTEXPR FileDescriptorProto(::google::protobuf::internal::ConstantInitialized);
11818 
11819   inline FileDescriptorProto(const FileDescriptorProto& from) : FileDescriptorProto(nullptr, from) {}
11820   inline FileDescriptorProto(FileDescriptorProto&& from) noexcept
11821       : FileDescriptorProto(nullptr, ::std::move(from)) {}
11822   inline FileDescriptorProto& operator=(const FileDescriptorProto& from) {
11823     CopyFrom(from);
11824     return *this;
11825   }
11826   inline FileDescriptorProto& operator=(FileDescriptorProto&& from) noexcept {
11827     if (this == &from) return *this;
11828     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
11829       InternalSwap(&from);
11830     } else {
11831       CopyFrom(from);
11832     }
11833     return *this;
11834   }
11835 
11836   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
11837       ABSL_ATTRIBUTE_LIFETIME_BOUND {
11838     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
11839   }
11840   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
11841       ABSL_ATTRIBUTE_LIFETIME_BOUND {
11842     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
11843   }
11844 
11845   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
11846     return GetDescriptor();
11847   }
11848   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
11849     return default_instance().GetMetadata().descriptor;
11850   }
11851   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
11852     return default_instance().GetMetadata().reflection;
11853   }
11854   static const FileDescriptorProto& default_instance() {
11855     return *reinterpret_cast<const FileDescriptorProto*>(
11856         &_FileDescriptorProto_default_instance_);
11857   }
11858   static constexpr int kIndexInFileMessages = 1;
11859   friend void swap(FileDescriptorProto& a, FileDescriptorProto& b) { a.Swap(&b); }
11860   inline void Swap(FileDescriptorProto* PROTOBUF_NONNULL other) {
11861     if (other == this) return;
11862     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
11863       InternalSwap(other);
11864     } else {
11865       ::google::protobuf::internal::GenericSwap(this, other);
11866     }
11867   }
11868   void UnsafeArenaSwap(FileDescriptorProto* PROTOBUF_NONNULL other) {
11869     if (other == this) return;
11870     ABSL_DCHECK(GetArena() == other->GetArena());
11871     InternalSwap(other);
11872   }
11873 
11874   // implements Message ----------------------------------------------
11875 
11876   FileDescriptorProto* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
11877     return ::google::protobuf::Message::DefaultConstruct<FileDescriptorProto>(arena);
11878   }
11879   using ::google::protobuf::Message::CopyFrom;
11880   void CopyFrom(const FileDescriptorProto& from);
11881   using ::google::protobuf::Message::MergeFrom;
11882   void MergeFrom(const FileDescriptorProto& from) { FileDescriptorProto::MergeImpl(*this, from); }
11883 
11884   private:
11885   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
11886                         const ::google::protobuf::MessageLite& from_msg);
11887 
11888   public:
11889   bool IsInitialized() const {
11890     return IsInitializedImpl(*this);
11891   }
11892 
11893   private:
11894   static bool IsInitializedImpl(const MessageLite& msg);
11895 
11896   public:
11897   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
11898   #if defined(PROTOBUF_CUSTOM_VTABLE)
11899   private:
11900   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
11901   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
11902       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
11903       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
11904 
11905   public:
11906   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
11907   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
11908       ::uint8_t* PROTOBUF_NONNULL target,
11909       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
11910     return _InternalSerialize(*this, target, stream);
11911   }
11912   #else   // PROTOBUF_CUSTOM_VTABLE
11913   ::size_t ByteSizeLong() const final;
11914   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
11915       ::uint8_t* PROTOBUF_NONNULL target,
11916       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
11917   #endif  // PROTOBUF_CUSTOM_VTABLE
11918   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
11919 
11920   private:
11921   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11922   static void SharedDtor(MessageLite& self);
11923   void InternalSwap(FileDescriptorProto* PROTOBUF_NONNULL other);
11924  private:
11925   template <typename T>
11926   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
11927   static ::absl::string_view FullMessageName() { return "google.protobuf.FileDescriptorProto"; }
11928 
11929  protected:
11930   explicit FileDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11931   FileDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FileDescriptorProto& from);
11932   FileDescriptorProto(
11933       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FileDescriptorProto&& from) noexcept
11934       : FileDescriptorProto(arena) {
11935     *this = ::std::move(from);
11936   }
11937   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
11938   static void* PROTOBUF_NONNULL PlacementNew_(
11939       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
11940       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
11941   static constexpr auto InternalNewImpl_();
11942 
11943  public:
11944   static constexpr auto InternalGenerateClassData_();
11945 
11946   ::google::protobuf::Metadata GetMetadata() const;
11947   // nested types ----------------------------------------------------
11948 
11949   // accessors -------------------------------------------------------
11950   enum : int {
11951     kDependencyFieldNumber = 3,
11952     kMessageTypeFieldNumber = 4,
11953     kEnumTypeFieldNumber = 5,
11954     kServiceFieldNumber = 6,
11955     kExtensionFieldNumber = 7,
11956     kPublicDependencyFieldNumber = 10,
11957     kWeakDependencyFieldNumber = 11,
11958     kOptionDependencyFieldNumber = 15,
11959     kNameFieldNumber = 1,
11960     kPackageFieldNumber = 2,
11961     kSyntaxFieldNumber = 12,
11962     kOptionsFieldNumber = 8,
11963     kSourceCodeInfoFieldNumber = 9,
11964     kEditionFieldNumber = 14,
11965   };
11966   // repeated string dependency = 3;
11967   int dependency_size() const;
11968   private:
11969   int _internal_dependency_size() const;
11970 
11971   public:
11972   void clear_dependency() ;
11973   const ::std::string& dependency(int index) const;
11974   ::std::string* PROTOBUF_NONNULL mutable_dependency(int index);
11975   template <typename Arg_ = const ::std::string&, typename... Args_>
11976   void set_dependency(int index, Arg_&& value, Args_... args);
11977   ::std::string* PROTOBUF_NONNULL add_dependency();
11978   template <typename Arg_ = const ::std::string&, typename... Args_>
11979   void add_dependency(Arg_&& value, Args_... args);
11980   const ::google::protobuf::RepeatedPtrField<::std::string>& dependency() const;
11981   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_dependency();
11982 
11983   private:
11984   const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_dependency() const;
11985   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_dependency();
11986 
11987   public:
11988   // repeated .google.protobuf.DescriptorProto message_type = 4;
11989   int message_type_size() const;
11990   private:
11991   int _internal_message_type_size() const;
11992 
11993   public:
11994   void clear_message_type() ;
11995   ::google::protobuf::DescriptorProto* PROTOBUF_NONNULL mutable_message_type(int index);
11996   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* PROTOBUF_NONNULL mutable_message_type();
11997 
11998   private:
11999   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& _internal_message_type() const;
12000   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* PROTOBUF_NONNULL _internal_mutable_message_type();
12001   public:
12002   const ::google::protobuf::DescriptorProto& message_type(int index) const;
12003   ::google::protobuf::DescriptorProto* PROTOBUF_NONNULL add_message_type();
12004   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& message_type() const;
12005   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
12006   int enum_type_size() const;
12007   private:
12008   int _internal_enum_type_size() const;
12009 
12010   public:
12011   void clear_enum_type() ;
12012   ::google::protobuf::EnumDescriptorProto* PROTOBUF_NONNULL mutable_enum_type(int index);
12013   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* PROTOBUF_NONNULL mutable_enum_type();
12014 
12015   private:
12016   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& _internal_enum_type() const;
12017   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_enum_type();
12018   public:
12019   const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const;
12020   ::google::protobuf::EnumDescriptorProto* PROTOBUF_NONNULL add_enum_type();
12021   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& enum_type() const;
12022   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
12023   int service_size() const;
12024   private:
12025   int _internal_service_size() const;
12026 
12027   public:
12028   void clear_service() ;
12029   ::google::protobuf::ServiceDescriptorProto* PROTOBUF_NONNULL mutable_service(int index);
12030   ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>* PROTOBUF_NONNULL mutable_service();
12031 
12032   private:
12033   const ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>& _internal_service() const;
12034   ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_service();
12035   public:
12036   const ::google::protobuf::ServiceDescriptorProto& service(int index) const;
12037   ::google::protobuf::ServiceDescriptorProto* PROTOBUF_NONNULL add_service();
12038   const ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>& service() const;
12039   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
12040   int extension_size() const;
12041   private:
12042   int _internal_extension_size() const;
12043 
12044   public:
12045   void clear_extension() ;
12046   ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL mutable_extension(int index);
12047   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL mutable_extension();
12048 
12049   private:
12050   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& _internal_extension() const;
12051   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_extension();
12052   public:
12053   const ::google::protobuf::FieldDescriptorProto& extension(int index) const;
12054   ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL add_extension();
12055   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& extension() const;
12056   // repeated int32 public_dependency = 10;
12057   int public_dependency_size() const;
12058   private:
12059   int _internal_public_dependency_size() const;
12060 
12061   public:
12062   void clear_public_dependency() ;
12063   ::int32_t public_dependency(int index) const;
12064   void set_public_dependency(int index, ::int32_t value);
12065   void add_public_dependency(::int32_t value);
12066   const ::google::protobuf::RepeatedField<::int32_t>& public_dependency() const;
12067   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_public_dependency();
12068 
12069   private:
12070   const ::google::protobuf::RepeatedField<::int32_t>& _internal_public_dependency() const;
12071   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_public_dependency();
12072 
12073   public:
12074   // repeated int32 weak_dependency = 11;
12075   int weak_dependency_size() const;
12076   private:
12077   int _internal_weak_dependency_size() const;
12078 
12079   public:
12080   void clear_weak_dependency() ;
12081   ::int32_t weak_dependency(int index) const;
12082   void set_weak_dependency(int index, ::int32_t value);
12083   void add_weak_dependency(::int32_t value);
12084   const ::google::protobuf::RepeatedField<::int32_t>& weak_dependency() const;
12085   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_weak_dependency();
12086 
12087   private:
12088   const ::google::protobuf::RepeatedField<::int32_t>& _internal_weak_dependency() const;
12089   ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_weak_dependency();
12090 
12091   public:
12092   // repeated string option_dependency = 15;
12093   int option_dependency_size() const;
12094   private:
12095   int _internal_option_dependency_size() const;
12096 
12097   public:
12098   void clear_option_dependency() ;
12099   const ::std::string& option_dependency(int index) const;
12100   ::std::string* PROTOBUF_NONNULL mutable_option_dependency(int index);
12101   template <typename Arg_ = const ::std::string&, typename... Args_>
12102   void set_option_dependency(int index, Arg_&& value, Args_... args);
12103   ::std::string* PROTOBUF_NONNULL add_option_dependency();
12104   template <typename Arg_ = const ::std::string&, typename... Args_>
12105   void add_option_dependency(Arg_&& value, Args_... args);
12106   const ::google::protobuf::RepeatedPtrField<::std::string>& option_dependency() const;
12107   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_option_dependency();
12108 
12109   private:
12110   const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_option_dependency() const;
12111   ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_option_dependency();
12112 
12113   public:
12114   // optional string name = 1;
12115   bool has_name() const;
12116   void clear_name() ;
12117   const ::std::string& name() const;
12118   template <typename Arg_ = const ::std::string&, typename... Args_>
12119   void set_name(Arg_&& arg, Args_... args);
12120   ::std::string* PROTOBUF_NONNULL mutable_name();
12121   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
12122   void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);
12123 
12124   private:
12125   const ::std::string& _internal_name() const;
12126   PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
12127   ::std::string* PROTOBUF_NONNULL _internal_mutable_name();
12128 
12129   public:
12130   // optional string package = 2;
12131   bool has_package() const;
12132   void clear_package() ;
12133   const ::std::string& package() const;
12134   template <typename Arg_ = const ::std::string&, typename... Args_>
12135   void set_package(Arg_&& arg, Args_... args);
12136   ::std::string* PROTOBUF_NONNULL mutable_package();
12137   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_package();
12138   void set_allocated_package(::std::string* PROTOBUF_NULLABLE value);
12139 
12140   private:
12141   const ::std::string& _internal_package() const;
12142   PROTOBUF_ALWAYS_INLINE void _internal_set_package(const ::std::string& value);
12143   ::std::string* PROTOBUF_NONNULL _internal_mutable_package();
12144 
12145   public:
12146   // optional string syntax = 12;
12147   bool has_syntax() const;
12148   void clear_syntax() ;
12149   const ::std::string& syntax() const;
12150   template <typename Arg_ = const ::std::string&, typename... Args_>
12151   void set_syntax(Arg_&& arg, Args_... args);
12152   ::std::string* PROTOBUF_NONNULL mutable_syntax();
12153   [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_syntax();
12154   void set_allocated_syntax(::std::string* PROTOBUF_NULLABLE value);
12155 
12156   private:
12157   const ::std::string& _internal_syntax() const;
12158   PROTOBUF_ALWAYS_INLINE void _internal_set_syntax(const ::std::string& value);
12159   ::std::string* PROTOBUF_NONNULL _internal_mutable_syntax();
12160 
12161   public:
12162   // optional .google.protobuf.FileOptions options = 8;
12163   bool has_options() const;
12164   void clear_options() ;
12165   const ::google::protobuf::FileOptions& options() const;
12166   [[nodiscard]] ::google::protobuf::FileOptions* PROTOBUF_NULLABLE release_options();
12167   ::google::protobuf::FileOptions* PROTOBUF_NONNULL mutable_options();
12168   void set_allocated_options(::google::protobuf::FileOptions* PROTOBUF_NULLABLE value);
12169   void unsafe_arena_set_allocated_options(::google::protobuf::FileOptions* PROTOBUF_NULLABLE value);
12170   ::google::protobuf::FileOptions* PROTOBUF_NULLABLE unsafe_arena_release_options();
12171 
12172   private:
12173   const ::google::protobuf::FileOptions& _internal_options() const;
12174   ::google::protobuf::FileOptions* PROTOBUF_NONNULL _internal_mutable_options();
12175 
12176   public:
12177   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
12178   bool has_source_code_info() const;
12179   void clear_source_code_info() ;
12180   const ::google::protobuf::SourceCodeInfo& source_code_info() const;
12181   [[nodiscard]] ::google::protobuf::SourceCodeInfo* PROTOBUF_NULLABLE release_source_code_info();
12182   ::google::protobuf::SourceCodeInfo* PROTOBUF_NONNULL mutable_source_code_info();
12183   void set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* PROTOBUF_NULLABLE value);
12184   void unsafe_arena_set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* PROTOBUF_NULLABLE value);
12185   ::google::protobuf::SourceCodeInfo* PROTOBUF_NULLABLE unsafe_arena_release_source_code_info();
12186 
12187   private:
12188   const ::google::protobuf::SourceCodeInfo& _internal_source_code_info() const;
12189   ::google::protobuf::SourceCodeInfo* PROTOBUF_NONNULL _internal_mutable_source_code_info();
12190 
12191   public:
12192   // optional .google.protobuf.Edition edition = 14;
12193   bool has_edition() const;
12194   void clear_edition() ;
12195   ::google::protobuf::Edition edition() const;
12196   void set_edition(::google::protobuf::Edition value);
12197 
12198   private:
12199   ::google::protobuf::Edition _internal_edition() const;
12200   void _internal_set_edition(::google::protobuf::Edition value);
12201 
12202   public:
12203   // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorProto)
12204  private:
12205   class _Internal;
12206   friend class ::google::protobuf::internal::TcParser;
12207   static const ::google::protobuf::internal::TcParseTable<4, 14,
12208                                    7, 96,
12209                                    2>
12210       _table_;
12211 
12212   friend class ::google::protobuf::MessageLite;
12213   friend class ::google::protobuf::Arena;
12214   template <typename T>
12215   friend class ::google::protobuf::Arena::InternalHelper;
12216   using InternalArenaConstructable_ = void;
12217   using DestructorSkippable_ = void;
12218   struct Impl_ {
12219     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
12220     inline explicit Impl_(
12221         ::google::protobuf::internal::InternalVisibility visibility,
12222         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
12223     inline explicit Impl_(
12224         ::google::protobuf::internal::InternalVisibility visibility,
12225         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
12226         const FileDescriptorProto& from_msg);
12227     ::google::protobuf::internal::HasBits<1> _has_bits_;
12228     ::google::protobuf::internal::CachedSize _cached_size_;
12229     ::google::protobuf::RepeatedPtrField<::std::string> dependency_;
12230     ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > message_type_;
12231     ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_;
12232     ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto > service_;
12233     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_;
12234     ::google::protobuf::RepeatedField<::int32_t> public_dependency_;
12235     ::google::protobuf::RepeatedField<::int32_t> weak_dependency_;
12236     ::google::protobuf::RepeatedPtrField<::std::string> option_dependency_;
12237     ::google::protobuf::internal::ArenaStringPtr name_;
12238     ::google::protobuf::internal::ArenaStringPtr package_;
12239     ::google::protobuf::internal::ArenaStringPtr syntax_;
12240     ::google::protobuf::FileOptions* PROTOBUF_NULLABLE options_;
12241     ::google::protobuf::SourceCodeInfo* PROTOBUF_NULLABLE source_code_info_;
12242     int edition_;
12243     PROTOBUF_TSAN_DECLARE_MEMBER
12244   };
12245   union { Impl_ _impl_; };
12246   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
12247 };
12248 
12249 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FileDescriptorProto_class_data_;
12250 // -------------------------------------------------------------------
12251 
12252 class PROTOBUF_EXPORT FileDescriptorSet final : public ::google::protobuf::Message
12253 /* @@protoc_insertion_point(class_definition:google.protobuf.FileDescriptorSet) */ {
12254  public:
12255   inline FileDescriptorSet() : FileDescriptorSet(nullptr) {}
12256   ~FileDescriptorSet() PROTOBUF_FINAL;
12257 
12258 #if defined(PROTOBUF_CUSTOM_VTABLE)
12259   void operator delete(FileDescriptorSet* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
12260     SharedDtor(*msg);
12261     ::google::protobuf::internal::SizedDelete(msg, sizeof(FileDescriptorSet));
12262   }
12263 #endif
12264 
12265   template <typename = void>
12266   explicit PROTOBUF_CONSTEXPR FileDescriptorSet(::google::protobuf::internal::ConstantInitialized);
12267 
12268   inline FileDescriptorSet(const FileDescriptorSet& from) : FileDescriptorSet(nullptr, from) {}
12269   inline FileDescriptorSet(FileDescriptorSet&& from) noexcept
12270       : FileDescriptorSet(nullptr, ::std::move(from)) {}
12271   inline FileDescriptorSet& operator=(const FileDescriptorSet& from) {
12272     CopyFrom(from);
12273     return *this;
12274   }
12275   inline FileDescriptorSet& operator=(FileDescriptorSet&& from) noexcept {
12276     if (this == &from) return *this;
12277     if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
12278       InternalSwap(&from);
12279     } else {
12280       CopyFrom(from);
12281     }
12282     return *this;
12283   }
12284 
12285   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
12286       ABSL_ATTRIBUTE_LIFETIME_BOUND {
12287     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
12288   }
12289   inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
12290       ABSL_ATTRIBUTE_LIFETIME_BOUND {
12291     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
12292   }
12293 
12294   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
12295     return GetDescriptor();
12296   }
12297   static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
12298     return default_instance().GetMetadata().descriptor;
12299   }
12300   static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
12301     return default_instance().GetMetadata().reflection;
12302   }
12303   static const FileDescriptorSet& default_instance() {
12304     return *reinterpret_cast<const FileDescriptorSet*>(
12305         &_FileDescriptorSet_default_instance_);
12306   }
12307   static constexpr int kIndexInFileMessages = 0;
12308   friend void swap(FileDescriptorSet& a, FileDescriptorSet& b) { a.Swap(&b); }
12309   inline void Swap(FileDescriptorSet* PROTOBUF_NONNULL other) {
12310     if (other == this) return;
12311     if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
12312       InternalSwap(other);
12313     } else {
12314       ::google::protobuf::internal::GenericSwap(this, other);
12315     }
12316   }
12317   void UnsafeArenaSwap(FileDescriptorSet* PROTOBUF_NONNULL other) {
12318     if (other == this) return;
12319     ABSL_DCHECK(GetArena() == other->GetArena());
12320     InternalSwap(other);
12321   }
12322 
12323   // implements Message ----------------------------------------------
12324 
12325   FileDescriptorSet* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
12326     return ::google::protobuf::Message::DefaultConstruct<FileDescriptorSet>(arena);
12327   }
12328   using ::google::protobuf::Message::CopyFrom;
12329   void CopyFrom(const FileDescriptorSet& from);
12330   using ::google::protobuf::Message::MergeFrom;
12331   void MergeFrom(const FileDescriptorSet& from) { FileDescriptorSet::MergeImpl(*this, from); }
12332 
12333   private:
12334   static void MergeImpl(::google::protobuf::MessageLite& to_msg,
12335                         const ::google::protobuf::MessageLite& from_msg);
12336 
12337   public:
12338   bool IsInitialized() const {
12339     return IsInitializedImpl(*this);
12340   }
12341 
12342   private:
12343   static bool IsInitializedImpl(const MessageLite& msg);
12344 
12345   public:
12346   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
12347   #if defined(PROTOBUF_CUSTOM_VTABLE)
12348   private:
12349   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
12350   static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
12351       const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
12352       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
12353 
12354   public:
12355   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
12356   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
12357       ::uint8_t* PROTOBUF_NONNULL target,
12358       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
12359     return _InternalSerialize(*this, target, stream);
12360   }
12361   #else   // PROTOBUF_CUSTOM_VTABLE
12362   ::size_t ByteSizeLong() const final;
12363   ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
12364       ::uint8_t* PROTOBUF_NONNULL target,
12365       ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
12366   #endif  // PROTOBUF_CUSTOM_VTABLE
12367   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
12368 
12369   private:
12370   void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
12371   static void SharedDtor(MessageLite& self);
12372   void InternalSwap(FileDescriptorSet* PROTOBUF_NONNULL other);
12373  private:
12374   template <typename T>
12375   friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
12376   static ::absl::string_view FullMessageName() { return "google.protobuf.FileDescriptorSet"; }
12377 
12378  protected:
12379   explicit FileDescriptorSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
12380   FileDescriptorSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FileDescriptorSet& from);
12381   FileDescriptorSet(
12382       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FileDescriptorSet&& from) noexcept
12383       : FileDescriptorSet(arena) {
12384     *this = ::std::move(from);
12385   }
12386   const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
12387   static void* PROTOBUF_NONNULL PlacementNew_(
12388       const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
12389       ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
12390   static constexpr auto InternalNewImpl_();
12391 
12392  public:
12393   static constexpr auto InternalGenerateClassData_();
12394 
12395   ::google::protobuf::Metadata GetMetadata() const;
12396   // nested types ----------------------------------------------------
12397 
12398   // accessors -------------------------------------------------------
12399   enum : int {
12400     kFileFieldNumber = 1,
12401   };
12402   // repeated .google.protobuf.FileDescriptorProto file = 1;
12403   int file_size() const;
12404   private:
12405   int _internal_file_size() const;
12406 
12407   public:
12408   void clear_file() ;
12409   ::google::protobuf::FileDescriptorProto* PROTOBUF_NONNULL mutable_file(int index);
12410   ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>* PROTOBUF_NONNULL mutable_file();
12411 
12412   private:
12413   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>& _internal_file() const;
12414   ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>* PROTOBUF_NONNULL _internal_mutable_file();
12415   public:
12416   const ::google::protobuf::FileDescriptorProto& file(int index) const;
12417   ::google::protobuf::FileDescriptorProto* PROTOBUF_NONNULL add_file();
12418   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>& file() const;
12419   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12420             bool _is_packed,
12421             typename = typename _proto_TypeTraits::Singular>
12422   PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension(
12423       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12424                                        _field_type, _is_packed>& id) const {
12425     return _impl_._extensions_.Has(id.number());
12426   }
12427 
12428   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12429             bool _is_packed>
12430   inline void ClearExtension(
12431       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12432                                        _field_type, _is_packed>& id) {
12433     _impl_._extensions_.ClearExtension(id.number());
12434   }
12435 
12436   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12437             bool _is_packed,
12438             typename = typename _proto_TypeTraits::Repeated>
12439   PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize(
12440       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12441                                        _field_type, _is_packed>& id) const {
12442     return _impl_._extensions_.ExtensionSize(id.number());
12443   }
12444 
12445   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12446             bool _is_packed,
12447             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
12448   PROTOBUF_FUTURE_ADD_NODISCARD inline
12449       typename _proto_TypeTraits::Singular::ConstType
12450       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
12451                    FileDescriptorSet, _proto_TypeTraits, _field_type, _is_packed>& id)
12452           const {
12453     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
12454   }
12455 
12456   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12457             bool _is_packed,
12458             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
12459   PROTOBUF_FUTURE_ADD_NODISCARD inline
12460       typename _proto_TypeTraits::Singular::ConstType
12461       GetExtension(const ::google::protobuf::internal::ExtensionIdentifier<
12462                    FileDescriptorSet, _proto_TypeTraits, _field_type, _is_packed>& id)
12463           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12464     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
12465   }
12466 
12467   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12468             bool _is_packed>
12469   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
12470       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12471                                        _field_type, _is_packed>& id)
12472       ABSL_ATTRIBUTE_LIFETIME_BOUND {
12473     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
12474   }
12475 
12476   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12477             bool _is_packed>
12478   inline void SetExtension(
12479       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12480                                        _field_type, _is_packed>& id,
12481       typename _proto_TypeTraits::Singular::ConstType value) {
12482     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
12483   }
12484 
12485   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12486             bool _is_packed>
12487   inline void SetAllocatedExtension(
12488       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12489                                        _field_type, _is_packed>& id,
12490       typename _proto_TypeTraits::Singular::MutableType value) {
12491     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
12492                                     &_impl_._extensions_);
12493   }
12494   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12495             bool _is_packed>
12496   inline void UnsafeArenaSetAllocatedExtension(
12497       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12498                                        _field_type, _is_packed>& id,
12499       typename _proto_TypeTraits::Singular::MutableType value) {
12500     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
12501                                                value, &_impl_._extensions_);
12502   }
12503   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12504             bool _is_packed>
12505   [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType
12506   ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier<
12507                    FileDescriptorSet, _proto_TypeTraits, _field_type, _is_packed>& id) {
12508     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
12509   }
12510   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12511             bool _is_packed>
12512   inline typename _proto_TypeTraits::Singular::MutableType
12513   UnsafeArenaReleaseExtension(
12514       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12515                                        _field_type, _is_packed>& id) {
12516     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
12517                                                  &_impl_._extensions_);
12518   }
12519 
12520   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12521             bool _is_packed,
12522             ::std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
12523   PROTOBUF_FUTURE_ADD_NODISCARD inline
12524       typename _proto_TypeTraits::Repeated::ConstType
12525       GetExtension(
12526           const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12527                                            _field_type, _is_packed>& id,
12528           int index) const {
12529     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
12530   }
12531 
12532   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12533             bool _is_packed,
12534             ::std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
12535   PROTOBUF_FUTURE_ADD_NODISCARD inline
12536       typename _proto_TypeTraits::Repeated::ConstType
12537       GetExtension(
12538           const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12539                                            _field_type, _is_packed>& id,
12540           int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12541     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
12542   }
12543 
12544   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12545             bool _is_packed>
12546   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
12547       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12548                                        _field_type, _is_packed>& id,
12549       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
12550     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
12551   }
12552 
12553   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12554             bool _is_packed>
12555   inline void SetExtension(
12556       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12557                                        _field_type, _is_packed>& id,
12558       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
12559     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
12560   }
12561 
12562   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12563             bool _is_packed>
12564   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
12565       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12566                                        _field_type, _is_packed>& id)
12567       ABSL_ATTRIBUTE_LIFETIME_BOUND {
12568     typename _proto_TypeTraits::Repeated::MutableType to_add =
12569         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
12570     return to_add;
12571   }
12572 
12573   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12574             bool _is_packed>
12575   inline void AddExtension(
12576       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12577                                        _field_type, _is_packed>& id,
12578       typename _proto_TypeTraits::Repeated::ConstType value) {
12579     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
12580                            &_impl_._extensions_);
12581   }
12582 
12583   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12584             bool _is_packed>
12585   PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits::
12586       Repeated::RepeatedFieldType&
12587       GetRepeatedExtension(
12588           const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12589                                            _field_type, _is_packed>& id)
12590           const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12591     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
12592   }
12593 
12594   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
12595             bool _is_packed>
12596   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL
12597   MutableRepeatedExtension(
12598       const ::google::protobuf::internal::ExtensionIdentifier<FileDescriptorSet, _proto_TypeTraits,
12599                                        _field_type, _is_packed>& id)
12600       ABSL_ATTRIBUTE_LIFETIME_BOUND {
12601     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
12602                                               _is_packed, &_impl_._extensions_);
12603   }
12604   // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorSet)
12605  private:
12606   class _Internal;
12607   friend class ::google::protobuf::internal::TcParser;
12608   static const ::google::protobuf::internal::TcParseTable<0, 1,
12609                                    1, 0,
12610                                    2>
12611       _table_;
12612 
12613   friend class ::google::protobuf::MessageLite;
12614   friend class ::google::protobuf::Arena;
12615   template <typename T>
12616   friend class ::google::protobuf::Arena::InternalHelper;
12617   using InternalArenaConstructable_ = void;
12618   using DestructorSkippable_ = void;
12619   struct Impl_ {
12620     inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
12621     inline explicit Impl_(
12622         ::google::protobuf::internal::InternalVisibility visibility,
12623         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
12624     inline explicit Impl_(
12625         ::google::protobuf::internal::InternalVisibility visibility,
12626         ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
12627         const FileDescriptorSet& from_msg);
12628     ::google::protobuf::internal::ExtensionSet _extensions_;
12629     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto > file_;
12630     ::google::protobuf::internal::CachedSize _cached_size_;
12631     PROTOBUF_TSAN_DECLARE_MEMBER
12632   };
12633   union { Impl_ _impl_; };
12634   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
12635 };
12636 
12637 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull FileDescriptorSet_class_data_;
12638 
12639 // ===================================================================
12640 
12641 
12642 
12643 
12644 // ===================================================================
12645 
12646 
12647 #ifdef __GNUC__
12648 #pragma GCC diagnostic push
12649 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
12650 #endif  // __GNUC__
12651 // -------------------------------------------------------------------
12652 
12653 // FileDescriptorSet
12654 
12655 // repeated .google.protobuf.FileDescriptorProto file = 1;
12656 inline int FileDescriptorSet::_internal_file_size() const {
12657   return _internal_file().size();
12658 }
12659 inline int FileDescriptorSet::file_size() const {
12660   return _internal_file_size();
12661 }
12662 inline void FileDescriptorSet::clear_file() {
12663   ::google::protobuf::internal::TSanWrite(&_impl_);
12664   _impl_.file_.Clear();
12665 }
12666 inline ::google::protobuf::FileDescriptorProto* PROTOBUF_NONNULL FileDescriptorSet::mutable_file(int index)
12667     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12668   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorSet.file)
12669   return _internal_mutable_file()->Mutable(index);
12670 }
12671 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>* PROTOBUF_NONNULL FileDescriptorSet::mutable_file()
12672     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12673   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorSet.file)
12674   ::google::protobuf::internal::TSanWrite(&_impl_);
12675   return _internal_mutable_file();
12676 }
12677 inline const ::google::protobuf::FileDescriptorProto& FileDescriptorSet::file(int index) const
12678     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12679   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorSet.file)
12680   return _internal_file().Get(index);
12681 }
12682 inline ::google::protobuf::FileDescriptorProto* PROTOBUF_NONNULL FileDescriptorSet::add_file()
12683     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12684   ::google::protobuf::internal::TSanWrite(&_impl_);
12685   ::google::protobuf::FileDescriptorProto* _add = _internal_mutable_file()->Add();
12686   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorSet.file)
12687   return _add;
12688 }
12689 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>& FileDescriptorSet::file() const
12690     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12691   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorSet.file)
12692   return _internal_file();
12693 }
12694 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>&
12695 FileDescriptorSet::_internal_file() const {
12696   ::google::protobuf::internal::TSanRead(&_impl_);
12697   return _impl_.file_;
12698 }
12699 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>* PROTOBUF_NONNULL
12700 FileDescriptorSet::_internal_mutable_file() {
12701   ::google::protobuf::internal::TSanRead(&_impl_);
12702   return &_impl_.file_;
12703 }
12704 
12705 // -------------------------------------------------------------------
12706 
12707 // FileDescriptorProto
12708 
12709 // optional string name = 1;
12710 inline bool FileDescriptorProto::has_name() const {
12711   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
12712   return value;
12713 }
12714 inline void FileDescriptorProto::clear_name() {
12715   ::google::protobuf::internal::TSanWrite(&_impl_);
12716   _impl_.name_.ClearToEmpty();
12717   _impl_._has_bits_[0] &= ~0x00000001U;
12718 }
12719 inline const ::std::string& FileDescriptorProto::name() const
12720     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12721   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.name)
12722   return _internal_name();
12723 }
12724 template <typename Arg_, typename... Args_>
12725 PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_name(Arg_&& arg, Args_... args) {
12726   ::google::protobuf::internal::TSanWrite(&_impl_);
12727   _impl_._has_bits_[0] |= 0x00000001U;
12728   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
12729   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.name)
12730 }
12731 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::mutable_name()
12732     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12733   ::std::string* _s = _internal_mutable_name();
12734   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.name)
12735   return _s;
12736 }
12737 inline const ::std::string& FileDescriptorProto::_internal_name() const {
12738   ::google::protobuf::internal::TSanRead(&_impl_);
12739   return _impl_.name_.Get();
12740 }
12741 inline void FileDescriptorProto::_internal_set_name(const ::std::string& value) {
12742   ::google::protobuf::internal::TSanWrite(&_impl_);
12743   _impl_._has_bits_[0] |= 0x00000001U;
12744   _impl_.name_.Set(value, GetArena());
12745 }
12746 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::_internal_mutable_name() {
12747   ::google::protobuf::internal::TSanWrite(&_impl_);
12748   _impl_._has_bits_[0] |= 0x00000001U;
12749   return _impl_.name_.Mutable( GetArena());
12750 }
12751 inline ::std::string* PROTOBUF_NULLABLE FileDescriptorProto::release_name() {
12752   ::google::protobuf::internal::TSanWrite(&_impl_);
12753   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.name)
12754   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
12755     return nullptr;
12756   }
12757   _impl_._has_bits_[0] &= ~0x00000001U;
12758   auto* released = _impl_.name_.Release();
12759   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
12760     _impl_.name_.Set("", GetArena());
12761   }
12762   return released;
12763 }
12764 inline void FileDescriptorProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
12765   ::google::protobuf::internal::TSanWrite(&_impl_);
12766   if (value != nullptr) {
12767     _impl_._has_bits_[0] |= 0x00000001U;
12768   } else {
12769     _impl_._has_bits_[0] &= ~0x00000001U;
12770   }
12771   _impl_.name_.SetAllocated(value, GetArena());
12772   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
12773     _impl_.name_.Set("", GetArena());
12774   }
12775   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.name)
12776 }
12777 
12778 // optional string package = 2;
12779 inline bool FileDescriptorProto::has_package() const {
12780   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
12781   return value;
12782 }
12783 inline void FileDescriptorProto::clear_package() {
12784   ::google::protobuf::internal::TSanWrite(&_impl_);
12785   _impl_.package_.ClearToEmpty();
12786   _impl_._has_bits_[0] &= ~0x00000002U;
12787 }
12788 inline const ::std::string& FileDescriptorProto::package() const
12789     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12790   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.package)
12791   return _internal_package();
12792 }
12793 template <typename Arg_, typename... Args_>
12794 PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_package(Arg_&& arg, Args_... args) {
12795   ::google::protobuf::internal::TSanWrite(&_impl_);
12796   _impl_._has_bits_[0] |= 0x00000002U;
12797   _impl_.package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
12798   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.package)
12799 }
12800 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::mutable_package()
12801     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12802   ::std::string* _s = _internal_mutable_package();
12803   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.package)
12804   return _s;
12805 }
12806 inline const ::std::string& FileDescriptorProto::_internal_package() const {
12807   ::google::protobuf::internal::TSanRead(&_impl_);
12808   return _impl_.package_.Get();
12809 }
12810 inline void FileDescriptorProto::_internal_set_package(const ::std::string& value) {
12811   ::google::protobuf::internal::TSanWrite(&_impl_);
12812   _impl_._has_bits_[0] |= 0x00000002U;
12813   _impl_.package_.Set(value, GetArena());
12814 }
12815 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::_internal_mutable_package() {
12816   ::google::protobuf::internal::TSanWrite(&_impl_);
12817   _impl_._has_bits_[0] |= 0x00000002U;
12818   return _impl_.package_.Mutable( GetArena());
12819 }
12820 inline ::std::string* PROTOBUF_NULLABLE FileDescriptorProto::release_package() {
12821   ::google::protobuf::internal::TSanWrite(&_impl_);
12822   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.package)
12823   if ((_impl_._has_bits_[0] & 0x00000002U) == 0) {
12824     return nullptr;
12825   }
12826   _impl_._has_bits_[0] &= ~0x00000002U;
12827   auto* released = _impl_.package_.Release();
12828   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
12829     _impl_.package_.Set("", GetArena());
12830   }
12831   return released;
12832 }
12833 inline void FileDescriptorProto::set_allocated_package(::std::string* PROTOBUF_NULLABLE value) {
12834   ::google::protobuf::internal::TSanWrite(&_impl_);
12835   if (value != nullptr) {
12836     _impl_._has_bits_[0] |= 0x00000002U;
12837   } else {
12838     _impl_._has_bits_[0] &= ~0x00000002U;
12839   }
12840   _impl_.package_.SetAllocated(value, GetArena());
12841   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.package_.IsDefault()) {
12842     _impl_.package_.Set("", GetArena());
12843   }
12844   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.package)
12845 }
12846 
12847 // repeated string dependency = 3;
12848 inline int FileDescriptorProto::_internal_dependency_size() const {
12849   return _internal_dependency().size();
12850 }
12851 inline int FileDescriptorProto::dependency_size() const {
12852   return _internal_dependency_size();
12853 }
12854 inline void FileDescriptorProto::clear_dependency() {
12855   ::google::protobuf::internal::TSanWrite(&_impl_);
12856   _impl_.dependency_.Clear();
12857 }
12858 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::add_dependency()
12859     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12860   ::google::protobuf::internal::TSanWrite(&_impl_);
12861   ::std::string* _s = _internal_mutable_dependency()->Add();
12862   // @@protoc_insertion_point(field_add_mutable:google.protobuf.FileDescriptorProto.dependency)
12863   return _s;
12864 }
12865 inline const ::std::string& FileDescriptorProto::dependency(int index) const
12866     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12867   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.dependency)
12868   return _internal_dependency().Get(index);
12869 }
12870 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::mutable_dependency(int index)
12871     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12872   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.dependency)
12873   return _internal_mutable_dependency()->Mutable(index);
12874 }
12875 template <typename Arg_, typename... Args_>
12876 inline void FileDescriptorProto::set_dependency(int index, Arg_&& value, Args_... args) {
12877   ::google::protobuf::internal::AssignToString(*_internal_mutable_dependency()->Mutable(index), ::std::forward<Arg_>(value),
12878                         args... );
12879   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.dependency)
12880 }
12881 template <typename Arg_, typename... Args_>
12882 inline void FileDescriptorProto::add_dependency(Arg_&& value, Args_... args) {
12883   ::google::protobuf::internal::TSanWrite(&_impl_);
12884   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_dependency(),
12885                                ::std::forward<Arg_>(value),
12886                                args... );
12887   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.dependency)
12888 }
12889 inline const ::google::protobuf::RepeatedPtrField<::std::string>& FileDescriptorProto::dependency()
12890     const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12891   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.dependency)
12892   return _internal_dependency();
12893 }
12894 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
12895 FileDescriptorProto::mutable_dependency() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12896   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.dependency)
12897   ::google::protobuf::internal::TSanWrite(&_impl_);
12898   return _internal_mutable_dependency();
12899 }
12900 inline const ::google::protobuf::RepeatedPtrField<::std::string>&
12901 FileDescriptorProto::_internal_dependency() const {
12902   ::google::protobuf::internal::TSanRead(&_impl_);
12903   return _impl_.dependency_;
12904 }
12905 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
12906 FileDescriptorProto::_internal_mutable_dependency() {
12907   ::google::protobuf::internal::TSanRead(&_impl_);
12908   return &_impl_.dependency_;
12909 }
12910 
12911 // repeated int32 public_dependency = 10;
12912 inline int FileDescriptorProto::_internal_public_dependency_size() const {
12913   return _internal_public_dependency().size();
12914 }
12915 inline int FileDescriptorProto::public_dependency_size() const {
12916   return _internal_public_dependency_size();
12917 }
12918 inline void FileDescriptorProto::clear_public_dependency() {
12919   ::google::protobuf::internal::TSanWrite(&_impl_);
12920   _impl_.public_dependency_.Clear();
12921 }
12922 inline ::int32_t FileDescriptorProto::public_dependency(int index) const {
12923   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.public_dependency)
12924   return _internal_public_dependency().Get(index);
12925 }
12926 inline void FileDescriptorProto::set_public_dependency(int index, ::int32_t value) {
12927   _internal_mutable_public_dependency()->Set(index, value);
12928   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.public_dependency)
12929 }
12930 inline void FileDescriptorProto::add_public_dependency(::int32_t value) {
12931   ::google::protobuf::internal::TSanWrite(&_impl_);
12932   _internal_mutable_public_dependency()->Add(value);
12933   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.public_dependency)
12934 }
12935 inline const ::google::protobuf::RepeatedField<::int32_t>& FileDescriptorProto::public_dependency() const
12936     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12937   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.public_dependency)
12938   return _internal_public_dependency();
12939 }
12940 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL FileDescriptorProto::mutable_public_dependency()
12941     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12942   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.public_dependency)
12943   ::google::protobuf::internal::TSanWrite(&_impl_);
12944   return _internal_mutable_public_dependency();
12945 }
12946 inline const ::google::protobuf::RepeatedField<::int32_t>&
12947 FileDescriptorProto::_internal_public_dependency() const {
12948   ::google::protobuf::internal::TSanRead(&_impl_);
12949   return _impl_.public_dependency_;
12950 }
12951 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
12952 FileDescriptorProto::_internal_mutable_public_dependency() {
12953   ::google::protobuf::internal::TSanRead(&_impl_);
12954   return &_impl_.public_dependency_;
12955 }
12956 
12957 // repeated int32 weak_dependency = 11;
12958 inline int FileDescriptorProto::_internal_weak_dependency_size() const {
12959   return _internal_weak_dependency().size();
12960 }
12961 inline int FileDescriptorProto::weak_dependency_size() const {
12962   return _internal_weak_dependency_size();
12963 }
12964 inline void FileDescriptorProto::clear_weak_dependency() {
12965   ::google::protobuf::internal::TSanWrite(&_impl_);
12966   _impl_.weak_dependency_.Clear();
12967 }
12968 inline ::int32_t FileDescriptorProto::weak_dependency(int index) const {
12969   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.weak_dependency)
12970   return _internal_weak_dependency().Get(index);
12971 }
12972 inline void FileDescriptorProto::set_weak_dependency(int index, ::int32_t value) {
12973   _internal_mutable_weak_dependency()->Set(index, value);
12974   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.weak_dependency)
12975 }
12976 inline void FileDescriptorProto::add_weak_dependency(::int32_t value) {
12977   ::google::protobuf::internal::TSanWrite(&_impl_);
12978   _internal_mutable_weak_dependency()->Add(value);
12979   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.weak_dependency)
12980 }
12981 inline const ::google::protobuf::RepeatedField<::int32_t>& FileDescriptorProto::weak_dependency() const
12982     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12983   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.weak_dependency)
12984   return _internal_weak_dependency();
12985 }
12986 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL FileDescriptorProto::mutable_weak_dependency()
12987     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12988   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.weak_dependency)
12989   ::google::protobuf::internal::TSanWrite(&_impl_);
12990   return _internal_mutable_weak_dependency();
12991 }
12992 inline const ::google::protobuf::RepeatedField<::int32_t>&
12993 FileDescriptorProto::_internal_weak_dependency() const {
12994   ::google::protobuf::internal::TSanRead(&_impl_);
12995   return _impl_.weak_dependency_;
12996 }
12997 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
12998 FileDescriptorProto::_internal_mutable_weak_dependency() {
12999   ::google::protobuf::internal::TSanRead(&_impl_);
13000   return &_impl_.weak_dependency_;
13001 }
13002 
13003 // repeated string option_dependency = 15;
13004 inline int FileDescriptorProto::_internal_option_dependency_size() const {
13005   return _internal_option_dependency().size();
13006 }
13007 inline int FileDescriptorProto::option_dependency_size() const {
13008   return _internal_option_dependency_size();
13009 }
13010 inline void FileDescriptorProto::clear_option_dependency() {
13011   ::google::protobuf::internal::TSanWrite(&_impl_);
13012   _impl_.option_dependency_.Clear();
13013 }
13014 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::add_option_dependency()
13015     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13016   ::google::protobuf::internal::TSanWrite(&_impl_);
13017   ::std::string* _s = _internal_mutable_option_dependency()->Add();
13018   // @@protoc_insertion_point(field_add_mutable:google.protobuf.FileDescriptorProto.option_dependency)
13019   return _s;
13020 }
13021 inline const ::std::string& FileDescriptorProto::option_dependency(int index) const
13022     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13023   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.option_dependency)
13024   return _internal_option_dependency().Get(index);
13025 }
13026 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::mutable_option_dependency(int index)
13027     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13028   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.option_dependency)
13029   return _internal_mutable_option_dependency()->Mutable(index);
13030 }
13031 template <typename Arg_, typename... Args_>
13032 inline void FileDescriptorProto::set_option_dependency(int index, Arg_&& value, Args_... args) {
13033   ::google::protobuf::internal::AssignToString(*_internal_mutable_option_dependency()->Mutable(index), ::std::forward<Arg_>(value),
13034                         args... );
13035   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.option_dependency)
13036 }
13037 template <typename Arg_, typename... Args_>
13038 inline void FileDescriptorProto::add_option_dependency(Arg_&& value, Args_... args) {
13039   ::google::protobuf::internal::TSanWrite(&_impl_);
13040   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_option_dependency(),
13041                                ::std::forward<Arg_>(value),
13042                                args... );
13043   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.option_dependency)
13044 }
13045 inline const ::google::protobuf::RepeatedPtrField<::std::string>& FileDescriptorProto::option_dependency()
13046     const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13047   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.option_dependency)
13048   return _internal_option_dependency();
13049 }
13050 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
13051 FileDescriptorProto::mutable_option_dependency() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13052   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.option_dependency)
13053   ::google::protobuf::internal::TSanWrite(&_impl_);
13054   return _internal_mutable_option_dependency();
13055 }
13056 inline const ::google::protobuf::RepeatedPtrField<::std::string>&
13057 FileDescriptorProto::_internal_option_dependency() const {
13058   ::google::protobuf::internal::TSanRead(&_impl_);
13059   return _impl_.option_dependency_;
13060 }
13061 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
13062 FileDescriptorProto::_internal_mutable_option_dependency() {
13063   ::google::protobuf::internal::TSanRead(&_impl_);
13064   return &_impl_.option_dependency_;
13065 }
13066 
13067 // repeated .google.protobuf.DescriptorProto message_type = 4;
13068 inline int FileDescriptorProto::_internal_message_type_size() const {
13069   return _internal_message_type().size();
13070 }
13071 inline int FileDescriptorProto::message_type_size() const {
13072   return _internal_message_type_size();
13073 }
13074 inline void FileDescriptorProto::clear_message_type() {
13075   ::google::protobuf::internal::TSanWrite(&_impl_);
13076   _impl_.message_type_.Clear();
13077 }
13078 inline ::google::protobuf::DescriptorProto* PROTOBUF_NONNULL FileDescriptorProto::mutable_message_type(int index)
13079     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13080   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.message_type)
13081   return _internal_mutable_message_type()->Mutable(index);
13082 }
13083 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* PROTOBUF_NONNULL FileDescriptorProto::mutable_message_type()
13084     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13085   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.message_type)
13086   ::google::protobuf::internal::TSanWrite(&_impl_);
13087   return _internal_mutable_message_type();
13088 }
13089 inline const ::google::protobuf::DescriptorProto& FileDescriptorProto::message_type(int index) const
13090     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13091   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.message_type)
13092   return _internal_message_type().Get(index);
13093 }
13094 inline ::google::protobuf::DescriptorProto* PROTOBUF_NONNULL FileDescriptorProto::add_message_type()
13095     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13096   ::google::protobuf::internal::TSanWrite(&_impl_);
13097   ::google::protobuf::DescriptorProto* _add = _internal_mutable_message_type()->Add();
13098   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.message_type)
13099   return _add;
13100 }
13101 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& FileDescriptorProto::message_type() const
13102     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13103   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.message_type)
13104   return _internal_message_type();
13105 }
13106 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>&
13107 FileDescriptorProto::_internal_message_type() const {
13108   ::google::protobuf::internal::TSanRead(&_impl_);
13109   return _impl_.message_type_;
13110 }
13111 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* PROTOBUF_NONNULL
13112 FileDescriptorProto::_internal_mutable_message_type() {
13113   ::google::protobuf::internal::TSanRead(&_impl_);
13114   return &_impl_.message_type_;
13115 }
13116 
13117 // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
13118 inline int FileDescriptorProto::_internal_enum_type_size() const {
13119   return _internal_enum_type().size();
13120 }
13121 inline int FileDescriptorProto::enum_type_size() const {
13122   return _internal_enum_type_size();
13123 }
13124 inline void FileDescriptorProto::clear_enum_type() {
13125   ::google::protobuf::internal::TSanWrite(&_impl_);
13126   _impl_.enum_type_.Clear();
13127 }
13128 inline ::google::protobuf::EnumDescriptorProto* PROTOBUF_NONNULL FileDescriptorProto::mutable_enum_type(int index)
13129     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13130   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.enum_type)
13131   return _internal_mutable_enum_type()->Mutable(index);
13132 }
13133 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* PROTOBUF_NONNULL FileDescriptorProto::mutable_enum_type()
13134     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13135   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.enum_type)
13136   ::google::protobuf::internal::TSanWrite(&_impl_);
13137   return _internal_mutable_enum_type();
13138 }
13139 inline const ::google::protobuf::EnumDescriptorProto& FileDescriptorProto::enum_type(int index) const
13140     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13141   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.enum_type)
13142   return _internal_enum_type().Get(index);
13143 }
13144 inline ::google::protobuf::EnumDescriptorProto* PROTOBUF_NONNULL FileDescriptorProto::add_enum_type()
13145     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13146   ::google::protobuf::internal::TSanWrite(&_impl_);
13147   ::google::protobuf::EnumDescriptorProto* _add = _internal_mutable_enum_type()->Add();
13148   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.enum_type)
13149   return _add;
13150 }
13151 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& FileDescriptorProto::enum_type() const
13152     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13153   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.enum_type)
13154   return _internal_enum_type();
13155 }
13156 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>&
13157 FileDescriptorProto::_internal_enum_type() const {
13158   ::google::protobuf::internal::TSanRead(&_impl_);
13159   return _impl_.enum_type_;
13160 }
13161 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* PROTOBUF_NONNULL
13162 FileDescriptorProto::_internal_mutable_enum_type() {
13163   ::google::protobuf::internal::TSanRead(&_impl_);
13164   return &_impl_.enum_type_;
13165 }
13166 
13167 // repeated .google.protobuf.ServiceDescriptorProto service = 6;
13168 inline int FileDescriptorProto::_internal_service_size() const {
13169   return _internal_service().size();
13170 }
13171 inline int FileDescriptorProto::service_size() const {
13172   return _internal_service_size();
13173 }
13174 inline void FileDescriptorProto::clear_service() {
13175   ::google::protobuf::internal::TSanWrite(&_impl_);
13176   _impl_.service_.Clear();
13177 }
13178 inline ::google::protobuf::ServiceDescriptorProto* PROTOBUF_NONNULL FileDescriptorProto::mutable_service(int index)
13179     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13180   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.service)
13181   return _internal_mutable_service()->Mutable(index);
13182 }
13183 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>* PROTOBUF_NONNULL FileDescriptorProto::mutable_service()
13184     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13185   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.service)
13186   ::google::protobuf::internal::TSanWrite(&_impl_);
13187   return _internal_mutable_service();
13188 }
13189 inline const ::google::protobuf::ServiceDescriptorProto& FileDescriptorProto::service(int index) const
13190     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13191   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.service)
13192   return _internal_service().Get(index);
13193 }
13194 inline ::google::protobuf::ServiceDescriptorProto* PROTOBUF_NONNULL FileDescriptorProto::add_service()
13195     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13196   ::google::protobuf::internal::TSanWrite(&_impl_);
13197   ::google::protobuf::ServiceDescriptorProto* _add = _internal_mutable_service()->Add();
13198   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.service)
13199   return _add;
13200 }
13201 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>& FileDescriptorProto::service() const
13202     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13203   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.service)
13204   return _internal_service();
13205 }
13206 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>&
13207 FileDescriptorProto::_internal_service() const {
13208   ::google::protobuf::internal::TSanRead(&_impl_);
13209   return _impl_.service_;
13210 }
13211 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>* PROTOBUF_NONNULL
13212 FileDescriptorProto::_internal_mutable_service() {
13213   ::google::protobuf::internal::TSanRead(&_impl_);
13214   return &_impl_.service_;
13215 }
13216 
13217 // repeated .google.protobuf.FieldDescriptorProto extension = 7;
13218 inline int FileDescriptorProto::_internal_extension_size() const {
13219   return _internal_extension().size();
13220 }
13221 inline int FileDescriptorProto::extension_size() const {
13222   return _internal_extension_size();
13223 }
13224 inline void FileDescriptorProto::clear_extension() {
13225   ::google::protobuf::internal::TSanWrite(&_impl_);
13226   _impl_.extension_.Clear();
13227 }
13228 inline ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL FileDescriptorProto::mutable_extension(int index)
13229     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13230   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.extension)
13231   return _internal_mutable_extension()->Mutable(index);
13232 }
13233 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL FileDescriptorProto::mutable_extension()
13234     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13235   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.extension)
13236   ::google::protobuf::internal::TSanWrite(&_impl_);
13237   return _internal_mutable_extension();
13238 }
13239 inline const ::google::protobuf::FieldDescriptorProto& FileDescriptorProto::extension(int index) const
13240     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13241   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.extension)
13242   return _internal_extension().Get(index);
13243 }
13244 inline ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL FileDescriptorProto::add_extension()
13245     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13246   ::google::protobuf::internal::TSanWrite(&_impl_);
13247   ::google::protobuf::FieldDescriptorProto* _add = _internal_mutable_extension()->Add();
13248   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.extension)
13249   return _add;
13250 }
13251 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& FileDescriptorProto::extension() const
13252     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13253   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.extension)
13254   return _internal_extension();
13255 }
13256 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>&
13257 FileDescriptorProto::_internal_extension() const {
13258   ::google::protobuf::internal::TSanRead(&_impl_);
13259   return _impl_.extension_;
13260 }
13261 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL
13262 FileDescriptorProto::_internal_mutable_extension() {
13263   ::google::protobuf::internal::TSanRead(&_impl_);
13264   return &_impl_.extension_;
13265 }
13266 
13267 // optional .google.protobuf.FileOptions options = 8;
13268 inline bool FileDescriptorProto::has_options() const {
13269   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
13270   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
13271   return value;
13272 }
13273 inline void FileDescriptorProto::clear_options() {
13274   ::google::protobuf::internal::TSanWrite(&_impl_);
13275   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
13276   _impl_._has_bits_[0] &= ~0x00000008U;
13277 }
13278 inline const ::google::protobuf::FileOptions& FileDescriptorProto::_internal_options() const {
13279   ::google::protobuf::internal::TSanRead(&_impl_);
13280   const ::google::protobuf::FileOptions* p = _impl_.options_;
13281   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FileOptions&>(::google::protobuf::_FileOptions_default_instance_);
13282 }
13283 inline const ::google::protobuf::FileOptions& FileDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13284   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.options)
13285   return _internal_options();
13286 }
13287 inline void FileDescriptorProto::unsafe_arena_set_allocated_options(
13288     ::google::protobuf::FileOptions* PROTOBUF_NULLABLE value) {
13289   ::google::protobuf::internal::TSanWrite(&_impl_);
13290   if (GetArena() == nullptr) {
13291     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
13292   }
13293   _impl_.options_ = reinterpret_cast<::google::protobuf::FileOptions*>(value);
13294   if (value != nullptr) {
13295     _impl_._has_bits_[0] |= 0x00000008U;
13296   } else {
13297     _impl_._has_bits_[0] &= ~0x00000008U;
13298   }
13299   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FileDescriptorProto.options)
13300 }
13301 inline ::google::protobuf::FileOptions* PROTOBUF_NULLABLE FileDescriptorProto::release_options() {
13302   ::google::protobuf::internal::TSanWrite(&_impl_);
13303 
13304   _impl_._has_bits_[0] &= ~0x00000008U;
13305   ::google::protobuf::FileOptions* released = _impl_.options_;
13306   _impl_.options_ = nullptr;
13307   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
13308     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
13309     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13310     if (GetArena() == nullptr) {
13311       delete old;
13312     }
13313   } else {
13314     if (GetArena() != nullptr) {
13315       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13316     }
13317   }
13318   return released;
13319 }
13320 inline ::google::protobuf::FileOptions* PROTOBUF_NULLABLE FileDescriptorProto::unsafe_arena_release_options() {
13321   ::google::protobuf::internal::TSanWrite(&_impl_);
13322   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.options)
13323 
13324   _impl_._has_bits_[0] &= ~0x00000008U;
13325   ::google::protobuf::FileOptions* temp = _impl_.options_;
13326   _impl_.options_ = nullptr;
13327   return temp;
13328 }
13329 inline ::google::protobuf::FileOptions* PROTOBUF_NONNULL FileDescriptorProto::_internal_mutable_options() {
13330   ::google::protobuf::internal::TSanWrite(&_impl_);
13331   if (_impl_.options_ == nullptr) {
13332     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FileOptions>(GetArena());
13333     _impl_.options_ = reinterpret_cast<::google::protobuf::FileOptions*>(p);
13334   }
13335   return _impl_.options_;
13336 }
13337 inline ::google::protobuf::FileOptions* PROTOBUF_NONNULL FileDescriptorProto::mutable_options()
13338     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13339   _impl_._has_bits_[0] |= 0x00000008U;
13340   ::google::protobuf::FileOptions* _msg = _internal_mutable_options();
13341   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.options)
13342   return _msg;
13343 }
13344 inline void FileDescriptorProto::set_allocated_options(::google::protobuf::FileOptions* PROTOBUF_NULLABLE value) {
13345   ::google::protobuf::Arena* message_arena = GetArena();
13346   ::google::protobuf::internal::TSanWrite(&_impl_);
13347   if (message_arena == nullptr) {
13348     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
13349   }
13350 
13351   if (value != nullptr) {
13352     ::google::protobuf::Arena* submessage_arena = value->GetArena();
13353     if (message_arena != submessage_arena) {
13354       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
13355     }
13356     _impl_._has_bits_[0] |= 0x00000008U;
13357   } else {
13358     _impl_._has_bits_[0] &= ~0x00000008U;
13359   }
13360 
13361   _impl_.options_ = reinterpret_cast<::google::protobuf::FileOptions*>(value);
13362   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.options)
13363 }
13364 
13365 // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
13366 inline bool FileDescriptorProto::has_source_code_info() const {
13367   bool value = (_impl_._has_bits_[0] & 0x00000010U) != 0;
13368   PROTOBUF_ASSUME(!value || _impl_.source_code_info_ != nullptr);
13369   return value;
13370 }
13371 inline void FileDescriptorProto::clear_source_code_info() {
13372   ::google::protobuf::internal::TSanWrite(&_impl_);
13373   if (_impl_.source_code_info_ != nullptr) _impl_.source_code_info_->Clear();
13374   _impl_._has_bits_[0] &= ~0x00000010U;
13375 }
13376 inline const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::_internal_source_code_info() const {
13377   ::google::protobuf::internal::TSanRead(&_impl_);
13378   const ::google::protobuf::SourceCodeInfo* p = _impl_.source_code_info_;
13379   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::SourceCodeInfo&>(::google::protobuf::_SourceCodeInfo_default_instance_);
13380 }
13381 inline const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::source_code_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13382   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.source_code_info)
13383   return _internal_source_code_info();
13384 }
13385 inline void FileDescriptorProto::unsafe_arena_set_allocated_source_code_info(
13386     ::google::protobuf::SourceCodeInfo* PROTOBUF_NULLABLE value) {
13387   ::google::protobuf::internal::TSanWrite(&_impl_);
13388   if (GetArena() == nullptr) {
13389     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_code_info_);
13390   }
13391   _impl_.source_code_info_ = reinterpret_cast<::google::protobuf::SourceCodeInfo*>(value);
13392   if (value != nullptr) {
13393     _impl_._has_bits_[0] |= 0x00000010U;
13394   } else {
13395     _impl_._has_bits_[0] &= ~0x00000010U;
13396   }
13397   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FileDescriptorProto.source_code_info)
13398 }
13399 inline ::google::protobuf::SourceCodeInfo* PROTOBUF_NULLABLE FileDescriptorProto::release_source_code_info() {
13400   ::google::protobuf::internal::TSanWrite(&_impl_);
13401 
13402   _impl_._has_bits_[0] &= ~0x00000010U;
13403   ::google::protobuf::SourceCodeInfo* released = _impl_.source_code_info_;
13404   _impl_.source_code_info_ = nullptr;
13405   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
13406     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
13407     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13408     if (GetArena() == nullptr) {
13409       delete old;
13410     }
13411   } else {
13412     if (GetArena() != nullptr) {
13413       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13414     }
13415   }
13416   return released;
13417 }
13418 inline ::google::protobuf::SourceCodeInfo* PROTOBUF_NULLABLE FileDescriptorProto::unsafe_arena_release_source_code_info() {
13419   ::google::protobuf::internal::TSanWrite(&_impl_);
13420   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.source_code_info)
13421 
13422   _impl_._has_bits_[0] &= ~0x00000010U;
13423   ::google::protobuf::SourceCodeInfo* temp = _impl_.source_code_info_;
13424   _impl_.source_code_info_ = nullptr;
13425   return temp;
13426 }
13427 inline ::google::protobuf::SourceCodeInfo* PROTOBUF_NONNULL FileDescriptorProto::_internal_mutable_source_code_info() {
13428   ::google::protobuf::internal::TSanWrite(&_impl_);
13429   if (_impl_.source_code_info_ == nullptr) {
13430     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::SourceCodeInfo>(GetArena());
13431     _impl_.source_code_info_ = reinterpret_cast<::google::protobuf::SourceCodeInfo*>(p);
13432   }
13433   return _impl_.source_code_info_;
13434 }
13435 inline ::google::protobuf::SourceCodeInfo* PROTOBUF_NONNULL FileDescriptorProto::mutable_source_code_info()
13436     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13437   _impl_._has_bits_[0] |= 0x00000010U;
13438   ::google::protobuf::SourceCodeInfo* _msg = _internal_mutable_source_code_info();
13439   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.source_code_info)
13440   return _msg;
13441 }
13442 inline void FileDescriptorProto::set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* PROTOBUF_NULLABLE value) {
13443   ::google::protobuf::Arena* message_arena = GetArena();
13444   ::google::protobuf::internal::TSanWrite(&_impl_);
13445   if (message_arena == nullptr) {
13446     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_code_info_);
13447   }
13448 
13449   if (value != nullptr) {
13450     ::google::protobuf::Arena* submessage_arena = value->GetArena();
13451     if (message_arena != submessage_arena) {
13452       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
13453     }
13454     _impl_._has_bits_[0] |= 0x00000010U;
13455   } else {
13456     _impl_._has_bits_[0] &= ~0x00000010U;
13457   }
13458 
13459   _impl_.source_code_info_ = reinterpret_cast<::google::protobuf::SourceCodeInfo*>(value);
13460   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.source_code_info)
13461 }
13462 
13463 // optional string syntax = 12;
13464 inline bool FileDescriptorProto::has_syntax() const {
13465   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
13466   return value;
13467 }
13468 inline void FileDescriptorProto::clear_syntax() {
13469   ::google::protobuf::internal::TSanWrite(&_impl_);
13470   _impl_.syntax_.ClearToEmpty();
13471   _impl_._has_bits_[0] &= ~0x00000004U;
13472 }
13473 inline const ::std::string& FileDescriptorProto::syntax() const
13474     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13475   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.syntax)
13476   return _internal_syntax();
13477 }
13478 template <typename Arg_, typename... Args_>
13479 PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_syntax(Arg_&& arg, Args_... args) {
13480   ::google::protobuf::internal::TSanWrite(&_impl_);
13481   _impl_._has_bits_[0] |= 0x00000004U;
13482   _impl_.syntax_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
13483   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.syntax)
13484 }
13485 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::mutable_syntax()
13486     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13487   ::std::string* _s = _internal_mutable_syntax();
13488   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.syntax)
13489   return _s;
13490 }
13491 inline const ::std::string& FileDescriptorProto::_internal_syntax() const {
13492   ::google::protobuf::internal::TSanRead(&_impl_);
13493   return _impl_.syntax_.Get();
13494 }
13495 inline void FileDescriptorProto::_internal_set_syntax(const ::std::string& value) {
13496   ::google::protobuf::internal::TSanWrite(&_impl_);
13497   _impl_._has_bits_[0] |= 0x00000004U;
13498   _impl_.syntax_.Set(value, GetArena());
13499 }
13500 inline ::std::string* PROTOBUF_NONNULL FileDescriptorProto::_internal_mutable_syntax() {
13501   ::google::protobuf::internal::TSanWrite(&_impl_);
13502   _impl_._has_bits_[0] |= 0x00000004U;
13503   return _impl_.syntax_.Mutable( GetArena());
13504 }
13505 inline ::std::string* PROTOBUF_NULLABLE FileDescriptorProto::release_syntax() {
13506   ::google::protobuf::internal::TSanWrite(&_impl_);
13507   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.syntax)
13508   if ((_impl_._has_bits_[0] & 0x00000004U) == 0) {
13509     return nullptr;
13510   }
13511   _impl_._has_bits_[0] &= ~0x00000004U;
13512   auto* released = _impl_.syntax_.Release();
13513   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
13514     _impl_.syntax_.Set("", GetArena());
13515   }
13516   return released;
13517 }
13518 inline void FileDescriptorProto::set_allocated_syntax(::std::string* PROTOBUF_NULLABLE value) {
13519   ::google::protobuf::internal::TSanWrite(&_impl_);
13520   if (value != nullptr) {
13521     _impl_._has_bits_[0] |= 0x00000004U;
13522   } else {
13523     _impl_._has_bits_[0] &= ~0x00000004U;
13524   }
13525   _impl_.syntax_.SetAllocated(value, GetArena());
13526   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.syntax_.IsDefault()) {
13527     _impl_.syntax_.Set("", GetArena());
13528   }
13529   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.syntax)
13530 }
13531 
13532 // optional .google.protobuf.Edition edition = 14;
13533 inline bool FileDescriptorProto::has_edition() const {
13534   bool value = (_impl_._has_bits_[0] & 0x00000020U) != 0;
13535   return value;
13536 }
13537 inline void FileDescriptorProto::clear_edition() {
13538   ::google::protobuf::internal::TSanWrite(&_impl_);
13539   _impl_.edition_ = 0;
13540   _impl_._has_bits_[0] &= ~0x00000020U;
13541 }
13542 inline ::google::protobuf::Edition FileDescriptorProto::edition() const {
13543   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.edition)
13544   return _internal_edition();
13545 }
13546 inline void FileDescriptorProto::set_edition(::google::protobuf::Edition value) {
13547   _internal_set_edition(value);
13548   _impl_._has_bits_[0] |= 0x00000020U;
13549   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.edition)
13550 }
13551 inline ::google::protobuf::Edition FileDescriptorProto::_internal_edition() const {
13552   ::google::protobuf::internal::TSanRead(&_impl_);
13553   return static_cast<::google::protobuf::Edition>(_impl_.edition_);
13554 }
13555 inline void FileDescriptorProto::_internal_set_edition(::google::protobuf::Edition value) {
13556   ::google::protobuf::internal::TSanWrite(&_impl_);
13557 
13558                                           assert(::google::protobuf::internal::ValidateEnum(
13559                                               value, ::google::protobuf::Edition_internal_data_));
13560                                           _impl_.edition_ = value;
13561 }
13562 
13563 // -------------------------------------------------------------------
13564 
13565 // DescriptorProto_ExtensionRange
13566 
13567 // optional int32 start = 1;
13568 inline bool DescriptorProto_ExtensionRange::has_start() const {
13569   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
13570   return value;
13571 }
13572 inline void DescriptorProto_ExtensionRange::clear_start() {
13573   ::google::protobuf::internal::TSanWrite(&_impl_);
13574   _impl_.start_ = 0;
13575   _impl_._has_bits_[0] &= ~0x00000002U;
13576 }
13577 inline ::int32_t DescriptorProto_ExtensionRange::start() const {
13578   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.start)
13579   return _internal_start();
13580 }
13581 inline void DescriptorProto_ExtensionRange::set_start(::int32_t value) {
13582   _internal_set_start(value);
13583   _impl_._has_bits_[0] |= 0x00000002U;
13584   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.start)
13585 }
13586 inline ::int32_t DescriptorProto_ExtensionRange::_internal_start() const {
13587   ::google::protobuf::internal::TSanRead(&_impl_);
13588   return _impl_.start_;
13589 }
13590 inline void DescriptorProto_ExtensionRange::_internal_set_start(::int32_t value) {
13591   ::google::protobuf::internal::TSanWrite(&_impl_);
13592   _impl_.start_ = value;
13593 }
13594 
13595 // optional int32 end = 2;
13596 inline bool DescriptorProto_ExtensionRange::has_end() const {
13597   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
13598   return value;
13599 }
13600 inline void DescriptorProto_ExtensionRange::clear_end() {
13601   ::google::protobuf::internal::TSanWrite(&_impl_);
13602   _impl_.end_ = 0;
13603   _impl_._has_bits_[0] &= ~0x00000004U;
13604 }
13605 inline ::int32_t DescriptorProto_ExtensionRange::end() const {
13606   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.end)
13607   return _internal_end();
13608 }
13609 inline void DescriptorProto_ExtensionRange::set_end(::int32_t value) {
13610   _internal_set_end(value);
13611   _impl_._has_bits_[0] |= 0x00000004U;
13612   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.end)
13613 }
13614 inline ::int32_t DescriptorProto_ExtensionRange::_internal_end() const {
13615   ::google::protobuf::internal::TSanRead(&_impl_);
13616   return _impl_.end_;
13617 }
13618 inline void DescriptorProto_ExtensionRange::_internal_set_end(::int32_t value) {
13619   ::google::protobuf::internal::TSanWrite(&_impl_);
13620   _impl_.end_ = value;
13621 }
13622 
13623 // optional .google.protobuf.ExtensionRangeOptions options = 3;
13624 inline bool DescriptorProto_ExtensionRange::has_options() const {
13625   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
13626   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
13627   return value;
13628 }
13629 inline void DescriptorProto_ExtensionRange::clear_options() {
13630   ::google::protobuf::internal::TSanWrite(&_impl_);
13631   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
13632   _impl_._has_bits_[0] &= ~0x00000001U;
13633 }
13634 inline const ::google::protobuf::ExtensionRangeOptions& DescriptorProto_ExtensionRange::_internal_options() const {
13635   ::google::protobuf::internal::TSanRead(&_impl_);
13636   const ::google::protobuf::ExtensionRangeOptions* p = _impl_.options_;
13637   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::ExtensionRangeOptions&>(::google::protobuf::_ExtensionRangeOptions_default_instance_);
13638 }
13639 inline const ::google::protobuf::ExtensionRangeOptions& DescriptorProto_ExtensionRange::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13640   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.options)
13641   return _internal_options();
13642 }
13643 inline void DescriptorProto_ExtensionRange::unsafe_arena_set_allocated_options(
13644     ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NULLABLE value) {
13645   ::google::protobuf::internal::TSanWrite(&_impl_);
13646   if (GetArena() == nullptr) {
13647     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
13648   }
13649   _impl_.options_ = reinterpret_cast<::google::protobuf::ExtensionRangeOptions*>(value);
13650   if (value != nullptr) {
13651     _impl_._has_bits_[0] |= 0x00000001U;
13652   } else {
13653     _impl_._has_bits_[0] &= ~0x00000001U;
13654   }
13655   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.DescriptorProto.ExtensionRange.options)
13656 }
13657 inline ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NULLABLE DescriptorProto_ExtensionRange::release_options() {
13658   ::google::protobuf::internal::TSanWrite(&_impl_);
13659 
13660   _impl_._has_bits_[0] &= ~0x00000001U;
13661   ::google::protobuf::ExtensionRangeOptions* released = _impl_.options_;
13662   _impl_.options_ = nullptr;
13663   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
13664     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
13665     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13666     if (GetArena() == nullptr) {
13667       delete old;
13668     }
13669   } else {
13670     if (GetArena() != nullptr) {
13671       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13672     }
13673   }
13674   return released;
13675 }
13676 inline ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NULLABLE DescriptorProto_ExtensionRange::unsafe_arena_release_options() {
13677   ::google::protobuf::internal::TSanWrite(&_impl_);
13678   // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.ExtensionRange.options)
13679 
13680   _impl_._has_bits_[0] &= ~0x00000001U;
13681   ::google::protobuf::ExtensionRangeOptions* temp = _impl_.options_;
13682   _impl_.options_ = nullptr;
13683   return temp;
13684 }
13685 inline ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NONNULL DescriptorProto_ExtensionRange::_internal_mutable_options() {
13686   ::google::protobuf::internal::TSanWrite(&_impl_);
13687   if (_impl_.options_ == nullptr) {
13688     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::ExtensionRangeOptions>(GetArena());
13689     _impl_.options_ = reinterpret_cast<::google::protobuf::ExtensionRangeOptions*>(p);
13690   }
13691   return _impl_.options_;
13692 }
13693 inline ::google::protobuf::ExtensionRangeOptions* PROTOBUF_NONNULL DescriptorProto_ExtensionRange::mutable_options()
13694     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13695   _impl_._has_bits_[0] |= 0x00000001U;
13696   ::google::protobuf::ExtensionRangeOptions* _msg = _internal_mutable_options();
13697   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.ExtensionRange.options)
13698   return _msg;
13699 }
13700 inline void DescriptorProto_ExtensionRange::set_allocated_options(::google::protobuf::ExtensionRangeOptions* PROTOBUF_NULLABLE value) {
13701   ::google::protobuf::Arena* message_arena = GetArena();
13702   ::google::protobuf::internal::TSanWrite(&_impl_);
13703   if (message_arena == nullptr) {
13704     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
13705   }
13706 
13707   if (value != nullptr) {
13708     ::google::protobuf::Arena* submessage_arena = value->GetArena();
13709     if (message_arena != submessage_arena) {
13710       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
13711     }
13712     _impl_._has_bits_[0] |= 0x00000001U;
13713   } else {
13714     _impl_._has_bits_[0] &= ~0x00000001U;
13715   }
13716 
13717   _impl_.options_ = reinterpret_cast<::google::protobuf::ExtensionRangeOptions*>(value);
13718   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.ExtensionRange.options)
13719 }
13720 
13721 // -------------------------------------------------------------------
13722 
13723 // DescriptorProto_ReservedRange
13724 
13725 // optional int32 start = 1;
13726 inline bool DescriptorProto_ReservedRange::has_start() const {
13727   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
13728   return value;
13729 }
13730 inline void DescriptorProto_ReservedRange::clear_start() {
13731   ::google::protobuf::internal::TSanWrite(&_impl_);
13732   _impl_.start_ = 0;
13733   _impl_._has_bits_[0] &= ~0x00000001U;
13734 }
13735 inline ::int32_t DescriptorProto_ReservedRange::start() const {
13736   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ReservedRange.start)
13737   return _internal_start();
13738 }
13739 inline void DescriptorProto_ReservedRange::set_start(::int32_t value) {
13740   _internal_set_start(value);
13741   _impl_._has_bits_[0] |= 0x00000001U;
13742   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.start)
13743 }
13744 inline ::int32_t DescriptorProto_ReservedRange::_internal_start() const {
13745   ::google::protobuf::internal::TSanRead(&_impl_);
13746   return _impl_.start_;
13747 }
13748 inline void DescriptorProto_ReservedRange::_internal_set_start(::int32_t value) {
13749   ::google::protobuf::internal::TSanWrite(&_impl_);
13750   _impl_.start_ = value;
13751 }
13752 
13753 // optional int32 end = 2;
13754 inline bool DescriptorProto_ReservedRange::has_end() const {
13755   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
13756   return value;
13757 }
13758 inline void DescriptorProto_ReservedRange::clear_end() {
13759   ::google::protobuf::internal::TSanWrite(&_impl_);
13760   _impl_.end_ = 0;
13761   _impl_._has_bits_[0] &= ~0x00000002U;
13762 }
13763 inline ::int32_t DescriptorProto_ReservedRange::end() const {
13764   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ReservedRange.end)
13765   return _internal_end();
13766 }
13767 inline void DescriptorProto_ReservedRange::set_end(::int32_t value) {
13768   _internal_set_end(value);
13769   _impl_._has_bits_[0] |= 0x00000002U;
13770   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.end)
13771 }
13772 inline ::int32_t DescriptorProto_ReservedRange::_internal_end() const {
13773   ::google::protobuf::internal::TSanRead(&_impl_);
13774   return _impl_.end_;
13775 }
13776 inline void DescriptorProto_ReservedRange::_internal_set_end(::int32_t value) {
13777   ::google::protobuf::internal::TSanWrite(&_impl_);
13778   _impl_.end_ = value;
13779 }
13780 
13781 // -------------------------------------------------------------------
13782 
13783 // DescriptorProto
13784 
13785 // optional string name = 1;
13786 inline bool DescriptorProto::has_name() const {
13787   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
13788   return value;
13789 }
13790 inline void DescriptorProto::clear_name() {
13791   ::google::protobuf::internal::TSanWrite(&_impl_);
13792   _impl_.name_.ClearToEmpty();
13793   _impl_._has_bits_[0] &= ~0x00000001U;
13794 }
13795 inline const ::std::string& DescriptorProto::name() const
13796     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13797   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.name)
13798   return _internal_name();
13799 }
13800 template <typename Arg_, typename... Args_>
13801 PROTOBUF_ALWAYS_INLINE void DescriptorProto::set_name(Arg_&& arg, Args_... args) {
13802   ::google::protobuf::internal::TSanWrite(&_impl_);
13803   _impl_._has_bits_[0] |= 0x00000001U;
13804   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
13805   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.name)
13806 }
13807 inline ::std::string* PROTOBUF_NONNULL DescriptorProto::mutable_name()
13808     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13809   ::std::string* _s = _internal_mutable_name();
13810   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.name)
13811   return _s;
13812 }
13813 inline const ::std::string& DescriptorProto::_internal_name() const {
13814   ::google::protobuf::internal::TSanRead(&_impl_);
13815   return _impl_.name_.Get();
13816 }
13817 inline void DescriptorProto::_internal_set_name(const ::std::string& value) {
13818   ::google::protobuf::internal::TSanWrite(&_impl_);
13819   _impl_._has_bits_[0] |= 0x00000001U;
13820   _impl_.name_.Set(value, GetArena());
13821 }
13822 inline ::std::string* PROTOBUF_NONNULL DescriptorProto::_internal_mutable_name() {
13823   ::google::protobuf::internal::TSanWrite(&_impl_);
13824   _impl_._has_bits_[0] |= 0x00000001U;
13825   return _impl_.name_.Mutable( GetArena());
13826 }
13827 inline ::std::string* PROTOBUF_NULLABLE DescriptorProto::release_name() {
13828   ::google::protobuf::internal::TSanWrite(&_impl_);
13829   // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.name)
13830   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
13831     return nullptr;
13832   }
13833   _impl_._has_bits_[0] &= ~0x00000001U;
13834   auto* released = _impl_.name_.Release();
13835   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
13836     _impl_.name_.Set("", GetArena());
13837   }
13838   return released;
13839 }
13840 inline void DescriptorProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
13841   ::google::protobuf::internal::TSanWrite(&_impl_);
13842   if (value != nullptr) {
13843     _impl_._has_bits_[0] |= 0x00000001U;
13844   } else {
13845     _impl_._has_bits_[0] &= ~0x00000001U;
13846   }
13847   _impl_.name_.SetAllocated(value, GetArena());
13848   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
13849     _impl_.name_.Set("", GetArena());
13850   }
13851   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.name)
13852 }
13853 
13854 // repeated .google.protobuf.FieldDescriptorProto field = 2;
13855 inline int DescriptorProto::_internal_field_size() const {
13856   return _internal_field().size();
13857 }
13858 inline int DescriptorProto::field_size() const {
13859   return _internal_field_size();
13860 }
13861 inline void DescriptorProto::clear_field() {
13862   ::google::protobuf::internal::TSanWrite(&_impl_);
13863   _impl_.field_.Clear();
13864 }
13865 inline ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL DescriptorProto::mutable_field(int index)
13866     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13867   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.field)
13868   return _internal_mutable_field()->Mutable(index);
13869 }
13870 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL DescriptorProto::mutable_field()
13871     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13872   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.field)
13873   ::google::protobuf::internal::TSanWrite(&_impl_);
13874   return _internal_mutable_field();
13875 }
13876 inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::field(int index) const
13877     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13878   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.field)
13879   return _internal_field().Get(index);
13880 }
13881 inline ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL DescriptorProto::add_field()
13882     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13883   ::google::protobuf::internal::TSanWrite(&_impl_);
13884   ::google::protobuf::FieldDescriptorProto* _add = _internal_mutable_field()->Add();
13885   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.field)
13886   return _add;
13887 }
13888 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& DescriptorProto::field() const
13889     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13890   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.field)
13891   return _internal_field();
13892 }
13893 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>&
13894 DescriptorProto::_internal_field() const {
13895   ::google::protobuf::internal::TSanRead(&_impl_);
13896   return _impl_.field_;
13897 }
13898 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL
13899 DescriptorProto::_internal_mutable_field() {
13900   ::google::protobuf::internal::TSanRead(&_impl_);
13901   return &_impl_.field_;
13902 }
13903 
13904 // repeated .google.protobuf.FieldDescriptorProto extension = 6;
13905 inline int DescriptorProto::_internal_extension_size() const {
13906   return _internal_extension().size();
13907 }
13908 inline int DescriptorProto::extension_size() const {
13909   return _internal_extension_size();
13910 }
13911 inline void DescriptorProto::clear_extension() {
13912   ::google::protobuf::internal::TSanWrite(&_impl_);
13913   _impl_.extension_.Clear();
13914 }
13915 inline ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL DescriptorProto::mutable_extension(int index)
13916     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13917   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension)
13918   return _internal_mutable_extension()->Mutable(index);
13919 }
13920 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL DescriptorProto::mutable_extension()
13921     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13922   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension)
13923   ::google::protobuf::internal::TSanWrite(&_impl_);
13924   return _internal_mutable_extension();
13925 }
13926 inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::extension(int index) const
13927     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13928   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension)
13929   return _internal_extension().Get(index);
13930 }
13931 inline ::google::protobuf::FieldDescriptorProto* PROTOBUF_NONNULL DescriptorProto::add_extension()
13932     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13933   ::google::protobuf::internal::TSanWrite(&_impl_);
13934   ::google::protobuf::FieldDescriptorProto* _add = _internal_mutable_extension()->Add();
13935   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension)
13936   return _add;
13937 }
13938 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& DescriptorProto::extension() const
13939     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13940   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension)
13941   return _internal_extension();
13942 }
13943 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>&
13944 DescriptorProto::_internal_extension() const {
13945   ::google::protobuf::internal::TSanRead(&_impl_);
13946   return _impl_.extension_;
13947 }
13948 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* PROTOBUF_NONNULL
13949 DescriptorProto::_internal_mutable_extension() {
13950   ::google::protobuf::internal::TSanRead(&_impl_);
13951   return &_impl_.extension_;
13952 }
13953 
13954 // repeated .google.protobuf.DescriptorProto nested_type = 3;
13955 inline int DescriptorProto::_internal_nested_type_size() const {
13956   return _internal_nested_type().size();
13957 }
13958 inline int DescriptorProto::nested_type_size() const {
13959   return _internal_nested_type_size();
13960 }
13961 inline void DescriptorProto::clear_nested_type() {
13962   ::google::protobuf::internal::TSanWrite(&_impl_);
13963   _impl_.nested_type_.Clear();
13964 }
13965 inline ::google::protobuf::DescriptorProto* PROTOBUF_NONNULL DescriptorProto::mutable_nested_type(int index)
13966     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13967   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.nested_type)
13968   return _internal_mutable_nested_type()->Mutable(index);
13969 }
13970 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* PROTOBUF_NONNULL DescriptorProto::mutable_nested_type()
13971     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13972   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.nested_type)
13973   ::google::protobuf::internal::TSanWrite(&_impl_);
13974   return _internal_mutable_nested_type();
13975 }
13976 inline const ::google::protobuf::DescriptorProto& DescriptorProto::nested_type(int index) const
13977     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13978   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.nested_type)
13979   return _internal_nested_type().Get(index);
13980 }
13981 inline ::google::protobuf::DescriptorProto* PROTOBUF_NONNULL DescriptorProto::add_nested_type()
13982     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13983   ::google::protobuf::internal::TSanWrite(&_impl_);
13984   ::google::protobuf::DescriptorProto* _add = _internal_mutable_nested_type()->Add();
13985   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.nested_type)
13986   return _add;
13987 }
13988 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& DescriptorProto::nested_type() const
13989     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13990   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.nested_type)
13991   return _internal_nested_type();
13992 }
13993 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>&
13994 DescriptorProto::_internal_nested_type() const {
13995   ::google::protobuf::internal::TSanRead(&_impl_);
13996   return _impl_.nested_type_;
13997 }
13998 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* PROTOBUF_NONNULL
13999 DescriptorProto::_internal_mutable_nested_type() {
14000   ::google::protobuf::internal::TSanRead(&_impl_);
14001   return &_impl_.nested_type_;
14002 }
14003 
14004 // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
14005 inline int DescriptorProto::_internal_enum_type_size() const {
14006   return _internal_enum_type().size();
14007 }
14008 inline int DescriptorProto::enum_type_size() const {
14009   return _internal_enum_type_size();
14010 }
14011 inline void DescriptorProto::clear_enum_type() {
14012   ::google::protobuf::internal::TSanWrite(&_impl_);
14013   _impl_.enum_type_.Clear();
14014 }
14015 inline ::google::protobuf::EnumDescriptorProto* PROTOBUF_NONNULL DescriptorProto::mutable_enum_type(int index)
14016     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14017   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.enum_type)
14018   return _internal_mutable_enum_type()->Mutable(index);
14019 }
14020 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* PROTOBUF_NONNULL DescriptorProto::mutable_enum_type()
14021     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14022   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.enum_type)
14023   ::google::protobuf::internal::TSanWrite(&_impl_);
14024   return _internal_mutable_enum_type();
14025 }
14026 inline const ::google::protobuf::EnumDescriptorProto& DescriptorProto::enum_type(int index) const
14027     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14028   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.enum_type)
14029   return _internal_enum_type().Get(index);
14030 }
14031 inline ::google::protobuf::EnumDescriptorProto* PROTOBUF_NONNULL DescriptorProto::add_enum_type()
14032     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14033   ::google::protobuf::internal::TSanWrite(&_impl_);
14034   ::google::protobuf::EnumDescriptorProto* _add = _internal_mutable_enum_type()->Add();
14035   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.enum_type)
14036   return _add;
14037 }
14038 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& DescriptorProto::enum_type() const
14039     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14040   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.enum_type)
14041   return _internal_enum_type();
14042 }
14043 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>&
14044 DescriptorProto::_internal_enum_type() const {
14045   ::google::protobuf::internal::TSanRead(&_impl_);
14046   return _impl_.enum_type_;
14047 }
14048 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* PROTOBUF_NONNULL
14049 DescriptorProto::_internal_mutable_enum_type() {
14050   ::google::protobuf::internal::TSanRead(&_impl_);
14051   return &_impl_.enum_type_;
14052 }
14053 
14054 // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
14055 inline int DescriptorProto::_internal_extension_range_size() const {
14056   return _internal_extension_range().size();
14057 }
14058 inline int DescriptorProto::extension_range_size() const {
14059   return _internal_extension_range_size();
14060 }
14061 inline void DescriptorProto::clear_extension_range() {
14062   ::google::protobuf::internal::TSanWrite(&_impl_);
14063   _impl_.extension_range_.Clear();
14064 }
14065 inline ::google::protobuf::DescriptorProto_ExtensionRange* PROTOBUF_NONNULL DescriptorProto::mutable_extension_range(int index)
14066     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14067   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension_range)
14068   return _internal_mutable_extension_range()->Mutable(index);
14069 }
14070 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>* PROTOBUF_NONNULL DescriptorProto::mutable_extension_range()
14071     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14072   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension_range)
14073   ::google::protobuf::internal::TSanWrite(&_impl_);
14074   return _internal_mutable_extension_range();
14075 }
14076 inline const ::google::protobuf::DescriptorProto_ExtensionRange& DescriptorProto::extension_range(int index) const
14077     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14078   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension_range)
14079   return _internal_extension_range().Get(index);
14080 }
14081 inline ::google::protobuf::DescriptorProto_ExtensionRange* PROTOBUF_NONNULL DescriptorProto::add_extension_range()
14082     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14083   ::google::protobuf::internal::TSanWrite(&_impl_);
14084   ::google::protobuf::DescriptorProto_ExtensionRange* _add = _internal_mutable_extension_range()->Add();
14085   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension_range)
14086   return _add;
14087 }
14088 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>& DescriptorProto::extension_range() const
14089     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14090   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension_range)
14091   return _internal_extension_range();
14092 }
14093 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>&
14094 DescriptorProto::_internal_extension_range() const {
14095   ::google::protobuf::internal::TSanRead(&_impl_);
14096   return _impl_.extension_range_;
14097 }
14098 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>* PROTOBUF_NONNULL
14099 DescriptorProto::_internal_mutable_extension_range() {
14100   ::google::protobuf::internal::TSanRead(&_impl_);
14101   return &_impl_.extension_range_;
14102 }
14103 
14104 // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
14105 inline int DescriptorProto::_internal_oneof_decl_size() const {
14106   return _internal_oneof_decl().size();
14107 }
14108 inline int DescriptorProto::oneof_decl_size() const {
14109   return _internal_oneof_decl_size();
14110 }
14111 inline void DescriptorProto::clear_oneof_decl() {
14112   ::google::protobuf::internal::TSanWrite(&_impl_);
14113   _impl_.oneof_decl_.Clear();
14114 }
14115 inline ::google::protobuf::OneofDescriptorProto* PROTOBUF_NONNULL DescriptorProto::mutable_oneof_decl(int index)
14116     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14117   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.oneof_decl)
14118   return _internal_mutable_oneof_decl()->Mutable(index);
14119 }
14120 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>* PROTOBUF_NONNULL DescriptorProto::mutable_oneof_decl()
14121     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14122   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.oneof_decl)
14123   ::google::protobuf::internal::TSanWrite(&_impl_);
14124   return _internal_mutable_oneof_decl();
14125 }
14126 inline const ::google::protobuf::OneofDescriptorProto& DescriptorProto::oneof_decl(int index) const
14127     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14128   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.oneof_decl)
14129   return _internal_oneof_decl().Get(index);
14130 }
14131 inline ::google::protobuf::OneofDescriptorProto* PROTOBUF_NONNULL DescriptorProto::add_oneof_decl()
14132     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14133   ::google::protobuf::internal::TSanWrite(&_impl_);
14134   ::google::protobuf::OneofDescriptorProto* _add = _internal_mutable_oneof_decl()->Add();
14135   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.oneof_decl)
14136   return _add;
14137 }
14138 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>& DescriptorProto::oneof_decl() const
14139     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14140   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.oneof_decl)
14141   return _internal_oneof_decl();
14142 }
14143 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>&
14144 DescriptorProto::_internal_oneof_decl() const {
14145   ::google::protobuf::internal::TSanRead(&_impl_);
14146   return _impl_.oneof_decl_;
14147 }
14148 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>* PROTOBUF_NONNULL
14149 DescriptorProto::_internal_mutable_oneof_decl() {
14150   ::google::protobuf::internal::TSanRead(&_impl_);
14151   return &_impl_.oneof_decl_;
14152 }
14153 
14154 // optional .google.protobuf.MessageOptions options = 7;
14155 inline bool DescriptorProto::has_options() const {
14156   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
14157   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
14158   return value;
14159 }
14160 inline void DescriptorProto::clear_options() {
14161   ::google::protobuf::internal::TSanWrite(&_impl_);
14162   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
14163   _impl_._has_bits_[0] &= ~0x00000002U;
14164 }
14165 inline const ::google::protobuf::MessageOptions& DescriptorProto::_internal_options() const {
14166   ::google::protobuf::internal::TSanRead(&_impl_);
14167   const ::google::protobuf::MessageOptions* p = _impl_.options_;
14168   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::MessageOptions&>(::google::protobuf::_MessageOptions_default_instance_);
14169 }
14170 inline const ::google::protobuf::MessageOptions& DescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14171   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.options)
14172   return _internal_options();
14173 }
14174 inline void DescriptorProto::unsafe_arena_set_allocated_options(
14175     ::google::protobuf::MessageOptions* PROTOBUF_NULLABLE value) {
14176   ::google::protobuf::internal::TSanWrite(&_impl_);
14177   if (GetArena() == nullptr) {
14178     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
14179   }
14180   _impl_.options_ = reinterpret_cast<::google::protobuf::MessageOptions*>(value);
14181   if (value != nullptr) {
14182     _impl_._has_bits_[0] |= 0x00000002U;
14183   } else {
14184     _impl_._has_bits_[0] &= ~0x00000002U;
14185   }
14186   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.DescriptorProto.options)
14187 }
14188 inline ::google::protobuf::MessageOptions* PROTOBUF_NULLABLE DescriptorProto::release_options() {
14189   ::google::protobuf::internal::TSanWrite(&_impl_);
14190 
14191   _impl_._has_bits_[0] &= ~0x00000002U;
14192   ::google::protobuf::MessageOptions* released = _impl_.options_;
14193   _impl_.options_ = nullptr;
14194   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
14195     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14196     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14197     if (GetArena() == nullptr) {
14198       delete old;
14199     }
14200   } else {
14201     if (GetArena() != nullptr) {
14202       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14203     }
14204   }
14205   return released;
14206 }
14207 inline ::google::protobuf::MessageOptions* PROTOBUF_NULLABLE DescriptorProto::unsafe_arena_release_options() {
14208   ::google::protobuf::internal::TSanWrite(&_impl_);
14209   // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.options)
14210 
14211   _impl_._has_bits_[0] &= ~0x00000002U;
14212   ::google::protobuf::MessageOptions* temp = _impl_.options_;
14213   _impl_.options_ = nullptr;
14214   return temp;
14215 }
14216 inline ::google::protobuf::MessageOptions* PROTOBUF_NONNULL DescriptorProto::_internal_mutable_options() {
14217   ::google::protobuf::internal::TSanWrite(&_impl_);
14218   if (_impl_.options_ == nullptr) {
14219     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::MessageOptions>(GetArena());
14220     _impl_.options_ = reinterpret_cast<::google::protobuf::MessageOptions*>(p);
14221   }
14222   return _impl_.options_;
14223 }
14224 inline ::google::protobuf::MessageOptions* PROTOBUF_NONNULL DescriptorProto::mutable_options()
14225     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14226   _impl_._has_bits_[0] |= 0x00000002U;
14227   ::google::protobuf::MessageOptions* _msg = _internal_mutable_options();
14228   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.options)
14229   return _msg;
14230 }
14231 inline void DescriptorProto::set_allocated_options(::google::protobuf::MessageOptions* PROTOBUF_NULLABLE value) {
14232   ::google::protobuf::Arena* message_arena = GetArena();
14233   ::google::protobuf::internal::TSanWrite(&_impl_);
14234   if (message_arena == nullptr) {
14235     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
14236   }
14237 
14238   if (value != nullptr) {
14239     ::google::protobuf::Arena* submessage_arena = value->GetArena();
14240     if (message_arena != submessage_arena) {
14241       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14242     }
14243     _impl_._has_bits_[0] |= 0x00000002U;
14244   } else {
14245     _impl_._has_bits_[0] &= ~0x00000002U;
14246   }
14247 
14248   _impl_.options_ = reinterpret_cast<::google::protobuf::MessageOptions*>(value);
14249   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.options)
14250 }
14251 
14252 // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
14253 inline int DescriptorProto::_internal_reserved_range_size() const {
14254   return _internal_reserved_range().size();
14255 }
14256 inline int DescriptorProto::reserved_range_size() const {
14257   return _internal_reserved_range_size();
14258 }
14259 inline void DescriptorProto::clear_reserved_range() {
14260   ::google::protobuf::internal::TSanWrite(&_impl_);
14261   _impl_.reserved_range_.Clear();
14262 }
14263 inline ::google::protobuf::DescriptorProto_ReservedRange* PROTOBUF_NONNULL DescriptorProto::mutable_reserved_range(int index)
14264     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14265   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.reserved_range)
14266   return _internal_mutable_reserved_range()->Mutable(index);
14267 }
14268 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>* PROTOBUF_NONNULL DescriptorProto::mutable_reserved_range()
14269     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14270   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.reserved_range)
14271   ::google::protobuf::internal::TSanWrite(&_impl_);
14272   return _internal_mutable_reserved_range();
14273 }
14274 inline const ::google::protobuf::DescriptorProto_ReservedRange& DescriptorProto::reserved_range(int index) const
14275     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14276   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.reserved_range)
14277   return _internal_reserved_range().Get(index);
14278 }
14279 inline ::google::protobuf::DescriptorProto_ReservedRange* PROTOBUF_NONNULL DescriptorProto::add_reserved_range()
14280     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14281   ::google::protobuf::internal::TSanWrite(&_impl_);
14282   ::google::protobuf::DescriptorProto_ReservedRange* _add = _internal_mutable_reserved_range()->Add();
14283   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.reserved_range)
14284   return _add;
14285 }
14286 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>& DescriptorProto::reserved_range() const
14287     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14288   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.reserved_range)
14289   return _internal_reserved_range();
14290 }
14291 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>&
14292 DescriptorProto::_internal_reserved_range() const {
14293   ::google::protobuf::internal::TSanRead(&_impl_);
14294   return _impl_.reserved_range_;
14295 }
14296 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>* PROTOBUF_NONNULL
14297 DescriptorProto::_internal_mutable_reserved_range() {
14298   ::google::protobuf::internal::TSanRead(&_impl_);
14299   return &_impl_.reserved_range_;
14300 }
14301 
14302 // repeated string reserved_name = 10;
14303 inline int DescriptorProto::_internal_reserved_name_size() const {
14304   return _internal_reserved_name().size();
14305 }
14306 inline int DescriptorProto::reserved_name_size() const {
14307   return _internal_reserved_name_size();
14308 }
14309 inline void DescriptorProto::clear_reserved_name() {
14310   ::google::protobuf::internal::TSanWrite(&_impl_);
14311   _impl_.reserved_name_.Clear();
14312 }
14313 inline ::std::string* PROTOBUF_NONNULL DescriptorProto::add_reserved_name()
14314     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14315   ::google::protobuf::internal::TSanWrite(&_impl_);
14316   ::std::string* _s = _internal_mutable_reserved_name()->Add();
14317   // @@protoc_insertion_point(field_add_mutable:google.protobuf.DescriptorProto.reserved_name)
14318   return _s;
14319 }
14320 inline const ::std::string& DescriptorProto::reserved_name(int index) const
14321     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14322   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.reserved_name)
14323   return _internal_reserved_name().Get(index);
14324 }
14325 inline ::std::string* PROTOBUF_NONNULL DescriptorProto::mutable_reserved_name(int index)
14326     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14327   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.reserved_name)
14328   return _internal_mutable_reserved_name()->Mutable(index);
14329 }
14330 template <typename Arg_, typename... Args_>
14331 inline void DescriptorProto::set_reserved_name(int index, Arg_&& value, Args_... args) {
14332   ::google::protobuf::internal::AssignToString(*_internal_mutable_reserved_name()->Mutable(index), ::std::forward<Arg_>(value),
14333                         args... );
14334   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.reserved_name)
14335 }
14336 template <typename Arg_, typename... Args_>
14337 inline void DescriptorProto::add_reserved_name(Arg_&& value, Args_... args) {
14338   ::google::protobuf::internal::TSanWrite(&_impl_);
14339   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_reserved_name(),
14340                                ::std::forward<Arg_>(value),
14341                                args... );
14342   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.reserved_name)
14343 }
14344 inline const ::google::protobuf::RepeatedPtrField<::std::string>& DescriptorProto::reserved_name()
14345     const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14346   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.reserved_name)
14347   return _internal_reserved_name();
14348 }
14349 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
14350 DescriptorProto::mutable_reserved_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14351   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.reserved_name)
14352   ::google::protobuf::internal::TSanWrite(&_impl_);
14353   return _internal_mutable_reserved_name();
14354 }
14355 inline const ::google::protobuf::RepeatedPtrField<::std::string>&
14356 DescriptorProto::_internal_reserved_name() const {
14357   ::google::protobuf::internal::TSanRead(&_impl_);
14358   return _impl_.reserved_name_;
14359 }
14360 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
14361 DescriptorProto::_internal_mutable_reserved_name() {
14362   ::google::protobuf::internal::TSanRead(&_impl_);
14363   return &_impl_.reserved_name_;
14364 }
14365 
14366 // optional .google.protobuf.SymbolVisibility visibility = 11;
14367 inline bool DescriptorProto::has_visibility() const {
14368   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
14369   return value;
14370 }
14371 inline void DescriptorProto::clear_visibility() {
14372   ::google::protobuf::internal::TSanWrite(&_impl_);
14373   _impl_.visibility_ = 0;
14374   _impl_._has_bits_[0] &= ~0x00000004U;
14375 }
14376 inline ::google::protobuf::SymbolVisibility DescriptorProto::visibility() const {
14377   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.visibility)
14378   return _internal_visibility();
14379 }
14380 inline void DescriptorProto::set_visibility(::google::protobuf::SymbolVisibility value) {
14381   _internal_set_visibility(value);
14382   _impl_._has_bits_[0] |= 0x00000004U;
14383   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.visibility)
14384 }
14385 inline ::google::protobuf::SymbolVisibility DescriptorProto::_internal_visibility() const {
14386   ::google::protobuf::internal::TSanRead(&_impl_);
14387   return static_cast<::google::protobuf::SymbolVisibility>(_impl_.visibility_);
14388 }
14389 inline void DescriptorProto::_internal_set_visibility(::google::protobuf::SymbolVisibility value) {
14390   ::google::protobuf::internal::TSanWrite(&_impl_);
14391 
14392                                           assert(::google::protobuf::internal::ValidateEnum(
14393                                               value, ::google::protobuf::SymbolVisibility_internal_data_));
14394                                           _impl_.visibility_ = value;
14395 }
14396 
14397 // -------------------------------------------------------------------
14398 
14399 // ExtensionRangeOptions_Declaration
14400 
14401 // optional int32 number = 1;
14402 inline bool ExtensionRangeOptions_Declaration::has_number() const {
14403   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
14404   return value;
14405 }
14406 inline void ExtensionRangeOptions_Declaration::clear_number() {
14407   ::google::protobuf::internal::TSanWrite(&_impl_);
14408   _impl_.number_ = 0;
14409   _impl_._has_bits_[0] &= ~0x00000004U;
14410 }
14411 inline ::int32_t ExtensionRangeOptions_Declaration::number() const {
14412   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.number)
14413   return _internal_number();
14414 }
14415 inline void ExtensionRangeOptions_Declaration::set_number(::int32_t value) {
14416   _internal_set_number(value);
14417   _impl_._has_bits_[0] |= 0x00000004U;
14418   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.number)
14419 }
14420 inline ::int32_t ExtensionRangeOptions_Declaration::_internal_number() const {
14421   ::google::protobuf::internal::TSanRead(&_impl_);
14422   return _impl_.number_;
14423 }
14424 inline void ExtensionRangeOptions_Declaration::_internal_set_number(::int32_t value) {
14425   ::google::protobuf::internal::TSanWrite(&_impl_);
14426   _impl_.number_ = value;
14427 }
14428 
14429 // optional string full_name = 2;
14430 inline bool ExtensionRangeOptions_Declaration::has_full_name() const {
14431   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
14432   return value;
14433 }
14434 inline void ExtensionRangeOptions_Declaration::clear_full_name() {
14435   ::google::protobuf::internal::TSanWrite(&_impl_);
14436   _impl_.full_name_.ClearToEmpty();
14437   _impl_._has_bits_[0] &= ~0x00000001U;
14438 }
14439 inline const ::std::string& ExtensionRangeOptions_Declaration::full_name() const
14440     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14441   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
14442   return _internal_full_name();
14443 }
14444 template <typename Arg_, typename... Args_>
14445 PROTOBUF_ALWAYS_INLINE void ExtensionRangeOptions_Declaration::set_full_name(Arg_&& arg, Args_... args) {
14446   ::google::protobuf::internal::TSanWrite(&_impl_);
14447   _impl_._has_bits_[0] |= 0x00000001U;
14448   _impl_.full_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
14449   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
14450 }
14451 inline ::std::string* PROTOBUF_NONNULL ExtensionRangeOptions_Declaration::mutable_full_name()
14452     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14453   ::std::string* _s = _internal_mutable_full_name();
14454   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
14455   return _s;
14456 }
14457 inline const ::std::string& ExtensionRangeOptions_Declaration::_internal_full_name() const {
14458   ::google::protobuf::internal::TSanRead(&_impl_);
14459   return _impl_.full_name_.Get();
14460 }
14461 inline void ExtensionRangeOptions_Declaration::_internal_set_full_name(const ::std::string& value) {
14462   ::google::protobuf::internal::TSanWrite(&_impl_);
14463   _impl_._has_bits_[0] |= 0x00000001U;
14464   _impl_.full_name_.Set(value, GetArena());
14465 }
14466 inline ::std::string* PROTOBUF_NONNULL ExtensionRangeOptions_Declaration::_internal_mutable_full_name() {
14467   ::google::protobuf::internal::TSanWrite(&_impl_);
14468   _impl_._has_bits_[0] |= 0x00000001U;
14469   return _impl_.full_name_.Mutable( GetArena());
14470 }
14471 inline ::std::string* PROTOBUF_NULLABLE ExtensionRangeOptions_Declaration::release_full_name() {
14472   ::google::protobuf::internal::TSanWrite(&_impl_);
14473   // @@protoc_insertion_point(field_release:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
14474   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
14475     return nullptr;
14476   }
14477   _impl_._has_bits_[0] &= ~0x00000001U;
14478   auto* released = _impl_.full_name_.Release();
14479   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
14480     _impl_.full_name_.Set("", GetArena());
14481   }
14482   return released;
14483 }
14484 inline void ExtensionRangeOptions_Declaration::set_allocated_full_name(::std::string* PROTOBUF_NULLABLE value) {
14485   ::google::protobuf::internal::TSanWrite(&_impl_);
14486   if (value != nullptr) {
14487     _impl_._has_bits_[0] |= 0x00000001U;
14488   } else {
14489     _impl_._has_bits_[0] &= ~0x00000001U;
14490   }
14491   _impl_.full_name_.SetAllocated(value, GetArena());
14492   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.full_name_.IsDefault()) {
14493     _impl_.full_name_.Set("", GetArena());
14494   }
14495   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
14496 }
14497 
14498 // optional string type = 3;
14499 inline bool ExtensionRangeOptions_Declaration::has_type() const {
14500   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
14501   return value;
14502 }
14503 inline void ExtensionRangeOptions_Declaration::clear_type() {
14504   ::google::protobuf::internal::TSanWrite(&_impl_);
14505   _impl_.type_.ClearToEmpty();
14506   _impl_._has_bits_[0] &= ~0x00000002U;
14507 }
14508 inline const ::std::string& ExtensionRangeOptions_Declaration::type() const
14509     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14510   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.type)
14511   return _internal_type();
14512 }
14513 template <typename Arg_, typename... Args_>
14514 PROTOBUF_ALWAYS_INLINE void ExtensionRangeOptions_Declaration::set_type(Arg_&& arg, Args_... args) {
14515   ::google::protobuf::internal::TSanWrite(&_impl_);
14516   _impl_._has_bits_[0] |= 0x00000002U;
14517   _impl_.type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
14518   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.type)
14519 }
14520 inline ::std::string* PROTOBUF_NONNULL ExtensionRangeOptions_Declaration::mutable_type()
14521     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14522   ::std::string* _s = _internal_mutable_type();
14523   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.Declaration.type)
14524   return _s;
14525 }
14526 inline const ::std::string& ExtensionRangeOptions_Declaration::_internal_type() const {
14527   ::google::protobuf::internal::TSanRead(&_impl_);
14528   return _impl_.type_.Get();
14529 }
14530 inline void ExtensionRangeOptions_Declaration::_internal_set_type(const ::std::string& value) {
14531   ::google::protobuf::internal::TSanWrite(&_impl_);
14532   _impl_._has_bits_[0] |= 0x00000002U;
14533   _impl_.type_.Set(value, GetArena());
14534 }
14535 inline ::std::string* PROTOBUF_NONNULL ExtensionRangeOptions_Declaration::_internal_mutable_type() {
14536   ::google::protobuf::internal::TSanWrite(&_impl_);
14537   _impl_._has_bits_[0] |= 0x00000002U;
14538   return _impl_.type_.Mutable( GetArena());
14539 }
14540 inline ::std::string* PROTOBUF_NULLABLE ExtensionRangeOptions_Declaration::release_type() {
14541   ::google::protobuf::internal::TSanWrite(&_impl_);
14542   // @@protoc_insertion_point(field_release:google.protobuf.ExtensionRangeOptions.Declaration.type)
14543   if ((_impl_._has_bits_[0] & 0x00000002U) == 0) {
14544     return nullptr;
14545   }
14546   _impl_._has_bits_[0] &= ~0x00000002U;
14547   auto* released = _impl_.type_.Release();
14548   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
14549     _impl_.type_.Set("", GetArena());
14550   }
14551   return released;
14552 }
14553 inline void ExtensionRangeOptions_Declaration::set_allocated_type(::std::string* PROTOBUF_NULLABLE value) {
14554   ::google::protobuf::internal::TSanWrite(&_impl_);
14555   if (value != nullptr) {
14556     _impl_._has_bits_[0] |= 0x00000002U;
14557   } else {
14558     _impl_._has_bits_[0] &= ~0x00000002U;
14559   }
14560   _impl_.type_.SetAllocated(value, GetArena());
14561   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.type_.IsDefault()) {
14562     _impl_.type_.Set("", GetArena());
14563   }
14564   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ExtensionRangeOptions.Declaration.type)
14565 }
14566 
14567 // optional bool reserved = 5;
14568 inline bool ExtensionRangeOptions_Declaration::has_reserved() const {
14569   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
14570   return value;
14571 }
14572 inline void ExtensionRangeOptions_Declaration::clear_reserved() {
14573   ::google::protobuf::internal::TSanWrite(&_impl_);
14574   _impl_.reserved_ = false;
14575   _impl_._has_bits_[0] &= ~0x00000008U;
14576 }
14577 inline bool ExtensionRangeOptions_Declaration::reserved() const {
14578   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.reserved)
14579   return _internal_reserved();
14580 }
14581 inline void ExtensionRangeOptions_Declaration::set_reserved(bool value) {
14582   _internal_set_reserved(value);
14583   _impl_._has_bits_[0] |= 0x00000008U;
14584   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.reserved)
14585 }
14586 inline bool ExtensionRangeOptions_Declaration::_internal_reserved() const {
14587   ::google::protobuf::internal::TSanRead(&_impl_);
14588   return _impl_.reserved_;
14589 }
14590 inline void ExtensionRangeOptions_Declaration::_internal_set_reserved(bool value) {
14591   ::google::protobuf::internal::TSanWrite(&_impl_);
14592   _impl_.reserved_ = value;
14593 }
14594 
14595 // optional bool repeated = 6;
14596 inline bool ExtensionRangeOptions_Declaration::has_repeated() const {
14597   bool value = (_impl_._has_bits_[0] & 0x00000010U) != 0;
14598   return value;
14599 }
14600 inline void ExtensionRangeOptions_Declaration::clear_repeated() {
14601   ::google::protobuf::internal::TSanWrite(&_impl_);
14602   _impl_.repeated_ = false;
14603   _impl_._has_bits_[0] &= ~0x00000010U;
14604 }
14605 inline bool ExtensionRangeOptions_Declaration::repeated() const {
14606   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.repeated)
14607   return _internal_repeated();
14608 }
14609 inline void ExtensionRangeOptions_Declaration::set_repeated(bool value) {
14610   _internal_set_repeated(value);
14611   _impl_._has_bits_[0] |= 0x00000010U;
14612   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.repeated)
14613 }
14614 inline bool ExtensionRangeOptions_Declaration::_internal_repeated() const {
14615   ::google::protobuf::internal::TSanRead(&_impl_);
14616   return _impl_.repeated_;
14617 }
14618 inline void ExtensionRangeOptions_Declaration::_internal_set_repeated(bool value) {
14619   ::google::protobuf::internal::TSanWrite(&_impl_);
14620   _impl_.repeated_ = value;
14621 }
14622 
14623 // -------------------------------------------------------------------
14624 
14625 // ExtensionRangeOptions
14626 
14627 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
14628 inline int ExtensionRangeOptions::_internal_uninterpreted_option_size() const {
14629   return _internal_uninterpreted_option().size();
14630 }
14631 inline int ExtensionRangeOptions::uninterpreted_option_size() const {
14632   return _internal_uninterpreted_option_size();
14633 }
14634 inline void ExtensionRangeOptions::clear_uninterpreted_option() {
14635   ::google::protobuf::internal::TSanWrite(&_impl_);
14636   _impl_.uninterpreted_option_.Clear();
14637 }
14638 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL ExtensionRangeOptions::mutable_uninterpreted_option(int index)
14639     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14640   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
14641   return _internal_mutable_uninterpreted_option()->Mutable(index);
14642 }
14643 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL ExtensionRangeOptions::mutable_uninterpreted_option()
14644     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14645   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
14646   ::google::protobuf::internal::TSanWrite(&_impl_);
14647   return _internal_mutable_uninterpreted_option();
14648 }
14649 inline const ::google::protobuf::UninterpretedOption& ExtensionRangeOptions::uninterpreted_option(int index) const
14650     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14651   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
14652   return _internal_uninterpreted_option().Get(index);
14653 }
14654 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL ExtensionRangeOptions::add_uninterpreted_option()
14655     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14656   ::google::protobuf::internal::TSanWrite(&_impl_);
14657   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
14658   // @@protoc_insertion_point(field_add:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
14659   return _add;
14660 }
14661 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& ExtensionRangeOptions::uninterpreted_option() const
14662     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14663   // @@protoc_insertion_point(field_list:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
14664   return _internal_uninterpreted_option();
14665 }
14666 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
14667 ExtensionRangeOptions::_internal_uninterpreted_option() const {
14668   ::google::protobuf::internal::TSanRead(&_impl_);
14669   return _impl_.uninterpreted_option_;
14670 }
14671 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL
14672 ExtensionRangeOptions::_internal_mutable_uninterpreted_option() {
14673   ::google::protobuf::internal::TSanRead(&_impl_);
14674   return &_impl_.uninterpreted_option_;
14675 }
14676 
14677 // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
14678 inline int ExtensionRangeOptions::_internal_declaration_size() const {
14679   return _internal_declaration().size();
14680 }
14681 inline int ExtensionRangeOptions::declaration_size() const {
14682   return _internal_declaration_size();
14683 }
14684 inline void ExtensionRangeOptions::clear_declaration() {
14685   ::google::protobuf::internal::TSanWrite(&_impl_);
14686   _impl_.declaration_.Clear();
14687 }
14688 inline ::google::protobuf::ExtensionRangeOptions_Declaration* PROTOBUF_NONNULL ExtensionRangeOptions::mutable_declaration(int index)
14689     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14690   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.declaration)
14691   return _internal_mutable_declaration()->Mutable(index);
14692 }
14693 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>* PROTOBUF_NONNULL ExtensionRangeOptions::mutable_declaration()
14694     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14695   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ExtensionRangeOptions.declaration)
14696   ::google::protobuf::internal::TSanWrite(&_impl_);
14697   return _internal_mutable_declaration();
14698 }
14699 inline const ::google::protobuf::ExtensionRangeOptions_Declaration& ExtensionRangeOptions::declaration(int index) const
14700     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14701   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.declaration)
14702   return _internal_declaration().Get(index);
14703 }
14704 inline ::google::protobuf::ExtensionRangeOptions_Declaration* PROTOBUF_NONNULL ExtensionRangeOptions::add_declaration()
14705     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14706   ::google::protobuf::internal::TSanWrite(&_impl_);
14707   ::google::protobuf::ExtensionRangeOptions_Declaration* _add = _internal_mutable_declaration()->Add();
14708   // @@protoc_insertion_point(field_add:google.protobuf.ExtensionRangeOptions.declaration)
14709   return _add;
14710 }
14711 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>& ExtensionRangeOptions::declaration() const
14712     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14713   // @@protoc_insertion_point(field_list:google.protobuf.ExtensionRangeOptions.declaration)
14714   return _internal_declaration();
14715 }
14716 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>&
14717 ExtensionRangeOptions::_internal_declaration() const {
14718   ::google::protobuf::internal::TSanRead(&_impl_);
14719   return _impl_.declaration_;
14720 }
14721 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>* PROTOBUF_NONNULL
14722 ExtensionRangeOptions::_internal_mutable_declaration() {
14723   ::google::protobuf::internal::TSanRead(&_impl_);
14724   return &_impl_.declaration_;
14725 }
14726 
14727 // optional .google.protobuf.FeatureSet features = 50;
14728 inline bool ExtensionRangeOptions::has_features() const {
14729   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
14730   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
14731   return value;
14732 }
14733 inline void ExtensionRangeOptions::clear_features() {
14734   ::google::protobuf::internal::TSanWrite(&_impl_);
14735   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
14736   _impl_._has_bits_[0] &= ~0x00000001U;
14737 }
14738 inline const ::google::protobuf::FeatureSet& ExtensionRangeOptions::_internal_features() const {
14739   ::google::protobuf::internal::TSanRead(&_impl_);
14740   const ::google::protobuf::FeatureSet* p = _impl_.features_;
14741   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
14742 }
14743 inline const ::google::protobuf::FeatureSet& ExtensionRangeOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14744   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.features)
14745   return _internal_features();
14746 }
14747 inline void ExtensionRangeOptions::unsafe_arena_set_allocated_features(
14748     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
14749   ::google::protobuf::internal::TSanWrite(&_impl_);
14750   if (GetArena() == nullptr) {
14751     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
14752   }
14753   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
14754   if (value != nullptr) {
14755     _impl_._has_bits_[0] |= 0x00000001U;
14756   } else {
14757     _impl_._has_bits_[0] &= ~0x00000001U;
14758   }
14759   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.ExtensionRangeOptions.features)
14760 }
14761 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE ExtensionRangeOptions::release_features() {
14762   ::google::protobuf::internal::TSanWrite(&_impl_);
14763 
14764   _impl_._has_bits_[0] &= ~0x00000001U;
14765   ::google::protobuf::FeatureSet* released = _impl_.features_;
14766   _impl_.features_ = nullptr;
14767   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
14768     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14769     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14770     if (GetArena() == nullptr) {
14771       delete old;
14772     }
14773   } else {
14774     if (GetArena() != nullptr) {
14775       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14776     }
14777   }
14778   return released;
14779 }
14780 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE ExtensionRangeOptions::unsafe_arena_release_features() {
14781   ::google::protobuf::internal::TSanWrite(&_impl_);
14782   // @@protoc_insertion_point(field_release:google.protobuf.ExtensionRangeOptions.features)
14783 
14784   _impl_._has_bits_[0] &= ~0x00000001U;
14785   ::google::protobuf::FeatureSet* temp = _impl_.features_;
14786   _impl_.features_ = nullptr;
14787   return temp;
14788 }
14789 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL ExtensionRangeOptions::_internal_mutable_features() {
14790   ::google::protobuf::internal::TSanWrite(&_impl_);
14791   if (_impl_.features_ == nullptr) {
14792     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
14793     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
14794   }
14795   return _impl_.features_;
14796 }
14797 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL ExtensionRangeOptions::mutable_features()
14798     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14799   _impl_._has_bits_[0] |= 0x00000001U;
14800   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
14801   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.features)
14802   return _msg;
14803 }
14804 inline void ExtensionRangeOptions::set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
14805   ::google::protobuf::Arena* message_arena = GetArena();
14806   ::google::protobuf::internal::TSanWrite(&_impl_);
14807   if (message_arena == nullptr) {
14808     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
14809   }
14810 
14811   if (value != nullptr) {
14812     ::google::protobuf::Arena* submessage_arena = value->GetArena();
14813     if (message_arena != submessage_arena) {
14814       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14815     }
14816     _impl_._has_bits_[0] |= 0x00000001U;
14817   } else {
14818     _impl_._has_bits_[0] &= ~0x00000001U;
14819   }
14820 
14821   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
14822   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ExtensionRangeOptions.features)
14823 }
14824 
14825 // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
14826 inline bool ExtensionRangeOptions::has_verification() const {
14827   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
14828   return value;
14829 }
14830 inline void ExtensionRangeOptions::clear_verification() {
14831   ::google::protobuf::internal::TSanWrite(&_impl_);
14832   _impl_.verification_ = 1;
14833   _impl_._has_bits_[0] &= ~0x00000002U;
14834 }
14835 inline ::google::protobuf::ExtensionRangeOptions_VerificationState ExtensionRangeOptions::verification() const {
14836   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.verification)
14837   return _internal_verification();
14838 }
14839 inline void ExtensionRangeOptions::set_verification(::google::protobuf::ExtensionRangeOptions_VerificationState value) {
14840   _internal_set_verification(value);
14841   _impl_._has_bits_[0] |= 0x00000002U;
14842   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.verification)
14843 }
14844 inline ::google::protobuf::ExtensionRangeOptions_VerificationState ExtensionRangeOptions::_internal_verification() const {
14845   ::google::protobuf::internal::TSanRead(&_impl_);
14846   return static_cast<::google::protobuf::ExtensionRangeOptions_VerificationState>(_impl_.verification_);
14847 }
14848 inline void ExtensionRangeOptions::_internal_set_verification(::google::protobuf::ExtensionRangeOptions_VerificationState value) {
14849   ::google::protobuf::internal::TSanWrite(&_impl_);
14850 
14851                                           assert(::google::protobuf::internal::ValidateEnum(
14852                                               value, ::google::protobuf::ExtensionRangeOptions_VerificationState_internal_data_));
14853                                           _impl_.verification_ = value;
14854 }
14855 
14856 // -------------------------------------------------------------------
14857 
14858 // FieldDescriptorProto
14859 
14860 // optional string name = 1;
14861 inline bool FieldDescriptorProto::has_name() const {
14862   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
14863   return value;
14864 }
14865 inline void FieldDescriptorProto::clear_name() {
14866   ::google::protobuf::internal::TSanWrite(&_impl_);
14867   _impl_.name_.ClearToEmpty();
14868   _impl_._has_bits_[0] &= ~0x00000001U;
14869 }
14870 inline const ::std::string& FieldDescriptorProto::name() const
14871     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14872   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.name)
14873   return _internal_name();
14874 }
14875 template <typename Arg_, typename... Args_>
14876 PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_name(Arg_&& arg, Args_... args) {
14877   ::google::protobuf::internal::TSanWrite(&_impl_);
14878   _impl_._has_bits_[0] |= 0x00000001U;
14879   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
14880   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.name)
14881 }
14882 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::mutable_name()
14883     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14884   ::std::string* _s = _internal_mutable_name();
14885   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.name)
14886   return _s;
14887 }
14888 inline const ::std::string& FieldDescriptorProto::_internal_name() const {
14889   ::google::protobuf::internal::TSanRead(&_impl_);
14890   return _impl_.name_.Get();
14891 }
14892 inline void FieldDescriptorProto::_internal_set_name(const ::std::string& value) {
14893   ::google::protobuf::internal::TSanWrite(&_impl_);
14894   _impl_._has_bits_[0] |= 0x00000001U;
14895   _impl_.name_.Set(value, GetArena());
14896 }
14897 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::_internal_mutable_name() {
14898   ::google::protobuf::internal::TSanWrite(&_impl_);
14899   _impl_._has_bits_[0] |= 0x00000001U;
14900   return _impl_.name_.Mutable( GetArena());
14901 }
14902 inline ::std::string* PROTOBUF_NULLABLE FieldDescriptorProto::release_name() {
14903   ::google::protobuf::internal::TSanWrite(&_impl_);
14904   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.name)
14905   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
14906     return nullptr;
14907   }
14908   _impl_._has_bits_[0] &= ~0x00000001U;
14909   auto* released = _impl_.name_.Release();
14910   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
14911     _impl_.name_.Set("", GetArena());
14912   }
14913   return released;
14914 }
14915 inline void FieldDescriptorProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
14916   ::google::protobuf::internal::TSanWrite(&_impl_);
14917   if (value != nullptr) {
14918     _impl_._has_bits_[0] |= 0x00000001U;
14919   } else {
14920     _impl_._has_bits_[0] &= ~0x00000001U;
14921   }
14922   _impl_.name_.SetAllocated(value, GetArena());
14923   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
14924     _impl_.name_.Set("", GetArena());
14925   }
14926   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.name)
14927 }
14928 
14929 // optional int32 number = 3;
14930 inline bool FieldDescriptorProto::has_number() const {
14931   bool value = (_impl_._has_bits_[0] & 0x00000040U) != 0;
14932   return value;
14933 }
14934 inline void FieldDescriptorProto::clear_number() {
14935   ::google::protobuf::internal::TSanWrite(&_impl_);
14936   _impl_.number_ = 0;
14937   _impl_._has_bits_[0] &= ~0x00000040U;
14938 }
14939 inline ::int32_t FieldDescriptorProto::number() const {
14940   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.number)
14941   return _internal_number();
14942 }
14943 inline void FieldDescriptorProto::set_number(::int32_t value) {
14944   _internal_set_number(value);
14945   _impl_._has_bits_[0] |= 0x00000040U;
14946   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.number)
14947 }
14948 inline ::int32_t FieldDescriptorProto::_internal_number() const {
14949   ::google::protobuf::internal::TSanRead(&_impl_);
14950   return _impl_.number_;
14951 }
14952 inline void FieldDescriptorProto::_internal_set_number(::int32_t value) {
14953   ::google::protobuf::internal::TSanWrite(&_impl_);
14954   _impl_.number_ = value;
14955 }
14956 
14957 // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
14958 inline bool FieldDescriptorProto::has_label() const {
14959   bool value = (_impl_._has_bits_[0] & 0x00000200U) != 0;
14960   return value;
14961 }
14962 inline void FieldDescriptorProto::clear_label() {
14963   ::google::protobuf::internal::TSanWrite(&_impl_);
14964   _impl_.label_ = 1;
14965   _impl_._has_bits_[0] &= ~0x00000200U;
14966 }
14967 inline ::google::protobuf::FieldDescriptorProto_Label FieldDescriptorProto::label() const {
14968   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.label)
14969   return _internal_label();
14970 }
14971 inline void FieldDescriptorProto::set_label(::google::protobuf::FieldDescriptorProto_Label value) {
14972   _internal_set_label(value);
14973   _impl_._has_bits_[0] |= 0x00000200U;
14974   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.label)
14975 }
14976 inline ::google::protobuf::FieldDescriptorProto_Label FieldDescriptorProto::_internal_label() const {
14977   ::google::protobuf::internal::TSanRead(&_impl_);
14978   return static_cast<::google::protobuf::FieldDescriptorProto_Label>(_impl_.label_);
14979 }
14980 inline void FieldDescriptorProto::_internal_set_label(::google::protobuf::FieldDescriptorProto_Label value) {
14981   ::google::protobuf::internal::TSanWrite(&_impl_);
14982 
14983                                           assert(::google::protobuf::internal::ValidateEnum(
14984                                               value, ::google::protobuf::FieldDescriptorProto_Label_internal_data_));
14985                                           _impl_.label_ = value;
14986 }
14987 
14988 // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
14989 inline bool FieldDescriptorProto::has_type() const {
14990   bool value = (_impl_._has_bits_[0] & 0x00000400U) != 0;
14991   return value;
14992 }
14993 inline void FieldDescriptorProto::clear_type() {
14994   ::google::protobuf::internal::TSanWrite(&_impl_);
14995   _impl_.type_ = 1;
14996   _impl_._has_bits_[0] &= ~0x00000400U;
14997 }
14998 inline ::google::protobuf::FieldDescriptorProto_Type FieldDescriptorProto::type() const {
14999   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type)
15000   return _internal_type();
15001 }
15002 inline void FieldDescriptorProto::set_type(::google::protobuf::FieldDescriptorProto_Type value) {
15003   _internal_set_type(value);
15004   _impl_._has_bits_[0] |= 0x00000400U;
15005   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type)
15006 }
15007 inline ::google::protobuf::FieldDescriptorProto_Type FieldDescriptorProto::_internal_type() const {
15008   ::google::protobuf::internal::TSanRead(&_impl_);
15009   return static_cast<::google::protobuf::FieldDescriptorProto_Type>(_impl_.type_);
15010 }
15011 inline void FieldDescriptorProto::_internal_set_type(::google::protobuf::FieldDescriptorProto_Type value) {
15012   ::google::protobuf::internal::TSanWrite(&_impl_);
15013 
15014                                           assert(::google::protobuf::internal::ValidateEnum(
15015                                               value, ::google::protobuf::FieldDescriptorProto_Type_internal_data_));
15016                                           _impl_.type_ = value;
15017 }
15018 
15019 // optional string type_name = 6;
15020 inline bool FieldDescriptorProto::has_type_name() const {
15021   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
15022   return value;
15023 }
15024 inline void FieldDescriptorProto::clear_type_name() {
15025   ::google::protobuf::internal::TSanWrite(&_impl_);
15026   _impl_.type_name_.ClearToEmpty();
15027   _impl_._has_bits_[0] &= ~0x00000004U;
15028 }
15029 inline const ::std::string& FieldDescriptorProto::type_name() const
15030     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15031   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type_name)
15032   return _internal_type_name();
15033 }
15034 template <typename Arg_, typename... Args_>
15035 PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_type_name(Arg_&& arg, Args_... args) {
15036   ::google::protobuf::internal::TSanWrite(&_impl_);
15037   _impl_._has_bits_[0] |= 0x00000004U;
15038   _impl_.type_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15039   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type_name)
15040 }
15041 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::mutable_type_name()
15042     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15043   ::std::string* _s = _internal_mutable_type_name();
15044   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.type_name)
15045   return _s;
15046 }
15047 inline const ::std::string& FieldDescriptorProto::_internal_type_name() const {
15048   ::google::protobuf::internal::TSanRead(&_impl_);
15049   return _impl_.type_name_.Get();
15050 }
15051 inline void FieldDescriptorProto::_internal_set_type_name(const ::std::string& value) {
15052   ::google::protobuf::internal::TSanWrite(&_impl_);
15053   _impl_._has_bits_[0] |= 0x00000004U;
15054   _impl_.type_name_.Set(value, GetArena());
15055 }
15056 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::_internal_mutable_type_name() {
15057   ::google::protobuf::internal::TSanWrite(&_impl_);
15058   _impl_._has_bits_[0] |= 0x00000004U;
15059   return _impl_.type_name_.Mutable( GetArena());
15060 }
15061 inline ::std::string* PROTOBUF_NULLABLE FieldDescriptorProto::release_type_name() {
15062   ::google::protobuf::internal::TSanWrite(&_impl_);
15063   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.type_name)
15064   if ((_impl_._has_bits_[0] & 0x00000004U) == 0) {
15065     return nullptr;
15066   }
15067   _impl_._has_bits_[0] &= ~0x00000004U;
15068   auto* released = _impl_.type_name_.Release();
15069   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
15070     _impl_.type_name_.Set("", GetArena());
15071   }
15072   return released;
15073 }
15074 inline void FieldDescriptorProto::set_allocated_type_name(::std::string* PROTOBUF_NULLABLE value) {
15075   ::google::protobuf::internal::TSanWrite(&_impl_);
15076   if (value != nullptr) {
15077     _impl_._has_bits_[0] |= 0x00000004U;
15078   } else {
15079     _impl_._has_bits_[0] &= ~0x00000004U;
15080   }
15081   _impl_.type_name_.SetAllocated(value, GetArena());
15082   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.type_name_.IsDefault()) {
15083     _impl_.type_name_.Set("", GetArena());
15084   }
15085   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.type_name)
15086 }
15087 
15088 // optional string extendee = 2;
15089 inline bool FieldDescriptorProto::has_extendee() const {
15090   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
15091   return value;
15092 }
15093 inline void FieldDescriptorProto::clear_extendee() {
15094   ::google::protobuf::internal::TSanWrite(&_impl_);
15095   _impl_.extendee_.ClearToEmpty();
15096   _impl_._has_bits_[0] &= ~0x00000002U;
15097 }
15098 inline const ::std::string& FieldDescriptorProto::extendee() const
15099     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15100   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.extendee)
15101   return _internal_extendee();
15102 }
15103 template <typename Arg_, typename... Args_>
15104 PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_extendee(Arg_&& arg, Args_... args) {
15105   ::google::protobuf::internal::TSanWrite(&_impl_);
15106   _impl_._has_bits_[0] |= 0x00000002U;
15107   _impl_.extendee_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15108   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.extendee)
15109 }
15110 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::mutable_extendee()
15111     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15112   ::std::string* _s = _internal_mutable_extendee();
15113   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.extendee)
15114   return _s;
15115 }
15116 inline const ::std::string& FieldDescriptorProto::_internal_extendee() const {
15117   ::google::protobuf::internal::TSanRead(&_impl_);
15118   return _impl_.extendee_.Get();
15119 }
15120 inline void FieldDescriptorProto::_internal_set_extendee(const ::std::string& value) {
15121   ::google::protobuf::internal::TSanWrite(&_impl_);
15122   _impl_._has_bits_[0] |= 0x00000002U;
15123   _impl_.extendee_.Set(value, GetArena());
15124 }
15125 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::_internal_mutable_extendee() {
15126   ::google::protobuf::internal::TSanWrite(&_impl_);
15127   _impl_._has_bits_[0] |= 0x00000002U;
15128   return _impl_.extendee_.Mutable( GetArena());
15129 }
15130 inline ::std::string* PROTOBUF_NULLABLE FieldDescriptorProto::release_extendee() {
15131   ::google::protobuf::internal::TSanWrite(&_impl_);
15132   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.extendee)
15133   if ((_impl_._has_bits_[0] & 0x00000002U) == 0) {
15134     return nullptr;
15135   }
15136   _impl_._has_bits_[0] &= ~0x00000002U;
15137   auto* released = _impl_.extendee_.Release();
15138   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
15139     _impl_.extendee_.Set("", GetArena());
15140   }
15141   return released;
15142 }
15143 inline void FieldDescriptorProto::set_allocated_extendee(::std::string* PROTOBUF_NULLABLE value) {
15144   ::google::protobuf::internal::TSanWrite(&_impl_);
15145   if (value != nullptr) {
15146     _impl_._has_bits_[0] |= 0x00000002U;
15147   } else {
15148     _impl_._has_bits_[0] &= ~0x00000002U;
15149   }
15150   _impl_.extendee_.SetAllocated(value, GetArena());
15151   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.extendee_.IsDefault()) {
15152     _impl_.extendee_.Set("", GetArena());
15153   }
15154   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.extendee)
15155 }
15156 
15157 // optional string default_value = 7;
15158 inline bool FieldDescriptorProto::has_default_value() const {
15159   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
15160   return value;
15161 }
15162 inline void FieldDescriptorProto::clear_default_value() {
15163   ::google::protobuf::internal::TSanWrite(&_impl_);
15164   _impl_.default_value_.ClearToEmpty();
15165   _impl_._has_bits_[0] &= ~0x00000008U;
15166 }
15167 inline const ::std::string& FieldDescriptorProto::default_value() const
15168     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15169   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.default_value)
15170   return _internal_default_value();
15171 }
15172 template <typename Arg_, typename... Args_>
15173 PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_default_value(Arg_&& arg, Args_... args) {
15174   ::google::protobuf::internal::TSanWrite(&_impl_);
15175   _impl_._has_bits_[0] |= 0x00000008U;
15176   _impl_.default_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15177   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.default_value)
15178 }
15179 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::mutable_default_value()
15180     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15181   ::std::string* _s = _internal_mutable_default_value();
15182   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.default_value)
15183   return _s;
15184 }
15185 inline const ::std::string& FieldDescriptorProto::_internal_default_value() const {
15186   ::google::protobuf::internal::TSanRead(&_impl_);
15187   return _impl_.default_value_.Get();
15188 }
15189 inline void FieldDescriptorProto::_internal_set_default_value(const ::std::string& value) {
15190   ::google::protobuf::internal::TSanWrite(&_impl_);
15191   _impl_._has_bits_[0] |= 0x00000008U;
15192   _impl_.default_value_.Set(value, GetArena());
15193 }
15194 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::_internal_mutable_default_value() {
15195   ::google::protobuf::internal::TSanWrite(&_impl_);
15196   _impl_._has_bits_[0] |= 0x00000008U;
15197   return _impl_.default_value_.Mutable( GetArena());
15198 }
15199 inline ::std::string* PROTOBUF_NULLABLE FieldDescriptorProto::release_default_value() {
15200   ::google::protobuf::internal::TSanWrite(&_impl_);
15201   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.default_value)
15202   if ((_impl_._has_bits_[0] & 0x00000008U) == 0) {
15203     return nullptr;
15204   }
15205   _impl_._has_bits_[0] &= ~0x00000008U;
15206   auto* released = _impl_.default_value_.Release();
15207   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
15208     _impl_.default_value_.Set("", GetArena());
15209   }
15210   return released;
15211 }
15212 inline void FieldDescriptorProto::set_allocated_default_value(::std::string* PROTOBUF_NULLABLE value) {
15213   ::google::protobuf::internal::TSanWrite(&_impl_);
15214   if (value != nullptr) {
15215     _impl_._has_bits_[0] |= 0x00000008U;
15216   } else {
15217     _impl_._has_bits_[0] &= ~0x00000008U;
15218   }
15219   _impl_.default_value_.SetAllocated(value, GetArena());
15220   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.default_value_.IsDefault()) {
15221     _impl_.default_value_.Set("", GetArena());
15222   }
15223   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.default_value)
15224 }
15225 
15226 // optional int32 oneof_index = 9;
15227 inline bool FieldDescriptorProto::has_oneof_index() const {
15228   bool value = (_impl_._has_bits_[0] & 0x00000080U) != 0;
15229   return value;
15230 }
15231 inline void FieldDescriptorProto::clear_oneof_index() {
15232   ::google::protobuf::internal::TSanWrite(&_impl_);
15233   _impl_.oneof_index_ = 0;
15234   _impl_._has_bits_[0] &= ~0x00000080U;
15235 }
15236 inline ::int32_t FieldDescriptorProto::oneof_index() const {
15237   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.oneof_index)
15238   return _internal_oneof_index();
15239 }
15240 inline void FieldDescriptorProto::set_oneof_index(::int32_t value) {
15241   _internal_set_oneof_index(value);
15242   _impl_._has_bits_[0] |= 0x00000080U;
15243   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.oneof_index)
15244 }
15245 inline ::int32_t FieldDescriptorProto::_internal_oneof_index() const {
15246   ::google::protobuf::internal::TSanRead(&_impl_);
15247   return _impl_.oneof_index_;
15248 }
15249 inline void FieldDescriptorProto::_internal_set_oneof_index(::int32_t value) {
15250   ::google::protobuf::internal::TSanWrite(&_impl_);
15251   _impl_.oneof_index_ = value;
15252 }
15253 
15254 // optional string json_name = 10;
15255 inline bool FieldDescriptorProto::has_json_name() const {
15256   bool value = (_impl_._has_bits_[0] & 0x00000010U) != 0;
15257   return value;
15258 }
15259 inline void FieldDescriptorProto::clear_json_name() {
15260   ::google::protobuf::internal::TSanWrite(&_impl_);
15261   _impl_.json_name_.ClearToEmpty();
15262   _impl_._has_bits_[0] &= ~0x00000010U;
15263 }
15264 inline const ::std::string& FieldDescriptorProto::json_name() const
15265     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15266   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.json_name)
15267   return _internal_json_name();
15268 }
15269 template <typename Arg_, typename... Args_>
15270 PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_json_name(Arg_&& arg, Args_... args) {
15271   ::google::protobuf::internal::TSanWrite(&_impl_);
15272   _impl_._has_bits_[0] |= 0x00000010U;
15273   _impl_.json_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15274   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.json_name)
15275 }
15276 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::mutable_json_name()
15277     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15278   ::std::string* _s = _internal_mutable_json_name();
15279   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.json_name)
15280   return _s;
15281 }
15282 inline const ::std::string& FieldDescriptorProto::_internal_json_name() const {
15283   ::google::protobuf::internal::TSanRead(&_impl_);
15284   return _impl_.json_name_.Get();
15285 }
15286 inline void FieldDescriptorProto::_internal_set_json_name(const ::std::string& value) {
15287   ::google::protobuf::internal::TSanWrite(&_impl_);
15288   _impl_._has_bits_[0] |= 0x00000010U;
15289   _impl_.json_name_.Set(value, GetArena());
15290 }
15291 inline ::std::string* PROTOBUF_NONNULL FieldDescriptorProto::_internal_mutable_json_name() {
15292   ::google::protobuf::internal::TSanWrite(&_impl_);
15293   _impl_._has_bits_[0] |= 0x00000010U;
15294   return _impl_.json_name_.Mutable( GetArena());
15295 }
15296 inline ::std::string* PROTOBUF_NULLABLE FieldDescriptorProto::release_json_name() {
15297   ::google::protobuf::internal::TSanWrite(&_impl_);
15298   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.json_name)
15299   if ((_impl_._has_bits_[0] & 0x00000010U) == 0) {
15300     return nullptr;
15301   }
15302   _impl_._has_bits_[0] &= ~0x00000010U;
15303   auto* released = _impl_.json_name_.Release();
15304   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
15305     _impl_.json_name_.Set("", GetArena());
15306   }
15307   return released;
15308 }
15309 inline void FieldDescriptorProto::set_allocated_json_name(::std::string* PROTOBUF_NULLABLE value) {
15310   ::google::protobuf::internal::TSanWrite(&_impl_);
15311   if (value != nullptr) {
15312     _impl_._has_bits_[0] |= 0x00000010U;
15313   } else {
15314     _impl_._has_bits_[0] &= ~0x00000010U;
15315   }
15316   _impl_.json_name_.SetAllocated(value, GetArena());
15317   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.json_name_.IsDefault()) {
15318     _impl_.json_name_.Set("", GetArena());
15319   }
15320   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.json_name)
15321 }
15322 
15323 // optional .google.protobuf.FieldOptions options = 8;
15324 inline bool FieldDescriptorProto::has_options() const {
15325   bool value = (_impl_._has_bits_[0] & 0x00000020U) != 0;
15326   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
15327   return value;
15328 }
15329 inline void FieldDescriptorProto::clear_options() {
15330   ::google::protobuf::internal::TSanWrite(&_impl_);
15331   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
15332   _impl_._has_bits_[0] &= ~0x00000020U;
15333 }
15334 inline const ::google::protobuf::FieldOptions& FieldDescriptorProto::_internal_options() const {
15335   ::google::protobuf::internal::TSanRead(&_impl_);
15336   const ::google::protobuf::FieldOptions* p = _impl_.options_;
15337   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FieldOptions&>(::google::protobuf::_FieldOptions_default_instance_);
15338 }
15339 inline const ::google::protobuf::FieldOptions& FieldDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
15340   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.options)
15341   return _internal_options();
15342 }
15343 inline void FieldDescriptorProto::unsafe_arena_set_allocated_options(
15344     ::google::protobuf::FieldOptions* PROTOBUF_NULLABLE value) {
15345   ::google::protobuf::internal::TSanWrite(&_impl_);
15346   if (GetArena() == nullptr) {
15347     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
15348   }
15349   _impl_.options_ = reinterpret_cast<::google::protobuf::FieldOptions*>(value);
15350   if (value != nullptr) {
15351     _impl_._has_bits_[0] |= 0x00000020U;
15352   } else {
15353     _impl_._has_bits_[0] &= ~0x00000020U;
15354   }
15355   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FieldDescriptorProto.options)
15356 }
15357 inline ::google::protobuf::FieldOptions* PROTOBUF_NULLABLE FieldDescriptorProto::release_options() {
15358   ::google::protobuf::internal::TSanWrite(&_impl_);
15359 
15360   _impl_._has_bits_[0] &= ~0x00000020U;
15361   ::google::protobuf::FieldOptions* released = _impl_.options_;
15362   _impl_.options_ = nullptr;
15363   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
15364     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
15365     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15366     if (GetArena() == nullptr) {
15367       delete old;
15368     }
15369   } else {
15370     if (GetArena() != nullptr) {
15371       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15372     }
15373   }
15374   return released;
15375 }
15376 inline ::google::protobuf::FieldOptions* PROTOBUF_NULLABLE FieldDescriptorProto::unsafe_arena_release_options() {
15377   ::google::protobuf::internal::TSanWrite(&_impl_);
15378   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.options)
15379 
15380   _impl_._has_bits_[0] &= ~0x00000020U;
15381   ::google::protobuf::FieldOptions* temp = _impl_.options_;
15382   _impl_.options_ = nullptr;
15383   return temp;
15384 }
15385 inline ::google::protobuf::FieldOptions* PROTOBUF_NONNULL FieldDescriptorProto::_internal_mutable_options() {
15386   ::google::protobuf::internal::TSanWrite(&_impl_);
15387   if (_impl_.options_ == nullptr) {
15388     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FieldOptions>(GetArena());
15389     _impl_.options_ = reinterpret_cast<::google::protobuf::FieldOptions*>(p);
15390   }
15391   return _impl_.options_;
15392 }
15393 inline ::google::protobuf::FieldOptions* PROTOBUF_NONNULL FieldDescriptorProto::mutable_options()
15394     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15395   _impl_._has_bits_[0] |= 0x00000020U;
15396   ::google::protobuf::FieldOptions* _msg = _internal_mutable_options();
15397   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.options)
15398   return _msg;
15399 }
15400 inline void FieldDescriptorProto::set_allocated_options(::google::protobuf::FieldOptions* PROTOBUF_NULLABLE value) {
15401   ::google::protobuf::Arena* message_arena = GetArena();
15402   ::google::protobuf::internal::TSanWrite(&_impl_);
15403   if (message_arena == nullptr) {
15404     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
15405   }
15406 
15407   if (value != nullptr) {
15408     ::google::protobuf::Arena* submessage_arena = value->GetArena();
15409     if (message_arena != submessage_arena) {
15410       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
15411     }
15412     _impl_._has_bits_[0] |= 0x00000020U;
15413   } else {
15414     _impl_._has_bits_[0] &= ~0x00000020U;
15415   }
15416 
15417   _impl_.options_ = reinterpret_cast<::google::protobuf::FieldOptions*>(value);
15418   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.options)
15419 }
15420 
15421 // optional bool proto3_optional = 17;
15422 inline bool FieldDescriptorProto::has_proto3_optional() const {
15423   bool value = (_impl_._has_bits_[0] & 0x00000100U) != 0;
15424   return value;
15425 }
15426 inline void FieldDescriptorProto::clear_proto3_optional() {
15427   ::google::protobuf::internal::TSanWrite(&_impl_);
15428   _impl_.proto3_optional_ = false;
15429   _impl_._has_bits_[0] &= ~0x00000100U;
15430 }
15431 inline bool FieldDescriptorProto::proto3_optional() const {
15432   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.proto3_optional)
15433   return _internal_proto3_optional();
15434 }
15435 inline void FieldDescriptorProto::set_proto3_optional(bool value) {
15436   _internal_set_proto3_optional(value);
15437   _impl_._has_bits_[0] |= 0x00000100U;
15438   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.proto3_optional)
15439 }
15440 inline bool FieldDescriptorProto::_internal_proto3_optional() const {
15441   ::google::protobuf::internal::TSanRead(&_impl_);
15442   return _impl_.proto3_optional_;
15443 }
15444 inline void FieldDescriptorProto::_internal_set_proto3_optional(bool value) {
15445   ::google::protobuf::internal::TSanWrite(&_impl_);
15446   _impl_.proto3_optional_ = value;
15447 }
15448 
15449 // -------------------------------------------------------------------
15450 
15451 // OneofDescriptorProto
15452 
15453 // optional string name = 1;
15454 inline bool OneofDescriptorProto::has_name() const {
15455   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
15456   return value;
15457 }
15458 inline void OneofDescriptorProto::clear_name() {
15459   ::google::protobuf::internal::TSanWrite(&_impl_);
15460   _impl_.name_.ClearToEmpty();
15461   _impl_._has_bits_[0] &= ~0x00000001U;
15462 }
15463 inline const ::std::string& OneofDescriptorProto::name() const
15464     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15465   // @@protoc_insertion_point(field_get:google.protobuf.OneofDescriptorProto.name)
15466   return _internal_name();
15467 }
15468 template <typename Arg_, typename... Args_>
15469 PROTOBUF_ALWAYS_INLINE void OneofDescriptorProto::set_name(Arg_&& arg, Args_... args) {
15470   ::google::protobuf::internal::TSanWrite(&_impl_);
15471   _impl_._has_bits_[0] |= 0x00000001U;
15472   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15473   // @@protoc_insertion_point(field_set:google.protobuf.OneofDescriptorProto.name)
15474 }
15475 inline ::std::string* PROTOBUF_NONNULL OneofDescriptorProto::mutable_name()
15476     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15477   ::std::string* _s = _internal_mutable_name();
15478   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofDescriptorProto.name)
15479   return _s;
15480 }
15481 inline const ::std::string& OneofDescriptorProto::_internal_name() const {
15482   ::google::protobuf::internal::TSanRead(&_impl_);
15483   return _impl_.name_.Get();
15484 }
15485 inline void OneofDescriptorProto::_internal_set_name(const ::std::string& value) {
15486   ::google::protobuf::internal::TSanWrite(&_impl_);
15487   _impl_._has_bits_[0] |= 0x00000001U;
15488   _impl_.name_.Set(value, GetArena());
15489 }
15490 inline ::std::string* PROTOBUF_NONNULL OneofDescriptorProto::_internal_mutable_name() {
15491   ::google::protobuf::internal::TSanWrite(&_impl_);
15492   _impl_._has_bits_[0] |= 0x00000001U;
15493   return _impl_.name_.Mutable( GetArena());
15494 }
15495 inline ::std::string* PROTOBUF_NULLABLE OneofDescriptorProto::release_name() {
15496   ::google::protobuf::internal::TSanWrite(&_impl_);
15497   // @@protoc_insertion_point(field_release:google.protobuf.OneofDescriptorProto.name)
15498   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
15499     return nullptr;
15500   }
15501   _impl_._has_bits_[0] &= ~0x00000001U;
15502   auto* released = _impl_.name_.Release();
15503   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
15504     _impl_.name_.Set("", GetArena());
15505   }
15506   return released;
15507 }
15508 inline void OneofDescriptorProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
15509   ::google::protobuf::internal::TSanWrite(&_impl_);
15510   if (value != nullptr) {
15511     _impl_._has_bits_[0] |= 0x00000001U;
15512   } else {
15513     _impl_._has_bits_[0] &= ~0x00000001U;
15514   }
15515   _impl_.name_.SetAllocated(value, GetArena());
15516   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
15517     _impl_.name_.Set("", GetArena());
15518   }
15519   // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofDescriptorProto.name)
15520 }
15521 
15522 // optional .google.protobuf.OneofOptions options = 2;
15523 inline bool OneofDescriptorProto::has_options() const {
15524   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
15525   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
15526   return value;
15527 }
15528 inline void OneofDescriptorProto::clear_options() {
15529   ::google::protobuf::internal::TSanWrite(&_impl_);
15530   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
15531   _impl_._has_bits_[0] &= ~0x00000002U;
15532 }
15533 inline const ::google::protobuf::OneofOptions& OneofDescriptorProto::_internal_options() const {
15534   ::google::protobuf::internal::TSanRead(&_impl_);
15535   const ::google::protobuf::OneofOptions* p = _impl_.options_;
15536   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::OneofOptions&>(::google::protobuf::_OneofOptions_default_instance_);
15537 }
15538 inline const ::google::protobuf::OneofOptions& OneofDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
15539   // @@protoc_insertion_point(field_get:google.protobuf.OneofDescriptorProto.options)
15540   return _internal_options();
15541 }
15542 inline void OneofDescriptorProto::unsafe_arena_set_allocated_options(
15543     ::google::protobuf::OneofOptions* PROTOBUF_NULLABLE value) {
15544   ::google::protobuf::internal::TSanWrite(&_impl_);
15545   if (GetArena() == nullptr) {
15546     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
15547   }
15548   _impl_.options_ = reinterpret_cast<::google::protobuf::OneofOptions*>(value);
15549   if (value != nullptr) {
15550     _impl_._has_bits_[0] |= 0x00000002U;
15551   } else {
15552     _impl_._has_bits_[0] &= ~0x00000002U;
15553   }
15554   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.OneofDescriptorProto.options)
15555 }
15556 inline ::google::protobuf::OneofOptions* PROTOBUF_NULLABLE OneofDescriptorProto::release_options() {
15557   ::google::protobuf::internal::TSanWrite(&_impl_);
15558 
15559   _impl_._has_bits_[0] &= ~0x00000002U;
15560   ::google::protobuf::OneofOptions* released = _impl_.options_;
15561   _impl_.options_ = nullptr;
15562   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
15563     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
15564     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15565     if (GetArena() == nullptr) {
15566       delete old;
15567     }
15568   } else {
15569     if (GetArena() != nullptr) {
15570       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15571     }
15572   }
15573   return released;
15574 }
15575 inline ::google::protobuf::OneofOptions* PROTOBUF_NULLABLE OneofDescriptorProto::unsafe_arena_release_options() {
15576   ::google::protobuf::internal::TSanWrite(&_impl_);
15577   // @@protoc_insertion_point(field_release:google.protobuf.OneofDescriptorProto.options)
15578 
15579   _impl_._has_bits_[0] &= ~0x00000002U;
15580   ::google::protobuf::OneofOptions* temp = _impl_.options_;
15581   _impl_.options_ = nullptr;
15582   return temp;
15583 }
15584 inline ::google::protobuf::OneofOptions* PROTOBUF_NONNULL OneofDescriptorProto::_internal_mutable_options() {
15585   ::google::protobuf::internal::TSanWrite(&_impl_);
15586   if (_impl_.options_ == nullptr) {
15587     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::OneofOptions>(GetArena());
15588     _impl_.options_ = reinterpret_cast<::google::protobuf::OneofOptions*>(p);
15589   }
15590   return _impl_.options_;
15591 }
15592 inline ::google::protobuf::OneofOptions* PROTOBUF_NONNULL OneofDescriptorProto::mutable_options()
15593     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15594   _impl_._has_bits_[0] |= 0x00000002U;
15595   ::google::protobuf::OneofOptions* _msg = _internal_mutable_options();
15596   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofDescriptorProto.options)
15597   return _msg;
15598 }
15599 inline void OneofDescriptorProto::set_allocated_options(::google::protobuf::OneofOptions* PROTOBUF_NULLABLE value) {
15600   ::google::protobuf::Arena* message_arena = GetArena();
15601   ::google::protobuf::internal::TSanWrite(&_impl_);
15602   if (message_arena == nullptr) {
15603     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
15604   }
15605 
15606   if (value != nullptr) {
15607     ::google::protobuf::Arena* submessage_arena = value->GetArena();
15608     if (message_arena != submessage_arena) {
15609       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
15610     }
15611     _impl_._has_bits_[0] |= 0x00000002U;
15612   } else {
15613     _impl_._has_bits_[0] &= ~0x00000002U;
15614   }
15615 
15616   _impl_.options_ = reinterpret_cast<::google::protobuf::OneofOptions*>(value);
15617   // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofDescriptorProto.options)
15618 }
15619 
15620 // -------------------------------------------------------------------
15621 
15622 // EnumDescriptorProto_EnumReservedRange
15623 
15624 // optional int32 start = 1;
15625 inline bool EnumDescriptorProto_EnumReservedRange::has_start() const {
15626   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
15627   return value;
15628 }
15629 inline void EnumDescriptorProto_EnumReservedRange::clear_start() {
15630   ::google::protobuf::internal::TSanWrite(&_impl_);
15631   _impl_.start_ = 0;
15632   _impl_._has_bits_[0] &= ~0x00000001U;
15633 }
15634 inline ::int32_t EnumDescriptorProto_EnumReservedRange::start() const {
15635   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.EnumReservedRange.start)
15636   return _internal_start();
15637 }
15638 inline void EnumDescriptorProto_EnumReservedRange::set_start(::int32_t value) {
15639   _internal_set_start(value);
15640   _impl_._has_bits_[0] |= 0x00000001U;
15641   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.EnumReservedRange.start)
15642 }
15643 inline ::int32_t EnumDescriptorProto_EnumReservedRange::_internal_start() const {
15644   ::google::protobuf::internal::TSanRead(&_impl_);
15645   return _impl_.start_;
15646 }
15647 inline void EnumDescriptorProto_EnumReservedRange::_internal_set_start(::int32_t value) {
15648   ::google::protobuf::internal::TSanWrite(&_impl_);
15649   _impl_.start_ = value;
15650 }
15651 
15652 // optional int32 end = 2;
15653 inline bool EnumDescriptorProto_EnumReservedRange::has_end() const {
15654   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
15655   return value;
15656 }
15657 inline void EnumDescriptorProto_EnumReservedRange::clear_end() {
15658   ::google::protobuf::internal::TSanWrite(&_impl_);
15659   _impl_.end_ = 0;
15660   _impl_._has_bits_[0] &= ~0x00000002U;
15661 }
15662 inline ::int32_t EnumDescriptorProto_EnumReservedRange::end() const {
15663   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.EnumReservedRange.end)
15664   return _internal_end();
15665 }
15666 inline void EnumDescriptorProto_EnumReservedRange::set_end(::int32_t value) {
15667   _internal_set_end(value);
15668   _impl_._has_bits_[0] |= 0x00000002U;
15669   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.EnumReservedRange.end)
15670 }
15671 inline ::int32_t EnumDescriptorProto_EnumReservedRange::_internal_end() const {
15672   ::google::protobuf::internal::TSanRead(&_impl_);
15673   return _impl_.end_;
15674 }
15675 inline void EnumDescriptorProto_EnumReservedRange::_internal_set_end(::int32_t value) {
15676   ::google::protobuf::internal::TSanWrite(&_impl_);
15677   _impl_.end_ = value;
15678 }
15679 
15680 // -------------------------------------------------------------------
15681 
15682 // EnumDescriptorProto
15683 
15684 // optional string name = 1;
15685 inline bool EnumDescriptorProto::has_name() const {
15686   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
15687   return value;
15688 }
15689 inline void EnumDescriptorProto::clear_name() {
15690   ::google::protobuf::internal::TSanWrite(&_impl_);
15691   _impl_.name_.ClearToEmpty();
15692   _impl_._has_bits_[0] &= ~0x00000001U;
15693 }
15694 inline const ::std::string& EnumDescriptorProto::name() const
15695     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15696   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.name)
15697   return _internal_name();
15698 }
15699 template <typename Arg_, typename... Args_>
15700 PROTOBUF_ALWAYS_INLINE void EnumDescriptorProto::set_name(Arg_&& arg, Args_... args) {
15701   ::google::protobuf::internal::TSanWrite(&_impl_);
15702   _impl_._has_bits_[0] |= 0x00000001U;
15703   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15704   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.name)
15705 }
15706 inline ::std::string* PROTOBUF_NONNULL EnumDescriptorProto::mutable_name()
15707     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15708   ::std::string* _s = _internal_mutable_name();
15709   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.name)
15710   return _s;
15711 }
15712 inline const ::std::string& EnumDescriptorProto::_internal_name() const {
15713   ::google::protobuf::internal::TSanRead(&_impl_);
15714   return _impl_.name_.Get();
15715 }
15716 inline void EnumDescriptorProto::_internal_set_name(const ::std::string& value) {
15717   ::google::protobuf::internal::TSanWrite(&_impl_);
15718   _impl_._has_bits_[0] |= 0x00000001U;
15719   _impl_.name_.Set(value, GetArena());
15720 }
15721 inline ::std::string* PROTOBUF_NONNULL EnumDescriptorProto::_internal_mutable_name() {
15722   ::google::protobuf::internal::TSanWrite(&_impl_);
15723   _impl_._has_bits_[0] |= 0x00000001U;
15724   return _impl_.name_.Mutable( GetArena());
15725 }
15726 inline ::std::string* PROTOBUF_NULLABLE EnumDescriptorProto::release_name() {
15727   ::google::protobuf::internal::TSanWrite(&_impl_);
15728   // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.name)
15729   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
15730     return nullptr;
15731   }
15732   _impl_._has_bits_[0] &= ~0x00000001U;
15733   auto* released = _impl_.name_.Release();
15734   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
15735     _impl_.name_.Set("", GetArena());
15736   }
15737   return released;
15738 }
15739 inline void EnumDescriptorProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
15740   ::google::protobuf::internal::TSanWrite(&_impl_);
15741   if (value != nullptr) {
15742     _impl_._has_bits_[0] |= 0x00000001U;
15743   } else {
15744     _impl_._has_bits_[0] &= ~0x00000001U;
15745   }
15746   _impl_.name_.SetAllocated(value, GetArena());
15747   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
15748     _impl_.name_.Set("", GetArena());
15749   }
15750   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.name)
15751 }
15752 
15753 // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
15754 inline int EnumDescriptorProto::_internal_value_size() const {
15755   return _internal_value().size();
15756 }
15757 inline int EnumDescriptorProto::value_size() const {
15758   return _internal_value_size();
15759 }
15760 inline void EnumDescriptorProto::clear_value() {
15761   ::google::protobuf::internal::TSanWrite(&_impl_);
15762   _impl_.value_.Clear();
15763 }
15764 inline ::google::protobuf::EnumValueDescriptorProto* PROTOBUF_NONNULL EnumDescriptorProto::mutable_value(int index)
15765     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15766   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.value)
15767   return _internal_mutable_value()->Mutable(index);
15768 }
15769 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>* PROTOBUF_NONNULL EnumDescriptorProto::mutable_value()
15770     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15771   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumDescriptorProto.value)
15772   ::google::protobuf::internal::TSanWrite(&_impl_);
15773   return _internal_mutable_value();
15774 }
15775 inline const ::google::protobuf::EnumValueDescriptorProto& EnumDescriptorProto::value(int index) const
15776     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15777   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.value)
15778   return _internal_value().Get(index);
15779 }
15780 inline ::google::protobuf::EnumValueDescriptorProto* PROTOBUF_NONNULL EnumDescriptorProto::add_value()
15781     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15782   ::google::protobuf::internal::TSanWrite(&_impl_);
15783   ::google::protobuf::EnumValueDescriptorProto* _add = _internal_mutable_value()->Add();
15784   // @@protoc_insertion_point(field_add:google.protobuf.EnumDescriptorProto.value)
15785   return _add;
15786 }
15787 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>& EnumDescriptorProto::value() const
15788     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15789   // @@protoc_insertion_point(field_list:google.protobuf.EnumDescriptorProto.value)
15790   return _internal_value();
15791 }
15792 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>&
15793 EnumDescriptorProto::_internal_value() const {
15794   ::google::protobuf::internal::TSanRead(&_impl_);
15795   return _impl_.value_;
15796 }
15797 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>* PROTOBUF_NONNULL
15798 EnumDescriptorProto::_internal_mutable_value() {
15799   ::google::protobuf::internal::TSanRead(&_impl_);
15800   return &_impl_.value_;
15801 }
15802 
15803 // optional .google.protobuf.EnumOptions options = 3;
15804 inline bool EnumDescriptorProto::has_options() const {
15805   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
15806   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
15807   return value;
15808 }
15809 inline void EnumDescriptorProto::clear_options() {
15810   ::google::protobuf::internal::TSanWrite(&_impl_);
15811   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
15812   _impl_._has_bits_[0] &= ~0x00000002U;
15813 }
15814 inline const ::google::protobuf::EnumOptions& EnumDescriptorProto::_internal_options() const {
15815   ::google::protobuf::internal::TSanRead(&_impl_);
15816   const ::google::protobuf::EnumOptions* p = _impl_.options_;
15817   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::EnumOptions&>(::google::protobuf::_EnumOptions_default_instance_);
15818 }
15819 inline const ::google::protobuf::EnumOptions& EnumDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
15820   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.options)
15821   return _internal_options();
15822 }
15823 inline void EnumDescriptorProto::unsafe_arena_set_allocated_options(
15824     ::google::protobuf::EnumOptions* PROTOBUF_NULLABLE value) {
15825   ::google::protobuf::internal::TSanWrite(&_impl_);
15826   if (GetArena() == nullptr) {
15827     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
15828   }
15829   _impl_.options_ = reinterpret_cast<::google::protobuf::EnumOptions*>(value);
15830   if (value != nullptr) {
15831     _impl_._has_bits_[0] |= 0x00000002U;
15832   } else {
15833     _impl_._has_bits_[0] &= ~0x00000002U;
15834   }
15835   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumDescriptorProto.options)
15836 }
15837 inline ::google::protobuf::EnumOptions* PROTOBUF_NULLABLE EnumDescriptorProto::release_options() {
15838   ::google::protobuf::internal::TSanWrite(&_impl_);
15839 
15840   _impl_._has_bits_[0] &= ~0x00000002U;
15841   ::google::protobuf::EnumOptions* released = _impl_.options_;
15842   _impl_.options_ = nullptr;
15843   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
15844     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
15845     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15846     if (GetArena() == nullptr) {
15847       delete old;
15848     }
15849   } else {
15850     if (GetArena() != nullptr) {
15851       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15852     }
15853   }
15854   return released;
15855 }
15856 inline ::google::protobuf::EnumOptions* PROTOBUF_NULLABLE EnumDescriptorProto::unsafe_arena_release_options() {
15857   ::google::protobuf::internal::TSanWrite(&_impl_);
15858   // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.options)
15859 
15860   _impl_._has_bits_[0] &= ~0x00000002U;
15861   ::google::protobuf::EnumOptions* temp = _impl_.options_;
15862   _impl_.options_ = nullptr;
15863   return temp;
15864 }
15865 inline ::google::protobuf::EnumOptions* PROTOBUF_NONNULL EnumDescriptorProto::_internal_mutable_options() {
15866   ::google::protobuf::internal::TSanWrite(&_impl_);
15867   if (_impl_.options_ == nullptr) {
15868     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::EnumOptions>(GetArena());
15869     _impl_.options_ = reinterpret_cast<::google::protobuf::EnumOptions*>(p);
15870   }
15871   return _impl_.options_;
15872 }
15873 inline ::google::protobuf::EnumOptions* PROTOBUF_NONNULL EnumDescriptorProto::mutable_options()
15874     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15875   _impl_._has_bits_[0] |= 0x00000002U;
15876   ::google::protobuf::EnumOptions* _msg = _internal_mutable_options();
15877   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.options)
15878   return _msg;
15879 }
15880 inline void EnumDescriptorProto::set_allocated_options(::google::protobuf::EnumOptions* PROTOBUF_NULLABLE value) {
15881   ::google::protobuf::Arena* message_arena = GetArena();
15882   ::google::protobuf::internal::TSanWrite(&_impl_);
15883   if (message_arena == nullptr) {
15884     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
15885   }
15886 
15887   if (value != nullptr) {
15888     ::google::protobuf::Arena* submessage_arena = value->GetArena();
15889     if (message_arena != submessage_arena) {
15890       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
15891     }
15892     _impl_._has_bits_[0] |= 0x00000002U;
15893   } else {
15894     _impl_._has_bits_[0] &= ~0x00000002U;
15895   }
15896 
15897   _impl_.options_ = reinterpret_cast<::google::protobuf::EnumOptions*>(value);
15898   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.options)
15899 }
15900 
15901 // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
15902 inline int EnumDescriptorProto::_internal_reserved_range_size() const {
15903   return _internal_reserved_range().size();
15904 }
15905 inline int EnumDescriptorProto::reserved_range_size() const {
15906   return _internal_reserved_range_size();
15907 }
15908 inline void EnumDescriptorProto::clear_reserved_range() {
15909   ::google::protobuf::internal::TSanWrite(&_impl_);
15910   _impl_.reserved_range_.Clear();
15911 }
15912 inline ::google::protobuf::EnumDescriptorProto_EnumReservedRange* PROTOBUF_NONNULL EnumDescriptorProto::mutable_reserved_range(int index)
15913     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15914   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.reserved_range)
15915   return _internal_mutable_reserved_range()->Mutable(index);
15916 }
15917 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>* PROTOBUF_NONNULL EnumDescriptorProto::mutable_reserved_range()
15918     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15919   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumDescriptorProto.reserved_range)
15920   ::google::protobuf::internal::TSanWrite(&_impl_);
15921   return _internal_mutable_reserved_range();
15922 }
15923 inline const ::google::protobuf::EnumDescriptorProto_EnumReservedRange& EnumDescriptorProto::reserved_range(int index) const
15924     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15925   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.reserved_range)
15926   return _internal_reserved_range().Get(index);
15927 }
15928 inline ::google::protobuf::EnumDescriptorProto_EnumReservedRange* PROTOBUF_NONNULL EnumDescriptorProto::add_reserved_range()
15929     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15930   ::google::protobuf::internal::TSanWrite(&_impl_);
15931   ::google::protobuf::EnumDescriptorProto_EnumReservedRange* _add = _internal_mutable_reserved_range()->Add();
15932   // @@protoc_insertion_point(field_add:google.protobuf.EnumDescriptorProto.reserved_range)
15933   return _add;
15934 }
15935 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>& EnumDescriptorProto::reserved_range() const
15936     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15937   // @@protoc_insertion_point(field_list:google.protobuf.EnumDescriptorProto.reserved_range)
15938   return _internal_reserved_range();
15939 }
15940 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>&
15941 EnumDescriptorProto::_internal_reserved_range() const {
15942   ::google::protobuf::internal::TSanRead(&_impl_);
15943   return _impl_.reserved_range_;
15944 }
15945 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>* PROTOBUF_NONNULL
15946 EnumDescriptorProto::_internal_mutable_reserved_range() {
15947   ::google::protobuf::internal::TSanRead(&_impl_);
15948   return &_impl_.reserved_range_;
15949 }
15950 
15951 // repeated string reserved_name = 5;
15952 inline int EnumDescriptorProto::_internal_reserved_name_size() const {
15953   return _internal_reserved_name().size();
15954 }
15955 inline int EnumDescriptorProto::reserved_name_size() const {
15956   return _internal_reserved_name_size();
15957 }
15958 inline void EnumDescriptorProto::clear_reserved_name() {
15959   ::google::protobuf::internal::TSanWrite(&_impl_);
15960   _impl_.reserved_name_.Clear();
15961 }
15962 inline ::std::string* PROTOBUF_NONNULL EnumDescriptorProto::add_reserved_name()
15963     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15964   ::google::protobuf::internal::TSanWrite(&_impl_);
15965   ::std::string* _s = _internal_mutable_reserved_name()->Add();
15966   // @@protoc_insertion_point(field_add_mutable:google.protobuf.EnumDescriptorProto.reserved_name)
15967   return _s;
15968 }
15969 inline const ::std::string& EnumDescriptorProto::reserved_name(int index) const
15970     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15971   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.reserved_name)
15972   return _internal_reserved_name().Get(index);
15973 }
15974 inline ::std::string* PROTOBUF_NONNULL EnumDescriptorProto::mutable_reserved_name(int index)
15975     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15976   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.reserved_name)
15977   return _internal_mutable_reserved_name()->Mutable(index);
15978 }
15979 template <typename Arg_, typename... Args_>
15980 inline void EnumDescriptorProto::set_reserved_name(int index, Arg_&& value, Args_... args) {
15981   ::google::protobuf::internal::AssignToString(*_internal_mutable_reserved_name()->Mutable(index), ::std::forward<Arg_>(value),
15982                         args... );
15983   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.reserved_name)
15984 }
15985 template <typename Arg_, typename... Args_>
15986 inline void EnumDescriptorProto::add_reserved_name(Arg_&& value, Args_... args) {
15987   ::google::protobuf::internal::TSanWrite(&_impl_);
15988   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_reserved_name(),
15989                                ::std::forward<Arg_>(value),
15990                                args... );
15991   // @@protoc_insertion_point(field_add:google.protobuf.EnumDescriptorProto.reserved_name)
15992 }
15993 inline const ::google::protobuf::RepeatedPtrField<::std::string>& EnumDescriptorProto::reserved_name()
15994     const ABSL_ATTRIBUTE_LIFETIME_BOUND {
15995   // @@protoc_insertion_point(field_list:google.protobuf.EnumDescriptorProto.reserved_name)
15996   return _internal_reserved_name();
15997 }
15998 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
15999 EnumDescriptorProto::mutable_reserved_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16000   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumDescriptorProto.reserved_name)
16001   ::google::protobuf::internal::TSanWrite(&_impl_);
16002   return _internal_mutable_reserved_name();
16003 }
16004 inline const ::google::protobuf::RepeatedPtrField<::std::string>&
16005 EnumDescriptorProto::_internal_reserved_name() const {
16006   ::google::protobuf::internal::TSanRead(&_impl_);
16007   return _impl_.reserved_name_;
16008 }
16009 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
16010 EnumDescriptorProto::_internal_mutable_reserved_name() {
16011   ::google::protobuf::internal::TSanRead(&_impl_);
16012   return &_impl_.reserved_name_;
16013 }
16014 
16015 // optional .google.protobuf.SymbolVisibility visibility = 6;
16016 inline bool EnumDescriptorProto::has_visibility() const {
16017   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
16018   return value;
16019 }
16020 inline void EnumDescriptorProto::clear_visibility() {
16021   ::google::protobuf::internal::TSanWrite(&_impl_);
16022   _impl_.visibility_ = 0;
16023   _impl_._has_bits_[0] &= ~0x00000004U;
16024 }
16025 inline ::google::protobuf::SymbolVisibility EnumDescriptorProto::visibility() const {
16026   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.visibility)
16027   return _internal_visibility();
16028 }
16029 inline void EnumDescriptorProto::set_visibility(::google::protobuf::SymbolVisibility value) {
16030   _internal_set_visibility(value);
16031   _impl_._has_bits_[0] |= 0x00000004U;
16032   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.visibility)
16033 }
16034 inline ::google::protobuf::SymbolVisibility EnumDescriptorProto::_internal_visibility() const {
16035   ::google::protobuf::internal::TSanRead(&_impl_);
16036   return static_cast<::google::protobuf::SymbolVisibility>(_impl_.visibility_);
16037 }
16038 inline void EnumDescriptorProto::_internal_set_visibility(::google::protobuf::SymbolVisibility value) {
16039   ::google::protobuf::internal::TSanWrite(&_impl_);
16040 
16041                                           assert(::google::protobuf::internal::ValidateEnum(
16042                                               value, ::google::protobuf::SymbolVisibility_internal_data_));
16043                                           _impl_.visibility_ = value;
16044 }
16045 
16046 // -------------------------------------------------------------------
16047 
16048 // EnumValueDescriptorProto
16049 
16050 // optional string name = 1;
16051 inline bool EnumValueDescriptorProto::has_name() const {
16052   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
16053   return value;
16054 }
16055 inline void EnumValueDescriptorProto::clear_name() {
16056   ::google::protobuf::internal::TSanWrite(&_impl_);
16057   _impl_.name_.ClearToEmpty();
16058   _impl_._has_bits_[0] &= ~0x00000001U;
16059 }
16060 inline const ::std::string& EnumValueDescriptorProto::name() const
16061     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16062   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.name)
16063   return _internal_name();
16064 }
16065 template <typename Arg_, typename... Args_>
16066 PROTOBUF_ALWAYS_INLINE void EnumValueDescriptorProto::set_name(Arg_&& arg, Args_... args) {
16067   ::google::protobuf::internal::TSanWrite(&_impl_);
16068   _impl_._has_bits_[0] |= 0x00000001U;
16069   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16070   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.name)
16071 }
16072 inline ::std::string* PROTOBUF_NONNULL EnumValueDescriptorProto::mutable_name()
16073     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16074   ::std::string* _s = _internal_mutable_name();
16075   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.name)
16076   return _s;
16077 }
16078 inline const ::std::string& EnumValueDescriptorProto::_internal_name() const {
16079   ::google::protobuf::internal::TSanRead(&_impl_);
16080   return _impl_.name_.Get();
16081 }
16082 inline void EnumValueDescriptorProto::_internal_set_name(const ::std::string& value) {
16083   ::google::protobuf::internal::TSanWrite(&_impl_);
16084   _impl_._has_bits_[0] |= 0x00000001U;
16085   _impl_.name_.Set(value, GetArena());
16086 }
16087 inline ::std::string* PROTOBUF_NONNULL EnumValueDescriptorProto::_internal_mutable_name() {
16088   ::google::protobuf::internal::TSanWrite(&_impl_);
16089   _impl_._has_bits_[0] |= 0x00000001U;
16090   return _impl_.name_.Mutable( GetArena());
16091 }
16092 inline ::std::string* PROTOBUF_NULLABLE EnumValueDescriptorProto::release_name() {
16093   ::google::protobuf::internal::TSanWrite(&_impl_);
16094   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.name)
16095   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
16096     return nullptr;
16097   }
16098   _impl_._has_bits_[0] &= ~0x00000001U;
16099   auto* released = _impl_.name_.Release();
16100   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
16101     _impl_.name_.Set("", GetArena());
16102   }
16103   return released;
16104 }
16105 inline void EnumValueDescriptorProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
16106   ::google::protobuf::internal::TSanWrite(&_impl_);
16107   if (value != nullptr) {
16108     _impl_._has_bits_[0] |= 0x00000001U;
16109   } else {
16110     _impl_._has_bits_[0] &= ~0x00000001U;
16111   }
16112   _impl_.name_.SetAllocated(value, GetArena());
16113   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
16114     _impl_.name_.Set("", GetArena());
16115   }
16116   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.name)
16117 }
16118 
16119 // optional int32 number = 2;
16120 inline bool EnumValueDescriptorProto::has_number() const {
16121   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
16122   return value;
16123 }
16124 inline void EnumValueDescriptorProto::clear_number() {
16125   ::google::protobuf::internal::TSanWrite(&_impl_);
16126   _impl_.number_ = 0;
16127   _impl_._has_bits_[0] &= ~0x00000004U;
16128 }
16129 inline ::int32_t EnumValueDescriptorProto::number() const {
16130   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.number)
16131   return _internal_number();
16132 }
16133 inline void EnumValueDescriptorProto::set_number(::int32_t value) {
16134   _internal_set_number(value);
16135   _impl_._has_bits_[0] |= 0x00000004U;
16136   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.number)
16137 }
16138 inline ::int32_t EnumValueDescriptorProto::_internal_number() const {
16139   ::google::protobuf::internal::TSanRead(&_impl_);
16140   return _impl_.number_;
16141 }
16142 inline void EnumValueDescriptorProto::_internal_set_number(::int32_t value) {
16143   ::google::protobuf::internal::TSanWrite(&_impl_);
16144   _impl_.number_ = value;
16145 }
16146 
16147 // optional .google.protobuf.EnumValueOptions options = 3;
16148 inline bool EnumValueDescriptorProto::has_options() const {
16149   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
16150   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
16151   return value;
16152 }
16153 inline void EnumValueDescriptorProto::clear_options() {
16154   ::google::protobuf::internal::TSanWrite(&_impl_);
16155   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
16156   _impl_._has_bits_[0] &= ~0x00000002U;
16157 }
16158 inline const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::_internal_options() const {
16159   ::google::protobuf::internal::TSanRead(&_impl_);
16160   const ::google::protobuf::EnumValueOptions* p = _impl_.options_;
16161   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::EnumValueOptions&>(::google::protobuf::_EnumValueOptions_default_instance_);
16162 }
16163 inline const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
16164   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.options)
16165   return _internal_options();
16166 }
16167 inline void EnumValueDescriptorProto::unsafe_arena_set_allocated_options(
16168     ::google::protobuf::EnumValueOptions* PROTOBUF_NULLABLE value) {
16169   ::google::protobuf::internal::TSanWrite(&_impl_);
16170   if (GetArena() == nullptr) {
16171     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
16172   }
16173   _impl_.options_ = reinterpret_cast<::google::protobuf::EnumValueOptions*>(value);
16174   if (value != nullptr) {
16175     _impl_._has_bits_[0] |= 0x00000002U;
16176   } else {
16177     _impl_._has_bits_[0] &= ~0x00000002U;
16178   }
16179   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumValueDescriptorProto.options)
16180 }
16181 inline ::google::protobuf::EnumValueOptions* PROTOBUF_NULLABLE EnumValueDescriptorProto::release_options() {
16182   ::google::protobuf::internal::TSanWrite(&_impl_);
16183 
16184   _impl_._has_bits_[0] &= ~0x00000002U;
16185   ::google::protobuf::EnumValueOptions* released = _impl_.options_;
16186   _impl_.options_ = nullptr;
16187   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
16188     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
16189     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16190     if (GetArena() == nullptr) {
16191       delete old;
16192     }
16193   } else {
16194     if (GetArena() != nullptr) {
16195       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16196     }
16197   }
16198   return released;
16199 }
16200 inline ::google::protobuf::EnumValueOptions* PROTOBUF_NULLABLE EnumValueDescriptorProto::unsafe_arena_release_options() {
16201   ::google::protobuf::internal::TSanWrite(&_impl_);
16202   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.options)
16203 
16204   _impl_._has_bits_[0] &= ~0x00000002U;
16205   ::google::protobuf::EnumValueOptions* temp = _impl_.options_;
16206   _impl_.options_ = nullptr;
16207   return temp;
16208 }
16209 inline ::google::protobuf::EnumValueOptions* PROTOBUF_NONNULL EnumValueDescriptorProto::_internal_mutable_options() {
16210   ::google::protobuf::internal::TSanWrite(&_impl_);
16211   if (_impl_.options_ == nullptr) {
16212     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::EnumValueOptions>(GetArena());
16213     _impl_.options_ = reinterpret_cast<::google::protobuf::EnumValueOptions*>(p);
16214   }
16215   return _impl_.options_;
16216 }
16217 inline ::google::protobuf::EnumValueOptions* PROTOBUF_NONNULL EnumValueDescriptorProto::mutable_options()
16218     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16219   _impl_._has_bits_[0] |= 0x00000002U;
16220   ::google::protobuf::EnumValueOptions* _msg = _internal_mutable_options();
16221   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.options)
16222   return _msg;
16223 }
16224 inline void EnumValueDescriptorProto::set_allocated_options(::google::protobuf::EnumValueOptions* PROTOBUF_NULLABLE value) {
16225   ::google::protobuf::Arena* message_arena = GetArena();
16226   ::google::protobuf::internal::TSanWrite(&_impl_);
16227   if (message_arena == nullptr) {
16228     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
16229   }
16230 
16231   if (value != nullptr) {
16232     ::google::protobuf::Arena* submessage_arena = value->GetArena();
16233     if (message_arena != submessage_arena) {
16234       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
16235     }
16236     _impl_._has_bits_[0] |= 0x00000002U;
16237   } else {
16238     _impl_._has_bits_[0] &= ~0x00000002U;
16239   }
16240 
16241   _impl_.options_ = reinterpret_cast<::google::protobuf::EnumValueOptions*>(value);
16242   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.options)
16243 }
16244 
16245 // -------------------------------------------------------------------
16246 
16247 // ServiceDescriptorProto
16248 
16249 // optional string name = 1;
16250 inline bool ServiceDescriptorProto::has_name() const {
16251   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
16252   return value;
16253 }
16254 inline void ServiceDescriptorProto::clear_name() {
16255   ::google::protobuf::internal::TSanWrite(&_impl_);
16256   _impl_.name_.ClearToEmpty();
16257   _impl_._has_bits_[0] &= ~0x00000001U;
16258 }
16259 inline const ::std::string& ServiceDescriptorProto::name() const
16260     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16261   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.name)
16262   return _internal_name();
16263 }
16264 template <typename Arg_, typename... Args_>
16265 PROTOBUF_ALWAYS_INLINE void ServiceDescriptorProto::set_name(Arg_&& arg, Args_... args) {
16266   ::google::protobuf::internal::TSanWrite(&_impl_);
16267   _impl_._has_bits_[0] |= 0x00000001U;
16268   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16269   // @@protoc_insertion_point(field_set:google.protobuf.ServiceDescriptorProto.name)
16270 }
16271 inline ::std::string* PROTOBUF_NONNULL ServiceDescriptorProto::mutable_name()
16272     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16273   ::std::string* _s = _internal_mutable_name();
16274   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.name)
16275   return _s;
16276 }
16277 inline const ::std::string& ServiceDescriptorProto::_internal_name() const {
16278   ::google::protobuf::internal::TSanRead(&_impl_);
16279   return _impl_.name_.Get();
16280 }
16281 inline void ServiceDescriptorProto::_internal_set_name(const ::std::string& value) {
16282   ::google::protobuf::internal::TSanWrite(&_impl_);
16283   _impl_._has_bits_[0] |= 0x00000001U;
16284   _impl_.name_.Set(value, GetArena());
16285 }
16286 inline ::std::string* PROTOBUF_NONNULL ServiceDescriptorProto::_internal_mutable_name() {
16287   ::google::protobuf::internal::TSanWrite(&_impl_);
16288   _impl_._has_bits_[0] |= 0x00000001U;
16289   return _impl_.name_.Mutable( GetArena());
16290 }
16291 inline ::std::string* PROTOBUF_NULLABLE ServiceDescriptorProto::release_name() {
16292   ::google::protobuf::internal::TSanWrite(&_impl_);
16293   // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.name)
16294   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
16295     return nullptr;
16296   }
16297   _impl_._has_bits_[0] &= ~0x00000001U;
16298   auto* released = _impl_.name_.Release();
16299   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
16300     _impl_.name_.Set("", GetArena());
16301   }
16302   return released;
16303 }
16304 inline void ServiceDescriptorProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
16305   ::google::protobuf::internal::TSanWrite(&_impl_);
16306   if (value != nullptr) {
16307     _impl_._has_bits_[0] |= 0x00000001U;
16308   } else {
16309     _impl_._has_bits_[0] &= ~0x00000001U;
16310   }
16311   _impl_.name_.SetAllocated(value, GetArena());
16312   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
16313     _impl_.name_.Set("", GetArena());
16314   }
16315   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.name)
16316 }
16317 
16318 // repeated .google.protobuf.MethodDescriptorProto method = 2;
16319 inline int ServiceDescriptorProto::_internal_method_size() const {
16320   return _internal_method().size();
16321 }
16322 inline int ServiceDescriptorProto::method_size() const {
16323   return _internal_method_size();
16324 }
16325 inline void ServiceDescriptorProto::clear_method() {
16326   ::google::protobuf::internal::TSanWrite(&_impl_);
16327   _impl_.method_.Clear();
16328 }
16329 inline ::google::protobuf::MethodDescriptorProto* PROTOBUF_NONNULL ServiceDescriptorProto::mutable_method(int index)
16330     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16331   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.method)
16332   return _internal_mutable_method()->Mutable(index);
16333 }
16334 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>* PROTOBUF_NONNULL ServiceDescriptorProto::mutable_method()
16335     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16336   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceDescriptorProto.method)
16337   ::google::protobuf::internal::TSanWrite(&_impl_);
16338   return _internal_mutable_method();
16339 }
16340 inline const ::google::protobuf::MethodDescriptorProto& ServiceDescriptorProto::method(int index) const
16341     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16342   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.method)
16343   return _internal_method().Get(index);
16344 }
16345 inline ::google::protobuf::MethodDescriptorProto* PROTOBUF_NONNULL ServiceDescriptorProto::add_method()
16346     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16347   ::google::protobuf::internal::TSanWrite(&_impl_);
16348   ::google::protobuf::MethodDescriptorProto* _add = _internal_mutable_method()->Add();
16349   // @@protoc_insertion_point(field_add:google.protobuf.ServiceDescriptorProto.method)
16350   return _add;
16351 }
16352 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>& ServiceDescriptorProto::method() const
16353     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16354   // @@protoc_insertion_point(field_list:google.protobuf.ServiceDescriptorProto.method)
16355   return _internal_method();
16356 }
16357 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>&
16358 ServiceDescriptorProto::_internal_method() const {
16359   ::google::protobuf::internal::TSanRead(&_impl_);
16360   return _impl_.method_;
16361 }
16362 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>* PROTOBUF_NONNULL
16363 ServiceDescriptorProto::_internal_mutable_method() {
16364   ::google::protobuf::internal::TSanRead(&_impl_);
16365   return &_impl_.method_;
16366 }
16367 
16368 // optional .google.protobuf.ServiceOptions options = 3;
16369 inline bool ServiceDescriptorProto::has_options() const {
16370   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
16371   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
16372   return value;
16373 }
16374 inline void ServiceDescriptorProto::clear_options() {
16375   ::google::protobuf::internal::TSanWrite(&_impl_);
16376   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
16377   _impl_._has_bits_[0] &= ~0x00000002U;
16378 }
16379 inline const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::_internal_options() const {
16380   ::google::protobuf::internal::TSanRead(&_impl_);
16381   const ::google::protobuf::ServiceOptions* p = _impl_.options_;
16382   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::ServiceOptions&>(::google::protobuf::_ServiceOptions_default_instance_);
16383 }
16384 inline const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
16385   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.options)
16386   return _internal_options();
16387 }
16388 inline void ServiceDescriptorProto::unsafe_arena_set_allocated_options(
16389     ::google::protobuf::ServiceOptions* PROTOBUF_NULLABLE value) {
16390   ::google::protobuf::internal::TSanWrite(&_impl_);
16391   if (GetArena() == nullptr) {
16392     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
16393   }
16394   _impl_.options_ = reinterpret_cast<::google::protobuf::ServiceOptions*>(value);
16395   if (value != nullptr) {
16396     _impl_._has_bits_[0] |= 0x00000002U;
16397   } else {
16398     _impl_._has_bits_[0] &= ~0x00000002U;
16399   }
16400   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.ServiceDescriptorProto.options)
16401 }
16402 inline ::google::protobuf::ServiceOptions* PROTOBUF_NULLABLE ServiceDescriptorProto::release_options() {
16403   ::google::protobuf::internal::TSanWrite(&_impl_);
16404 
16405   _impl_._has_bits_[0] &= ~0x00000002U;
16406   ::google::protobuf::ServiceOptions* released = _impl_.options_;
16407   _impl_.options_ = nullptr;
16408   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
16409     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
16410     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16411     if (GetArena() == nullptr) {
16412       delete old;
16413     }
16414   } else {
16415     if (GetArena() != nullptr) {
16416       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16417     }
16418   }
16419   return released;
16420 }
16421 inline ::google::protobuf::ServiceOptions* PROTOBUF_NULLABLE ServiceDescriptorProto::unsafe_arena_release_options() {
16422   ::google::protobuf::internal::TSanWrite(&_impl_);
16423   // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.options)
16424 
16425   _impl_._has_bits_[0] &= ~0x00000002U;
16426   ::google::protobuf::ServiceOptions* temp = _impl_.options_;
16427   _impl_.options_ = nullptr;
16428   return temp;
16429 }
16430 inline ::google::protobuf::ServiceOptions* PROTOBUF_NONNULL ServiceDescriptorProto::_internal_mutable_options() {
16431   ::google::protobuf::internal::TSanWrite(&_impl_);
16432   if (_impl_.options_ == nullptr) {
16433     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::ServiceOptions>(GetArena());
16434     _impl_.options_ = reinterpret_cast<::google::protobuf::ServiceOptions*>(p);
16435   }
16436   return _impl_.options_;
16437 }
16438 inline ::google::protobuf::ServiceOptions* PROTOBUF_NONNULL ServiceDescriptorProto::mutable_options()
16439     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16440   _impl_._has_bits_[0] |= 0x00000002U;
16441   ::google::protobuf::ServiceOptions* _msg = _internal_mutable_options();
16442   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.options)
16443   return _msg;
16444 }
16445 inline void ServiceDescriptorProto::set_allocated_options(::google::protobuf::ServiceOptions* PROTOBUF_NULLABLE value) {
16446   ::google::protobuf::Arena* message_arena = GetArena();
16447   ::google::protobuf::internal::TSanWrite(&_impl_);
16448   if (message_arena == nullptr) {
16449     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
16450   }
16451 
16452   if (value != nullptr) {
16453     ::google::protobuf::Arena* submessage_arena = value->GetArena();
16454     if (message_arena != submessage_arena) {
16455       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
16456     }
16457     _impl_._has_bits_[0] |= 0x00000002U;
16458   } else {
16459     _impl_._has_bits_[0] &= ~0x00000002U;
16460   }
16461 
16462   _impl_.options_ = reinterpret_cast<::google::protobuf::ServiceOptions*>(value);
16463   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.options)
16464 }
16465 
16466 // -------------------------------------------------------------------
16467 
16468 // MethodDescriptorProto
16469 
16470 // optional string name = 1;
16471 inline bool MethodDescriptorProto::has_name() const {
16472   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
16473   return value;
16474 }
16475 inline void MethodDescriptorProto::clear_name() {
16476   ::google::protobuf::internal::TSanWrite(&_impl_);
16477   _impl_.name_.ClearToEmpty();
16478   _impl_._has_bits_[0] &= ~0x00000001U;
16479 }
16480 inline const ::std::string& MethodDescriptorProto::name() const
16481     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16482   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.name)
16483   return _internal_name();
16484 }
16485 template <typename Arg_, typename... Args_>
16486 PROTOBUF_ALWAYS_INLINE void MethodDescriptorProto::set_name(Arg_&& arg, Args_... args) {
16487   ::google::protobuf::internal::TSanWrite(&_impl_);
16488   _impl_._has_bits_[0] |= 0x00000001U;
16489   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16490   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.name)
16491 }
16492 inline ::std::string* PROTOBUF_NONNULL MethodDescriptorProto::mutable_name()
16493     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16494   ::std::string* _s = _internal_mutable_name();
16495   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.name)
16496   return _s;
16497 }
16498 inline const ::std::string& MethodDescriptorProto::_internal_name() const {
16499   ::google::protobuf::internal::TSanRead(&_impl_);
16500   return _impl_.name_.Get();
16501 }
16502 inline void MethodDescriptorProto::_internal_set_name(const ::std::string& value) {
16503   ::google::protobuf::internal::TSanWrite(&_impl_);
16504   _impl_._has_bits_[0] |= 0x00000001U;
16505   _impl_.name_.Set(value, GetArena());
16506 }
16507 inline ::std::string* PROTOBUF_NONNULL MethodDescriptorProto::_internal_mutable_name() {
16508   ::google::protobuf::internal::TSanWrite(&_impl_);
16509   _impl_._has_bits_[0] |= 0x00000001U;
16510   return _impl_.name_.Mutable( GetArena());
16511 }
16512 inline ::std::string* PROTOBUF_NULLABLE MethodDescriptorProto::release_name() {
16513   ::google::protobuf::internal::TSanWrite(&_impl_);
16514   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.name)
16515   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
16516     return nullptr;
16517   }
16518   _impl_._has_bits_[0] &= ~0x00000001U;
16519   auto* released = _impl_.name_.Release();
16520   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
16521     _impl_.name_.Set("", GetArena());
16522   }
16523   return released;
16524 }
16525 inline void MethodDescriptorProto::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
16526   ::google::protobuf::internal::TSanWrite(&_impl_);
16527   if (value != nullptr) {
16528     _impl_._has_bits_[0] |= 0x00000001U;
16529   } else {
16530     _impl_._has_bits_[0] &= ~0x00000001U;
16531   }
16532   _impl_.name_.SetAllocated(value, GetArena());
16533   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
16534     _impl_.name_.Set("", GetArena());
16535   }
16536   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.name)
16537 }
16538 
16539 // optional string input_type = 2;
16540 inline bool MethodDescriptorProto::has_input_type() const {
16541   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
16542   return value;
16543 }
16544 inline void MethodDescriptorProto::clear_input_type() {
16545   ::google::protobuf::internal::TSanWrite(&_impl_);
16546   _impl_.input_type_.ClearToEmpty();
16547   _impl_._has_bits_[0] &= ~0x00000002U;
16548 }
16549 inline const ::std::string& MethodDescriptorProto::input_type() const
16550     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16551   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.input_type)
16552   return _internal_input_type();
16553 }
16554 template <typename Arg_, typename... Args_>
16555 PROTOBUF_ALWAYS_INLINE void MethodDescriptorProto::set_input_type(Arg_&& arg, Args_... args) {
16556   ::google::protobuf::internal::TSanWrite(&_impl_);
16557   _impl_._has_bits_[0] |= 0x00000002U;
16558   _impl_.input_type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16559   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.input_type)
16560 }
16561 inline ::std::string* PROTOBUF_NONNULL MethodDescriptorProto::mutable_input_type()
16562     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16563   ::std::string* _s = _internal_mutable_input_type();
16564   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.input_type)
16565   return _s;
16566 }
16567 inline const ::std::string& MethodDescriptorProto::_internal_input_type() const {
16568   ::google::protobuf::internal::TSanRead(&_impl_);
16569   return _impl_.input_type_.Get();
16570 }
16571 inline void MethodDescriptorProto::_internal_set_input_type(const ::std::string& value) {
16572   ::google::protobuf::internal::TSanWrite(&_impl_);
16573   _impl_._has_bits_[0] |= 0x00000002U;
16574   _impl_.input_type_.Set(value, GetArena());
16575 }
16576 inline ::std::string* PROTOBUF_NONNULL MethodDescriptorProto::_internal_mutable_input_type() {
16577   ::google::protobuf::internal::TSanWrite(&_impl_);
16578   _impl_._has_bits_[0] |= 0x00000002U;
16579   return _impl_.input_type_.Mutable( GetArena());
16580 }
16581 inline ::std::string* PROTOBUF_NULLABLE MethodDescriptorProto::release_input_type() {
16582   ::google::protobuf::internal::TSanWrite(&_impl_);
16583   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.input_type)
16584   if ((_impl_._has_bits_[0] & 0x00000002U) == 0) {
16585     return nullptr;
16586   }
16587   _impl_._has_bits_[0] &= ~0x00000002U;
16588   auto* released = _impl_.input_type_.Release();
16589   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
16590     _impl_.input_type_.Set("", GetArena());
16591   }
16592   return released;
16593 }
16594 inline void MethodDescriptorProto::set_allocated_input_type(::std::string* PROTOBUF_NULLABLE value) {
16595   ::google::protobuf::internal::TSanWrite(&_impl_);
16596   if (value != nullptr) {
16597     _impl_._has_bits_[0] |= 0x00000002U;
16598   } else {
16599     _impl_._has_bits_[0] &= ~0x00000002U;
16600   }
16601   _impl_.input_type_.SetAllocated(value, GetArena());
16602   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.input_type_.IsDefault()) {
16603     _impl_.input_type_.Set("", GetArena());
16604   }
16605   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.input_type)
16606 }
16607 
16608 // optional string output_type = 3;
16609 inline bool MethodDescriptorProto::has_output_type() const {
16610   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
16611   return value;
16612 }
16613 inline void MethodDescriptorProto::clear_output_type() {
16614   ::google::protobuf::internal::TSanWrite(&_impl_);
16615   _impl_.output_type_.ClearToEmpty();
16616   _impl_._has_bits_[0] &= ~0x00000004U;
16617 }
16618 inline const ::std::string& MethodDescriptorProto::output_type() const
16619     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16620   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.output_type)
16621   return _internal_output_type();
16622 }
16623 template <typename Arg_, typename... Args_>
16624 PROTOBUF_ALWAYS_INLINE void MethodDescriptorProto::set_output_type(Arg_&& arg, Args_... args) {
16625   ::google::protobuf::internal::TSanWrite(&_impl_);
16626   _impl_._has_bits_[0] |= 0x00000004U;
16627   _impl_.output_type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16628   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.output_type)
16629 }
16630 inline ::std::string* PROTOBUF_NONNULL MethodDescriptorProto::mutable_output_type()
16631     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16632   ::std::string* _s = _internal_mutable_output_type();
16633   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.output_type)
16634   return _s;
16635 }
16636 inline const ::std::string& MethodDescriptorProto::_internal_output_type() const {
16637   ::google::protobuf::internal::TSanRead(&_impl_);
16638   return _impl_.output_type_.Get();
16639 }
16640 inline void MethodDescriptorProto::_internal_set_output_type(const ::std::string& value) {
16641   ::google::protobuf::internal::TSanWrite(&_impl_);
16642   _impl_._has_bits_[0] |= 0x00000004U;
16643   _impl_.output_type_.Set(value, GetArena());
16644 }
16645 inline ::std::string* PROTOBUF_NONNULL MethodDescriptorProto::_internal_mutable_output_type() {
16646   ::google::protobuf::internal::TSanWrite(&_impl_);
16647   _impl_._has_bits_[0] |= 0x00000004U;
16648   return _impl_.output_type_.Mutable( GetArena());
16649 }
16650 inline ::std::string* PROTOBUF_NULLABLE MethodDescriptorProto::release_output_type() {
16651   ::google::protobuf::internal::TSanWrite(&_impl_);
16652   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.output_type)
16653   if ((_impl_._has_bits_[0] & 0x00000004U) == 0) {
16654     return nullptr;
16655   }
16656   _impl_._has_bits_[0] &= ~0x00000004U;
16657   auto* released = _impl_.output_type_.Release();
16658   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
16659     _impl_.output_type_.Set("", GetArena());
16660   }
16661   return released;
16662 }
16663 inline void MethodDescriptorProto::set_allocated_output_type(::std::string* PROTOBUF_NULLABLE value) {
16664   ::google::protobuf::internal::TSanWrite(&_impl_);
16665   if (value != nullptr) {
16666     _impl_._has_bits_[0] |= 0x00000004U;
16667   } else {
16668     _impl_._has_bits_[0] &= ~0x00000004U;
16669   }
16670   _impl_.output_type_.SetAllocated(value, GetArena());
16671   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.output_type_.IsDefault()) {
16672     _impl_.output_type_.Set("", GetArena());
16673   }
16674   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.output_type)
16675 }
16676 
16677 // optional .google.protobuf.MethodOptions options = 4;
16678 inline bool MethodDescriptorProto::has_options() const {
16679   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
16680   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
16681   return value;
16682 }
16683 inline void MethodDescriptorProto::clear_options() {
16684   ::google::protobuf::internal::TSanWrite(&_impl_);
16685   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
16686   _impl_._has_bits_[0] &= ~0x00000008U;
16687 }
16688 inline const ::google::protobuf::MethodOptions& MethodDescriptorProto::_internal_options() const {
16689   ::google::protobuf::internal::TSanRead(&_impl_);
16690   const ::google::protobuf::MethodOptions* p = _impl_.options_;
16691   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::MethodOptions&>(::google::protobuf::_MethodOptions_default_instance_);
16692 }
16693 inline const ::google::protobuf::MethodOptions& MethodDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
16694   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.options)
16695   return _internal_options();
16696 }
16697 inline void MethodDescriptorProto::unsafe_arena_set_allocated_options(
16698     ::google::protobuf::MethodOptions* PROTOBUF_NULLABLE value) {
16699   ::google::protobuf::internal::TSanWrite(&_impl_);
16700   if (GetArena() == nullptr) {
16701     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
16702   }
16703   _impl_.options_ = reinterpret_cast<::google::protobuf::MethodOptions*>(value);
16704   if (value != nullptr) {
16705     _impl_._has_bits_[0] |= 0x00000008U;
16706   } else {
16707     _impl_._has_bits_[0] &= ~0x00000008U;
16708   }
16709   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.MethodDescriptorProto.options)
16710 }
16711 inline ::google::protobuf::MethodOptions* PROTOBUF_NULLABLE MethodDescriptorProto::release_options() {
16712   ::google::protobuf::internal::TSanWrite(&_impl_);
16713 
16714   _impl_._has_bits_[0] &= ~0x00000008U;
16715   ::google::protobuf::MethodOptions* released = _impl_.options_;
16716   _impl_.options_ = nullptr;
16717   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
16718     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
16719     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16720     if (GetArena() == nullptr) {
16721       delete old;
16722     }
16723   } else {
16724     if (GetArena() != nullptr) {
16725       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16726     }
16727   }
16728   return released;
16729 }
16730 inline ::google::protobuf::MethodOptions* PROTOBUF_NULLABLE MethodDescriptorProto::unsafe_arena_release_options() {
16731   ::google::protobuf::internal::TSanWrite(&_impl_);
16732   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.options)
16733 
16734   _impl_._has_bits_[0] &= ~0x00000008U;
16735   ::google::protobuf::MethodOptions* temp = _impl_.options_;
16736   _impl_.options_ = nullptr;
16737   return temp;
16738 }
16739 inline ::google::protobuf::MethodOptions* PROTOBUF_NONNULL MethodDescriptorProto::_internal_mutable_options() {
16740   ::google::protobuf::internal::TSanWrite(&_impl_);
16741   if (_impl_.options_ == nullptr) {
16742     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::MethodOptions>(GetArena());
16743     _impl_.options_ = reinterpret_cast<::google::protobuf::MethodOptions*>(p);
16744   }
16745   return _impl_.options_;
16746 }
16747 inline ::google::protobuf::MethodOptions* PROTOBUF_NONNULL MethodDescriptorProto::mutable_options()
16748     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16749   _impl_._has_bits_[0] |= 0x00000008U;
16750   ::google::protobuf::MethodOptions* _msg = _internal_mutable_options();
16751   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.options)
16752   return _msg;
16753 }
16754 inline void MethodDescriptorProto::set_allocated_options(::google::protobuf::MethodOptions* PROTOBUF_NULLABLE value) {
16755   ::google::protobuf::Arena* message_arena = GetArena();
16756   ::google::protobuf::internal::TSanWrite(&_impl_);
16757   if (message_arena == nullptr) {
16758     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
16759   }
16760 
16761   if (value != nullptr) {
16762     ::google::protobuf::Arena* submessage_arena = value->GetArena();
16763     if (message_arena != submessage_arena) {
16764       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
16765     }
16766     _impl_._has_bits_[0] |= 0x00000008U;
16767   } else {
16768     _impl_._has_bits_[0] &= ~0x00000008U;
16769   }
16770 
16771   _impl_.options_ = reinterpret_cast<::google::protobuf::MethodOptions*>(value);
16772   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.options)
16773 }
16774 
16775 // optional bool client_streaming = 5 [default = false];
16776 inline bool MethodDescriptorProto::has_client_streaming() const {
16777   bool value = (_impl_._has_bits_[0] & 0x00000010U) != 0;
16778   return value;
16779 }
16780 inline void MethodDescriptorProto::clear_client_streaming() {
16781   ::google::protobuf::internal::TSanWrite(&_impl_);
16782   _impl_.client_streaming_ = false;
16783   _impl_._has_bits_[0] &= ~0x00000010U;
16784 }
16785 inline bool MethodDescriptorProto::client_streaming() const {
16786   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.client_streaming)
16787   return _internal_client_streaming();
16788 }
16789 inline void MethodDescriptorProto::set_client_streaming(bool value) {
16790   _internal_set_client_streaming(value);
16791   _impl_._has_bits_[0] |= 0x00000010U;
16792   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.client_streaming)
16793 }
16794 inline bool MethodDescriptorProto::_internal_client_streaming() const {
16795   ::google::protobuf::internal::TSanRead(&_impl_);
16796   return _impl_.client_streaming_;
16797 }
16798 inline void MethodDescriptorProto::_internal_set_client_streaming(bool value) {
16799   ::google::protobuf::internal::TSanWrite(&_impl_);
16800   _impl_.client_streaming_ = value;
16801 }
16802 
16803 // optional bool server_streaming = 6 [default = false];
16804 inline bool MethodDescriptorProto::has_server_streaming() const {
16805   bool value = (_impl_._has_bits_[0] & 0x00000020U) != 0;
16806   return value;
16807 }
16808 inline void MethodDescriptorProto::clear_server_streaming() {
16809   ::google::protobuf::internal::TSanWrite(&_impl_);
16810   _impl_.server_streaming_ = false;
16811   _impl_._has_bits_[0] &= ~0x00000020U;
16812 }
16813 inline bool MethodDescriptorProto::server_streaming() const {
16814   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.server_streaming)
16815   return _internal_server_streaming();
16816 }
16817 inline void MethodDescriptorProto::set_server_streaming(bool value) {
16818   _internal_set_server_streaming(value);
16819   _impl_._has_bits_[0] |= 0x00000020U;
16820   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.server_streaming)
16821 }
16822 inline bool MethodDescriptorProto::_internal_server_streaming() const {
16823   ::google::protobuf::internal::TSanRead(&_impl_);
16824   return _impl_.server_streaming_;
16825 }
16826 inline void MethodDescriptorProto::_internal_set_server_streaming(bool value) {
16827   ::google::protobuf::internal::TSanWrite(&_impl_);
16828   _impl_.server_streaming_ = value;
16829 }
16830 
16831 // -------------------------------------------------------------------
16832 
16833 // FileOptions
16834 
16835 // optional string java_package = 1;
16836 inline bool FileOptions::has_java_package() const {
16837   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
16838   return value;
16839 }
16840 inline void FileOptions::clear_java_package() {
16841   ::google::protobuf::internal::TSanWrite(&_impl_);
16842   _impl_.java_package_.ClearToEmpty();
16843   _impl_._has_bits_[0] &= ~0x00000001U;
16844 }
16845 inline const ::std::string& FileOptions::java_package() const
16846     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16847   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_package)
16848   return _internal_java_package();
16849 }
16850 template <typename Arg_, typename... Args_>
16851 PROTOBUF_ALWAYS_INLINE void FileOptions::set_java_package(Arg_&& arg, Args_... args) {
16852   ::google::protobuf::internal::TSanWrite(&_impl_);
16853   _impl_._has_bits_[0] |= 0x00000001U;
16854   _impl_.java_package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16855   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_package)
16856 }
16857 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_java_package()
16858     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16859   ::std::string* _s = _internal_mutable_java_package();
16860   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_package)
16861   return _s;
16862 }
16863 inline const ::std::string& FileOptions::_internal_java_package() const {
16864   ::google::protobuf::internal::TSanRead(&_impl_);
16865   return _impl_.java_package_.Get();
16866 }
16867 inline void FileOptions::_internal_set_java_package(const ::std::string& value) {
16868   ::google::protobuf::internal::TSanWrite(&_impl_);
16869   _impl_._has_bits_[0] |= 0x00000001U;
16870   _impl_.java_package_.Set(value, GetArena());
16871 }
16872 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_java_package() {
16873   ::google::protobuf::internal::TSanWrite(&_impl_);
16874   _impl_._has_bits_[0] |= 0x00000001U;
16875   return _impl_.java_package_.Mutable( GetArena());
16876 }
16877 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_java_package() {
16878   ::google::protobuf::internal::TSanWrite(&_impl_);
16879   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_package)
16880   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
16881     return nullptr;
16882   }
16883   _impl_._has_bits_[0] &= ~0x00000001U;
16884   auto* released = _impl_.java_package_.Release();
16885   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
16886     _impl_.java_package_.Set("", GetArena());
16887   }
16888   return released;
16889 }
16890 inline void FileOptions::set_allocated_java_package(::std::string* PROTOBUF_NULLABLE value) {
16891   ::google::protobuf::internal::TSanWrite(&_impl_);
16892   if (value != nullptr) {
16893     _impl_._has_bits_[0] |= 0x00000001U;
16894   } else {
16895     _impl_._has_bits_[0] &= ~0x00000001U;
16896   }
16897   _impl_.java_package_.SetAllocated(value, GetArena());
16898   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.java_package_.IsDefault()) {
16899     _impl_.java_package_.Set("", GetArena());
16900   }
16901   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_package)
16902 }
16903 
16904 // optional string java_outer_classname = 8;
16905 inline bool FileOptions::has_java_outer_classname() const {
16906   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
16907   return value;
16908 }
16909 inline void FileOptions::clear_java_outer_classname() {
16910   ::google::protobuf::internal::TSanWrite(&_impl_);
16911   _impl_.java_outer_classname_.ClearToEmpty();
16912   _impl_._has_bits_[0] &= ~0x00000002U;
16913 }
16914 inline const ::std::string& FileOptions::java_outer_classname() const
16915     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16916   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_outer_classname)
16917   return _internal_java_outer_classname();
16918 }
16919 template <typename Arg_, typename... Args_>
16920 PROTOBUF_ALWAYS_INLINE void FileOptions::set_java_outer_classname(Arg_&& arg, Args_... args) {
16921   ::google::protobuf::internal::TSanWrite(&_impl_);
16922   _impl_._has_bits_[0] |= 0x00000002U;
16923   _impl_.java_outer_classname_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16924   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_outer_classname)
16925 }
16926 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_java_outer_classname()
16927     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16928   ::std::string* _s = _internal_mutable_java_outer_classname();
16929   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_outer_classname)
16930   return _s;
16931 }
16932 inline const ::std::string& FileOptions::_internal_java_outer_classname() const {
16933   ::google::protobuf::internal::TSanRead(&_impl_);
16934   return _impl_.java_outer_classname_.Get();
16935 }
16936 inline void FileOptions::_internal_set_java_outer_classname(const ::std::string& value) {
16937   ::google::protobuf::internal::TSanWrite(&_impl_);
16938   _impl_._has_bits_[0] |= 0x00000002U;
16939   _impl_.java_outer_classname_.Set(value, GetArena());
16940 }
16941 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_java_outer_classname() {
16942   ::google::protobuf::internal::TSanWrite(&_impl_);
16943   _impl_._has_bits_[0] |= 0x00000002U;
16944   return _impl_.java_outer_classname_.Mutable( GetArena());
16945 }
16946 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_java_outer_classname() {
16947   ::google::protobuf::internal::TSanWrite(&_impl_);
16948   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_outer_classname)
16949   if ((_impl_._has_bits_[0] & 0x00000002U) == 0) {
16950     return nullptr;
16951   }
16952   _impl_._has_bits_[0] &= ~0x00000002U;
16953   auto* released = _impl_.java_outer_classname_.Release();
16954   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
16955     _impl_.java_outer_classname_.Set("", GetArena());
16956   }
16957   return released;
16958 }
16959 inline void FileOptions::set_allocated_java_outer_classname(::std::string* PROTOBUF_NULLABLE value) {
16960   ::google::protobuf::internal::TSanWrite(&_impl_);
16961   if (value != nullptr) {
16962     _impl_._has_bits_[0] |= 0x00000002U;
16963   } else {
16964     _impl_._has_bits_[0] &= ~0x00000002U;
16965   }
16966   _impl_.java_outer_classname_.SetAllocated(value, GetArena());
16967   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.java_outer_classname_.IsDefault()) {
16968     _impl_.java_outer_classname_.Set("", GetArena());
16969   }
16970   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_outer_classname)
16971 }
16972 
16973 // optional bool java_multiple_files = 10 [default = false];
16974 inline bool FileOptions::has_java_multiple_files() const {
16975   bool value = (_impl_._has_bits_[0] & 0x00000800U) != 0;
16976   return value;
16977 }
16978 inline void FileOptions::clear_java_multiple_files() {
16979   ::google::protobuf::internal::TSanWrite(&_impl_);
16980   _impl_.java_multiple_files_ = false;
16981   _impl_._has_bits_[0] &= ~0x00000800U;
16982 }
16983 inline bool FileOptions::java_multiple_files() const {
16984   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_multiple_files)
16985   return _internal_java_multiple_files();
16986 }
16987 inline void FileOptions::set_java_multiple_files(bool value) {
16988   _internal_set_java_multiple_files(value);
16989   _impl_._has_bits_[0] |= 0x00000800U;
16990   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_multiple_files)
16991 }
16992 inline bool FileOptions::_internal_java_multiple_files() const {
16993   ::google::protobuf::internal::TSanRead(&_impl_);
16994   return _impl_.java_multiple_files_;
16995 }
16996 inline void FileOptions::_internal_set_java_multiple_files(bool value) {
16997   ::google::protobuf::internal::TSanWrite(&_impl_);
16998   _impl_.java_multiple_files_ = value;
16999 }
17000 
17001 // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
17002 inline bool FileOptions::has_java_generate_equals_and_hash() const {
17003   bool value = (_impl_._has_bits_[0] & 0x00008000U) != 0;
17004   return value;
17005 }
17006 inline void FileOptions::clear_java_generate_equals_and_hash() {
17007   ::google::protobuf::internal::TSanWrite(&_impl_);
17008   _impl_.java_generate_equals_and_hash_ = false;
17009   _impl_._has_bits_[0] &= ~0x00008000U;
17010 }
17011 inline bool FileOptions::java_generate_equals_and_hash() const {
17012   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generate_equals_and_hash)
17013   return _internal_java_generate_equals_and_hash();
17014 }
17015 inline void FileOptions::set_java_generate_equals_and_hash(bool value) {
17016   _internal_set_java_generate_equals_and_hash(value);
17017   _impl_._has_bits_[0] |= 0x00008000U;
17018   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generate_equals_and_hash)
17019 }
17020 inline bool FileOptions::_internal_java_generate_equals_and_hash() const {
17021   ::google::protobuf::internal::TSanRead(&_impl_);
17022   return _impl_.java_generate_equals_and_hash_;
17023 }
17024 inline void FileOptions::_internal_set_java_generate_equals_and_hash(bool value) {
17025   ::google::protobuf::internal::TSanWrite(&_impl_);
17026   _impl_.java_generate_equals_and_hash_ = value;
17027 }
17028 
17029 // optional bool java_string_check_utf8 = 27 [default = false];
17030 inline bool FileOptions::has_java_string_check_utf8() const {
17031   bool value = (_impl_._has_bits_[0] & 0x00020000U) != 0;
17032   return value;
17033 }
17034 inline void FileOptions::clear_java_string_check_utf8() {
17035   ::google::protobuf::internal::TSanWrite(&_impl_);
17036   _impl_.java_string_check_utf8_ = false;
17037   _impl_._has_bits_[0] &= ~0x00020000U;
17038 }
17039 inline bool FileOptions::java_string_check_utf8() const {
17040   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_string_check_utf8)
17041   return _internal_java_string_check_utf8();
17042 }
17043 inline void FileOptions::set_java_string_check_utf8(bool value) {
17044   _internal_set_java_string_check_utf8(value);
17045   _impl_._has_bits_[0] |= 0x00020000U;
17046   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_string_check_utf8)
17047 }
17048 inline bool FileOptions::_internal_java_string_check_utf8() const {
17049   ::google::protobuf::internal::TSanRead(&_impl_);
17050   return _impl_.java_string_check_utf8_;
17051 }
17052 inline void FileOptions::_internal_set_java_string_check_utf8(bool value) {
17053   ::google::protobuf::internal::TSanWrite(&_impl_);
17054   _impl_.java_string_check_utf8_ = value;
17055 }
17056 
17057 // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
17058 inline bool FileOptions::has_optimize_for() const {
17059   bool value = (_impl_._has_bits_[0] & 0x00040000U) != 0;
17060   return value;
17061 }
17062 inline void FileOptions::clear_optimize_for() {
17063   ::google::protobuf::internal::TSanWrite(&_impl_);
17064   _impl_.optimize_for_ = 1;
17065   _impl_._has_bits_[0] &= ~0x00040000U;
17066 }
17067 inline ::google::protobuf::FileOptions_OptimizeMode FileOptions::optimize_for() const {
17068   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.optimize_for)
17069   return _internal_optimize_for();
17070 }
17071 inline void FileOptions::set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value) {
17072   _internal_set_optimize_for(value);
17073   _impl_._has_bits_[0] |= 0x00040000U;
17074   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.optimize_for)
17075 }
17076 inline ::google::protobuf::FileOptions_OptimizeMode FileOptions::_internal_optimize_for() const {
17077   ::google::protobuf::internal::TSanRead(&_impl_);
17078   return static_cast<::google::protobuf::FileOptions_OptimizeMode>(_impl_.optimize_for_);
17079 }
17080 inline void FileOptions::_internal_set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value) {
17081   ::google::protobuf::internal::TSanWrite(&_impl_);
17082 
17083                                           assert(::google::protobuf::internal::ValidateEnum(
17084                                               value, ::google::protobuf::FileOptions_OptimizeMode_internal_data_));
17085                                           _impl_.optimize_for_ = value;
17086 }
17087 
17088 // optional string go_package = 11;
17089 inline bool FileOptions::has_go_package() const {
17090   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
17091   return value;
17092 }
17093 inline void FileOptions::clear_go_package() {
17094   ::google::protobuf::internal::TSanWrite(&_impl_);
17095   _impl_.go_package_.ClearToEmpty();
17096   _impl_._has_bits_[0] &= ~0x00000004U;
17097 }
17098 inline const ::std::string& FileOptions::go_package() const
17099     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17100   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.go_package)
17101   return _internal_go_package();
17102 }
17103 template <typename Arg_, typename... Args_>
17104 PROTOBUF_ALWAYS_INLINE void FileOptions::set_go_package(Arg_&& arg, Args_... args) {
17105   ::google::protobuf::internal::TSanWrite(&_impl_);
17106   _impl_._has_bits_[0] |= 0x00000004U;
17107   _impl_.go_package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17108   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.go_package)
17109 }
17110 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_go_package()
17111     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17112   ::std::string* _s = _internal_mutable_go_package();
17113   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.go_package)
17114   return _s;
17115 }
17116 inline const ::std::string& FileOptions::_internal_go_package() const {
17117   ::google::protobuf::internal::TSanRead(&_impl_);
17118   return _impl_.go_package_.Get();
17119 }
17120 inline void FileOptions::_internal_set_go_package(const ::std::string& value) {
17121   ::google::protobuf::internal::TSanWrite(&_impl_);
17122   _impl_._has_bits_[0] |= 0x00000004U;
17123   _impl_.go_package_.Set(value, GetArena());
17124 }
17125 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_go_package() {
17126   ::google::protobuf::internal::TSanWrite(&_impl_);
17127   _impl_._has_bits_[0] |= 0x00000004U;
17128   return _impl_.go_package_.Mutable( GetArena());
17129 }
17130 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_go_package() {
17131   ::google::protobuf::internal::TSanWrite(&_impl_);
17132   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.go_package)
17133   if ((_impl_._has_bits_[0] & 0x00000004U) == 0) {
17134     return nullptr;
17135   }
17136   _impl_._has_bits_[0] &= ~0x00000004U;
17137   auto* released = _impl_.go_package_.Release();
17138   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
17139     _impl_.go_package_.Set("", GetArena());
17140   }
17141   return released;
17142 }
17143 inline void FileOptions::set_allocated_go_package(::std::string* PROTOBUF_NULLABLE value) {
17144   ::google::protobuf::internal::TSanWrite(&_impl_);
17145   if (value != nullptr) {
17146     _impl_._has_bits_[0] |= 0x00000004U;
17147   } else {
17148     _impl_._has_bits_[0] &= ~0x00000004U;
17149   }
17150   _impl_.go_package_.SetAllocated(value, GetArena());
17151   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.go_package_.IsDefault()) {
17152     _impl_.go_package_.Set("", GetArena());
17153   }
17154   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.go_package)
17155 }
17156 
17157 // optional bool cc_generic_services = 16 [default = false];
17158 inline bool FileOptions::has_cc_generic_services() const {
17159   bool value = (_impl_._has_bits_[0] & 0x00001000U) != 0;
17160   return value;
17161 }
17162 inline void FileOptions::clear_cc_generic_services() {
17163   ::google::protobuf::internal::TSanWrite(&_impl_);
17164   _impl_.cc_generic_services_ = false;
17165   _impl_._has_bits_[0] &= ~0x00001000U;
17166 }
17167 inline bool FileOptions::cc_generic_services() const {
17168   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.cc_generic_services)
17169   return _internal_cc_generic_services();
17170 }
17171 inline void FileOptions::set_cc_generic_services(bool value) {
17172   _internal_set_cc_generic_services(value);
17173   _impl_._has_bits_[0] |= 0x00001000U;
17174   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_generic_services)
17175 }
17176 inline bool FileOptions::_internal_cc_generic_services() const {
17177   ::google::protobuf::internal::TSanRead(&_impl_);
17178   return _impl_.cc_generic_services_;
17179 }
17180 inline void FileOptions::_internal_set_cc_generic_services(bool value) {
17181   ::google::protobuf::internal::TSanWrite(&_impl_);
17182   _impl_.cc_generic_services_ = value;
17183 }
17184 
17185 // optional bool java_generic_services = 17 [default = false];
17186 inline bool FileOptions::has_java_generic_services() const {
17187   bool value = (_impl_._has_bits_[0] & 0x00002000U) != 0;
17188   return value;
17189 }
17190 inline void FileOptions::clear_java_generic_services() {
17191   ::google::protobuf::internal::TSanWrite(&_impl_);
17192   _impl_.java_generic_services_ = false;
17193   _impl_._has_bits_[0] &= ~0x00002000U;
17194 }
17195 inline bool FileOptions::java_generic_services() const {
17196   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generic_services)
17197   return _internal_java_generic_services();
17198 }
17199 inline void FileOptions::set_java_generic_services(bool value) {
17200   _internal_set_java_generic_services(value);
17201   _impl_._has_bits_[0] |= 0x00002000U;
17202   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generic_services)
17203 }
17204 inline bool FileOptions::_internal_java_generic_services() const {
17205   ::google::protobuf::internal::TSanRead(&_impl_);
17206   return _impl_.java_generic_services_;
17207 }
17208 inline void FileOptions::_internal_set_java_generic_services(bool value) {
17209   ::google::protobuf::internal::TSanWrite(&_impl_);
17210   _impl_.java_generic_services_ = value;
17211 }
17212 
17213 // optional bool py_generic_services = 18 [default = false];
17214 inline bool FileOptions::has_py_generic_services() const {
17215   bool value = (_impl_._has_bits_[0] & 0x00004000U) != 0;
17216   return value;
17217 }
17218 inline void FileOptions::clear_py_generic_services() {
17219   ::google::protobuf::internal::TSanWrite(&_impl_);
17220   _impl_.py_generic_services_ = false;
17221   _impl_._has_bits_[0] &= ~0x00004000U;
17222 }
17223 inline bool FileOptions::py_generic_services() const {
17224   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.py_generic_services)
17225   return _internal_py_generic_services();
17226 }
17227 inline void FileOptions::set_py_generic_services(bool value) {
17228   _internal_set_py_generic_services(value);
17229   _impl_._has_bits_[0] |= 0x00004000U;
17230   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.py_generic_services)
17231 }
17232 inline bool FileOptions::_internal_py_generic_services() const {
17233   ::google::protobuf::internal::TSanRead(&_impl_);
17234   return _impl_.py_generic_services_;
17235 }
17236 inline void FileOptions::_internal_set_py_generic_services(bool value) {
17237   ::google::protobuf::internal::TSanWrite(&_impl_);
17238   _impl_.py_generic_services_ = value;
17239 }
17240 
17241 // optional bool deprecated = 23 [default = false];
17242 inline bool FileOptions::has_deprecated() const {
17243   bool value = (_impl_._has_bits_[0] & 0x00010000U) != 0;
17244   return value;
17245 }
17246 inline void FileOptions::clear_deprecated() {
17247   ::google::protobuf::internal::TSanWrite(&_impl_);
17248   _impl_.deprecated_ = false;
17249   _impl_._has_bits_[0] &= ~0x00010000U;
17250 }
17251 inline bool FileOptions::deprecated() const {
17252   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.deprecated)
17253   return _internal_deprecated();
17254 }
17255 inline void FileOptions::set_deprecated(bool value) {
17256   _internal_set_deprecated(value);
17257   _impl_._has_bits_[0] |= 0x00010000U;
17258   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.deprecated)
17259 }
17260 inline bool FileOptions::_internal_deprecated() const {
17261   ::google::protobuf::internal::TSanRead(&_impl_);
17262   return _impl_.deprecated_;
17263 }
17264 inline void FileOptions::_internal_set_deprecated(bool value) {
17265   ::google::protobuf::internal::TSanWrite(&_impl_);
17266   _impl_.deprecated_ = value;
17267 }
17268 
17269 // optional bool cc_enable_arenas = 31 [default = true];
17270 inline bool FileOptions::has_cc_enable_arenas() const {
17271   bool value = (_impl_._has_bits_[0] & 0x00080000U) != 0;
17272   return value;
17273 }
17274 inline void FileOptions::clear_cc_enable_arenas() {
17275   ::google::protobuf::internal::TSanWrite(&_impl_);
17276   _impl_.cc_enable_arenas_ = true;
17277   _impl_._has_bits_[0] &= ~0x00080000U;
17278 }
17279 inline bool FileOptions::cc_enable_arenas() const {
17280   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.cc_enable_arenas)
17281   return _internal_cc_enable_arenas();
17282 }
17283 inline void FileOptions::set_cc_enable_arenas(bool value) {
17284   _internal_set_cc_enable_arenas(value);
17285   _impl_._has_bits_[0] |= 0x00080000U;
17286   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_enable_arenas)
17287 }
17288 inline bool FileOptions::_internal_cc_enable_arenas() const {
17289   ::google::protobuf::internal::TSanRead(&_impl_);
17290   return _impl_.cc_enable_arenas_;
17291 }
17292 inline void FileOptions::_internal_set_cc_enable_arenas(bool value) {
17293   ::google::protobuf::internal::TSanWrite(&_impl_);
17294   _impl_.cc_enable_arenas_ = value;
17295 }
17296 
17297 // optional string objc_class_prefix = 36;
17298 inline bool FileOptions::has_objc_class_prefix() const {
17299   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
17300   return value;
17301 }
17302 inline void FileOptions::clear_objc_class_prefix() {
17303   ::google::protobuf::internal::TSanWrite(&_impl_);
17304   _impl_.objc_class_prefix_.ClearToEmpty();
17305   _impl_._has_bits_[0] &= ~0x00000008U;
17306 }
17307 inline const ::std::string& FileOptions::objc_class_prefix() const
17308     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17309   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.objc_class_prefix)
17310   return _internal_objc_class_prefix();
17311 }
17312 template <typename Arg_, typename... Args_>
17313 PROTOBUF_ALWAYS_INLINE void FileOptions::set_objc_class_prefix(Arg_&& arg, Args_... args) {
17314   ::google::protobuf::internal::TSanWrite(&_impl_);
17315   _impl_._has_bits_[0] |= 0x00000008U;
17316   _impl_.objc_class_prefix_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17317   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.objc_class_prefix)
17318 }
17319 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_objc_class_prefix()
17320     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17321   ::std::string* _s = _internal_mutable_objc_class_prefix();
17322   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.objc_class_prefix)
17323   return _s;
17324 }
17325 inline const ::std::string& FileOptions::_internal_objc_class_prefix() const {
17326   ::google::protobuf::internal::TSanRead(&_impl_);
17327   return _impl_.objc_class_prefix_.Get();
17328 }
17329 inline void FileOptions::_internal_set_objc_class_prefix(const ::std::string& value) {
17330   ::google::protobuf::internal::TSanWrite(&_impl_);
17331   _impl_._has_bits_[0] |= 0x00000008U;
17332   _impl_.objc_class_prefix_.Set(value, GetArena());
17333 }
17334 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_objc_class_prefix() {
17335   ::google::protobuf::internal::TSanWrite(&_impl_);
17336   _impl_._has_bits_[0] |= 0x00000008U;
17337   return _impl_.objc_class_prefix_.Mutable( GetArena());
17338 }
17339 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_objc_class_prefix() {
17340   ::google::protobuf::internal::TSanWrite(&_impl_);
17341   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.objc_class_prefix)
17342   if ((_impl_._has_bits_[0] & 0x00000008U) == 0) {
17343     return nullptr;
17344   }
17345   _impl_._has_bits_[0] &= ~0x00000008U;
17346   auto* released = _impl_.objc_class_prefix_.Release();
17347   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
17348     _impl_.objc_class_prefix_.Set("", GetArena());
17349   }
17350   return released;
17351 }
17352 inline void FileOptions::set_allocated_objc_class_prefix(::std::string* PROTOBUF_NULLABLE value) {
17353   ::google::protobuf::internal::TSanWrite(&_impl_);
17354   if (value != nullptr) {
17355     _impl_._has_bits_[0] |= 0x00000008U;
17356   } else {
17357     _impl_._has_bits_[0] &= ~0x00000008U;
17358   }
17359   _impl_.objc_class_prefix_.SetAllocated(value, GetArena());
17360   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.objc_class_prefix_.IsDefault()) {
17361     _impl_.objc_class_prefix_.Set("", GetArena());
17362   }
17363   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.objc_class_prefix)
17364 }
17365 
17366 // optional string csharp_namespace = 37;
17367 inline bool FileOptions::has_csharp_namespace() const {
17368   bool value = (_impl_._has_bits_[0] & 0x00000010U) != 0;
17369   return value;
17370 }
17371 inline void FileOptions::clear_csharp_namespace() {
17372   ::google::protobuf::internal::TSanWrite(&_impl_);
17373   _impl_.csharp_namespace_.ClearToEmpty();
17374   _impl_._has_bits_[0] &= ~0x00000010U;
17375 }
17376 inline const ::std::string& FileOptions::csharp_namespace() const
17377     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17378   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.csharp_namespace)
17379   return _internal_csharp_namespace();
17380 }
17381 template <typename Arg_, typename... Args_>
17382 PROTOBUF_ALWAYS_INLINE void FileOptions::set_csharp_namespace(Arg_&& arg, Args_... args) {
17383   ::google::protobuf::internal::TSanWrite(&_impl_);
17384   _impl_._has_bits_[0] |= 0x00000010U;
17385   _impl_.csharp_namespace_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17386   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.csharp_namespace)
17387 }
17388 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_csharp_namespace()
17389     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17390   ::std::string* _s = _internal_mutable_csharp_namespace();
17391   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.csharp_namespace)
17392   return _s;
17393 }
17394 inline const ::std::string& FileOptions::_internal_csharp_namespace() const {
17395   ::google::protobuf::internal::TSanRead(&_impl_);
17396   return _impl_.csharp_namespace_.Get();
17397 }
17398 inline void FileOptions::_internal_set_csharp_namespace(const ::std::string& value) {
17399   ::google::protobuf::internal::TSanWrite(&_impl_);
17400   _impl_._has_bits_[0] |= 0x00000010U;
17401   _impl_.csharp_namespace_.Set(value, GetArena());
17402 }
17403 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_csharp_namespace() {
17404   ::google::protobuf::internal::TSanWrite(&_impl_);
17405   _impl_._has_bits_[0] |= 0x00000010U;
17406   return _impl_.csharp_namespace_.Mutable( GetArena());
17407 }
17408 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_csharp_namespace() {
17409   ::google::protobuf::internal::TSanWrite(&_impl_);
17410   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.csharp_namespace)
17411   if ((_impl_._has_bits_[0] & 0x00000010U) == 0) {
17412     return nullptr;
17413   }
17414   _impl_._has_bits_[0] &= ~0x00000010U;
17415   auto* released = _impl_.csharp_namespace_.Release();
17416   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
17417     _impl_.csharp_namespace_.Set("", GetArena());
17418   }
17419   return released;
17420 }
17421 inline void FileOptions::set_allocated_csharp_namespace(::std::string* PROTOBUF_NULLABLE value) {
17422   ::google::protobuf::internal::TSanWrite(&_impl_);
17423   if (value != nullptr) {
17424     _impl_._has_bits_[0] |= 0x00000010U;
17425   } else {
17426     _impl_._has_bits_[0] &= ~0x00000010U;
17427   }
17428   _impl_.csharp_namespace_.SetAllocated(value, GetArena());
17429   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.csharp_namespace_.IsDefault()) {
17430     _impl_.csharp_namespace_.Set("", GetArena());
17431   }
17432   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.csharp_namespace)
17433 }
17434 
17435 // optional string swift_prefix = 39;
17436 inline bool FileOptions::has_swift_prefix() const {
17437   bool value = (_impl_._has_bits_[0] & 0x00000020U) != 0;
17438   return value;
17439 }
17440 inline void FileOptions::clear_swift_prefix() {
17441   ::google::protobuf::internal::TSanWrite(&_impl_);
17442   _impl_.swift_prefix_.ClearToEmpty();
17443   _impl_._has_bits_[0] &= ~0x00000020U;
17444 }
17445 inline const ::std::string& FileOptions::swift_prefix() const
17446     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17447   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.swift_prefix)
17448   return _internal_swift_prefix();
17449 }
17450 template <typename Arg_, typename... Args_>
17451 PROTOBUF_ALWAYS_INLINE void FileOptions::set_swift_prefix(Arg_&& arg, Args_... args) {
17452   ::google::protobuf::internal::TSanWrite(&_impl_);
17453   _impl_._has_bits_[0] |= 0x00000020U;
17454   _impl_.swift_prefix_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17455   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.swift_prefix)
17456 }
17457 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_swift_prefix()
17458     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17459   ::std::string* _s = _internal_mutable_swift_prefix();
17460   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.swift_prefix)
17461   return _s;
17462 }
17463 inline const ::std::string& FileOptions::_internal_swift_prefix() const {
17464   ::google::protobuf::internal::TSanRead(&_impl_);
17465   return _impl_.swift_prefix_.Get();
17466 }
17467 inline void FileOptions::_internal_set_swift_prefix(const ::std::string& value) {
17468   ::google::protobuf::internal::TSanWrite(&_impl_);
17469   _impl_._has_bits_[0] |= 0x00000020U;
17470   _impl_.swift_prefix_.Set(value, GetArena());
17471 }
17472 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_swift_prefix() {
17473   ::google::protobuf::internal::TSanWrite(&_impl_);
17474   _impl_._has_bits_[0] |= 0x00000020U;
17475   return _impl_.swift_prefix_.Mutable( GetArena());
17476 }
17477 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_swift_prefix() {
17478   ::google::protobuf::internal::TSanWrite(&_impl_);
17479   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.swift_prefix)
17480   if ((_impl_._has_bits_[0] & 0x00000020U) == 0) {
17481     return nullptr;
17482   }
17483   _impl_._has_bits_[0] &= ~0x00000020U;
17484   auto* released = _impl_.swift_prefix_.Release();
17485   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
17486     _impl_.swift_prefix_.Set("", GetArena());
17487   }
17488   return released;
17489 }
17490 inline void FileOptions::set_allocated_swift_prefix(::std::string* PROTOBUF_NULLABLE value) {
17491   ::google::protobuf::internal::TSanWrite(&_impl_);
17492   if (value != nullptr) {
17493     _impl_._has_bits_[0] |= 0x00000020U;
17494   } else {
17495     _impl_._has_bits_[0] &= ~0x00000020U;
17496   }
17497   _impl_.swift_prefix_.SetAllocated(value, GetArena());
17498   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.swift_prefix_.IsDefault()) {
17499     _impl_.swift_prefix_.Set("", GetArena());
17500   }
17501   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.swift_prefix)
17502 }
17503 
17504 // optional string php_class_prefix = 40;
17505 inline bool FileOptions::has_php_class_prefix() const {
17506   bool value = (_impl_._has_bits_[0] & 0x00000040U) != 0;
17507   return value;
17508 }
17509 inline void FileOptions::clear_php_class_prefix() {
17510   ::google::protobuf::internal::TSanWrite(&_impl_);
17511   _impl_.php_class_prefix_.ClearToEmpty();
17512   _impl_._has_bits_[0] &= ~0x00000040U;
17513 }
17514 inline const ::std::string& FileOptions::php_class_prefix() const
17515     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17516   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.php_class_prefix)
17517   return _internal_php_class_prefix();
17518 }
17519 template <typename Arg_, typename... Args_>
17520 PROTOBUF_ALWAYS_INLINE void FileOptions::set_php_class_prefix(Arg_&& arg, Args_... args) {
17521   ::google::protobuf::internal::TSanWrite(&_impl_);
17522   _impl_._has_bits_[0] |= 0x00000040U;
17523   _impl_.php_class_prefix_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17524   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_class_prefix)
17525 }
17526 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_php_class_prefix()
17527     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17528   ::std::string* _s = _internal_mutable_php_class_prefix();
17529   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.php_class_prefix)
17530   return _s;
17531 }
17532 inline const ::std::string& FileOptions::_internal_php_class_prefix() const {
17533   ::google::protobuf::internal::TSanRead(&_impl_);
17534   return _impl_.php_class_prefix_.Get();
17535 }
17536 inline void FileOptions::_internal_set_php_class_prefix(const ::std::string& value) {
17537   ::google::protobuf::internal::TSanWrite(&_impl_);
17538   _impl_._has_bits_[0] |= 0x00000040U;
17539   _impl_.php_class_prefix_.Set(value, GetArena());
17540 }
17541 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_php_class_prefix() {
17542   ::google::protobuf::internal::TSanWrite(&_impl_);
17543   _impl_._has_bits_[0] |= 0x00000040U;
17544   return _impl_.php_class_prefix_.Mutable( GetArena());
17545 }
17546 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_php_class_prefix() {
17547   ::google::protobuf::internal::TSanWrite(&_impl_);
17548   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.php_class_prefix)
17549   if ((_impl_._has_bits_[0] & 0x00000040U) == 0) {
17550     return nullptr;
17551   }
17552   _impl_._has_bits_[0] &= ~0x00000040U;
17553   auto* released = _impl_.php_class_prefix_.Release();
17554   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
17555     _impl_.php_class_prefix_.Set("", GetArena());
17556   }
17557   return released;
17558 }
17559 inline void FileOptions::set_allocated_php_class_prefix(::std::string* PROTOBUF_NULLABLE value) {
17560   ::google::protobuf::internal::TSanWrite(&_impl_);
17561   if (value != nullptr) {
17562     _impl_._has_bits_[0] |= 0x00000040U;
17563   } else {
17564     _impl_._has_bits_[0] &= ~0x00000040U;
17565   }
17566   _impl_.php_class_prefix_.SetAllocated(value, GetArena());
17567   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.php_class_prefix_.IsDefault()) {
17568     _impl_.php_class_prefix_.Set("", GetArena());
17569   }
17570   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.php_class_prefix)
17571 }
17572 
17573 // optional string php_namespace = 41;
17574 inline bool FileOptions::has_php_namespace() const {
17575   bool value = (_impl_._has_bits_[0] & 0x00000080U) != 0;
17576   return value;
17577 }
17578 inline void FileOptions::clear_php_namespace() {
17579   ::google::protobuf::internal::TSanWrite(&_impl_);
17580   _impl_.php_namespace_.ClearToEmpty();
17581   _impl_._has_bits_[0] &= ~0x00000080U;
17582 }
17583 inline const ::std::string& FileOptions::php_namespace() const
17584     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17585   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.php_namespace)
17586   return _internal_php_namespace();
17587 }
17588 template <typename Arg_, typename... Args_>
17589 PROTOBUF_ALWAYS_INLINE void FileOptions::set_php_namespace(Arg_&& arg, Args_... args) {
17590   ::google::protobuf::internal::TSanWrite(&_impl_);
17591   _impl_._has_bits_[0] |= 0x00000080U;
17592   _impl_.php_namespace_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17593   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_namespace)
17594 }
17595 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_php_namespace()
17596     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17597   ::std::string* _s = _internal_mutable_php_namespace();
17598   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.php_namespace)
17599   return _s;
17600 }
17601 inline const ::std::string& FileOptions::_internal_php_namespace() const {
17602   ::google::protobuf::internal::TSanRead(&_impl_);
17603   return _impl_.php_namespace_.Get();
17604 }
17605 inline void FileOptions::_internal_set_php_namespace(const ::std::string& value) {
17606   ::google::protobuf::internal::TSanWrite(&_impl_);
17607   _impl_._has_bits_[0] |= 0x00000080U;
17608   _impl_.php_namespace_.Set(value, GetArena());
17609 }
17610 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_php_namespace() {
17611   ::google::protobuf::internal::TSanWrite(&_impl_);
17612   _impl_._has_bits_[0] |= 0x00000080U;
17613   return _impl_.php_namespace_.Mutable( GetArena());
17614 }
17615 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_php_namespace() {
17616   ::google::protobuf::internal::TSanWrite(&_impl_);
17617   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.php_namespace)
17618   if ((_impl_._has_bits_[0] & 0x00000080U) == 0) {
17619     return nullptr;
17620   }
17621   _impl_._has_bits_[0] &= ~0x00000080U;
17622   auto* released = _impl_.php_namespace_.Release();
17623   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
17624     _impl_.php_namespace_.Set("", GetArena());
17625   }
17626   return released;
17627 }
17628 inline void FileOptions::set_allocated_php_namespace(::std::string* PROTOBUF_NULLABLE value) {
17629   ::google::protobuf::internal::TSanWrite(&_impl_);
17630   if (value != nullptr) {
17631     _impl_._has_bits_[0] |= 0x00000080U;
17632   } else {
17633     _impl_._has_bits_[0] &= ~0x00000080U;
17634   }
17635   _impl_.php_namespace_.SetAllocated(value, GetArena());
17636   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.php_namespace_.IsDefault()) {
17637     _impl_.php_namespace_.Set("", GetArena());
17638   }
17639   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.php_namespace)
17640 }
17641 
17642 // optional string php_metadata_namespace = 44;
17643 inline bool FileOptions::has_php_metadata_namespace() const {
17644   bool value = (_impl_._has_bits_[0] & 0x00000100U) != 0;
17645   return value;
17646 }
17647 inline void FileOptions::clear_php_metadata_namespace() {
17648   ::google::protobuf::internal::TSanWrite(&_impl_);
17649   _impl_.php_metadata_namespace_.ClearToEmpty();
17650   _impl_._has_bits_[0] &= ~0x00000100U;
17651 }
17652 inline const ::std::string& FileOptions::php_metadata_namespace() const
17653     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17654   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.php_metadata_namespace)
17655   return _internal_php_metadata_namespace();
17656 }
17657 template <typename Arg_, typename... Args_>
17658 PROTOBUF_ALWAYS_INLINE void FileOptions::set_php_metadata_namespace(Arg_&& arg, Args_... args) {
17659   ::google::protobuf::internal::TSanWrite(&_impl_);
17660   _impl_._has_bits_[0] |= 0x00000100U;
17661   _impl_.php_metadata_namespace_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17662   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_metadata_namespace)
17663 }
17664 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_php_metadata_namespace()
17665     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17666   ::std::string* _s = _internal_mutable_php_metadata_namespace();
17667   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.php_metadata_namespace)
17668   return _s;
17669 }
17670 inline const ::std::string& FileOptions::_internal_php_metadata_namespace() const {
17671   ::google::protobuf::internal::TSanRead(&_impl_);
17672   return _impl_.php_metadata_namespace_.Get();
17673 }
17674 inline void FileOptions::_internal_set_php_metadata_namespace(const ::std::string& value) {
17675   ::google::protobuf::internal::TSanWrite(&_impl_);
17676   _impl_._has_bits_[0] |= 0x00000100U;
17677   _impl_.php_metadata_namespace_.Set(value, GetArena());
17678 }
17679 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_php_metadata_namespace() {
17680   ::google::protobuf::internal::TSanWrite(&_impl_);
17681   _impl_._has_bits_[0] |= 0x00000100U;
17682   return _impl_.php_metadata_namespace_.Mutable( GetArena());
17683 }
17684 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_php_metadata_namespace() {
17685   ::google::protobuf::internal::TSanWrite(&_impl_);
17686   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.php_metadata_namespace)
17687   if ((_impl_._has_bits_[0] & 0x00000100U) == 0) {
17688     return nullptr;
17689   }
17690   _impl_._has_bits_[0] &= ~0x00000100U;
17691   auto* released = _impl_.php_metadata_namespace_.Release();
17692   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
17693     _impl_.php_metadata_namespace_.Set("", GetArena());
17694   }
17695   return released;
17696 }
17697 inline void FileOptions::set_allocated_php_metadata_namespace(::std::string* PROTOBUF_NULLABLE value) {
17698   ::google::protobuf::internal::TSanWrite(&_impl_);
17699   if (value != nullptr) {
17700     _impl_._has_bits_[0] |= 0x00000100U;
17701   } else {
17702     _impl_._has_bits_[0] &= ~0x00000100U;
17703   }
17704   _impl_.php_metadata_namespace_.SetAllocated(value, GetArena());
17705   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.php_metadata_namespace_.IsDefault()) {
17706     _impl_.php_metadata_namespace_.Set("", GetArena());
17707   }
17708   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.php_metadata_namespace)
17709 }
17710 
17711 // optional string ruby_package = 45;
17712 inline bool FileOptions::has_ruby_package() const {
17713   bool value = (_impl_._has_bits_[0] & 0x00000200U) != 0;
17714   return value;
17715 }
17716 inline void FileOptions::clear_ruby_package() {
17717   ::google::protobuf::internal::TSanWrite(&_impl_);
17718   _impl_.ruby_package_.ClearToEmpty();
17719   _impl_._has_bits_[0] &= ~0x00000200U;
17720 }
17721 inline const ::std::string& FileOptions::ruby_package() const
17722     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17723   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.ruby_package)
17724   return _internal_ruby_package();
17725 }
17726 template <typename Arg_, typename... Args_>
17727 PROTOBUF_ALWAYS_INLINE void FileOptions::set_ruby_package(Arg_&& arg, Args_... args) {
17728   ::google::protobuf::internal::TSanWrite(&_impl_);
17729   _impl_._has_bits_[0] |= 0x00000200U;
17730   _impl_.ruby_package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17731   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.ruby_package)
17732 }
17733 inline ::std::string* PROTOBUF_NONNULL FileOptions::mutable_ruby_package()
17734     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17735   ::std::string* _s = _internal_mutable_ruby_package();
17736   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.ruby_package)
17737   return _s;
17738 }
17739 inline const ::std::string& FileOptions::_internal_ruby_package() const {
17740   ::google::protobuf::internal::TSanRead(&_impl_);
17741   return _impl_.ruby_package_.Get();
17742 }
17743 inline void FileOptions::_internal_set_ruby_package(const ::std::string& value) {
17744   ::google::protobuf::internal::TSanWrite(&_impl_);
17745   _impl_._has_bits_[0] |= 0x00000200U;
17746   _impl_.ruby_package_.Set(value, GetArena());
17747 }
17748 inline ::std::string* PROTOBUF_NONNULL FileOptions::_internal_mutable_ruby_package() {
17749   ::google::protobuf::internal::TSanWrite(&_impl_);
17750   _impl_._has_bits_[0] |= 0x00000200U;
17751   return _impl_.ruby_package_.Mutable( GetArena());
17752 }
17753 inline ::std::string* PROTOBUF_NULLABLE FileOptions::release_ruby_package() {
17754   ::google::protobuf::internal::TSanWrite(&_impl_);
17755   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.ruby_package)
17756   if ((_impl_._has_bits_[0] & 0x00000200U) == 0) {
17757     return nullptr;
17758   }
17759   _impl_._has_bits_[0] &= ~0x00000200U;
17760   auto* released = _impl_.ruby_package_.Release();
17761   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
17762     _impl_.ruby_package_.Set("", GetArena());
17763   }
17764   return released;
17765 }
17766 inline void FileOptions::set_allocated_ruby_package(::std::string* PROTOBUF_NULLABLE value) {
17767   ::google::protobuf::internal::TSanWrite(&_impl_);
17768   if (value != nullptr) {
17769     _impl_._has_bits_[0] |= 0x00000200U;
17770   } else {
17771     _impl_._has_bits_[0] &= ~0x00000200U;
17772   }
17773   _impl_.ruby_package_.SetAllocated(value, GetArena());
17774   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.ruby_package_.IsDefault()) {
17775     _impl_.ruby_package_.Set("", GetArena());
17776   }
17777   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.ruby_package)
17778 }
17779 
17780 // optional .google.protobuf.FeatureSet features = 50;
17781 inline bool FileOptions::has_features() const {
17782   bool value = (_impl_._has_bits_[0] & 0x00000400U) != 0;
17783   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
17784   return value;
17785 }
17786 inline void FileOptions::clear_features() {
17787   ::google::protobuf::internal::TSanWrite(&_impl_);
17788   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
17789   _impl_._has_bits_[0] &= ~0x00000400U;
17790 }
17791 inline const ::google::protobuf::FeatureSet& FileOptions::_internal_features() const {
17792   ::google::protobuf::internal::TSanRead(&_impl_);
17793   const ::google::protobuf::FeatureSet* p = _impl_.features_;
17794   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
17795 }
17796 inline const ::google::protobuf::FeatureSet& FileOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
17797   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.features)
17798   return _internal_features();
17799 }
17800 inline void FileOptions::unsafe_arena_set_allocated_features(
17801     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
17802   ::google::protobuf::internal::TSanWrite(&_impl_);
17803   if (GetArena() == nullptr) {
17804     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
17805   }
17806   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
17807   if (value != nullptr) {
17808     _impl_._has_bits_[0] |= 0x00000400U;
17809   } else {
17810     _impl_._has_bits_[0] &= ~0x00000400U;
17811   }
17812   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FileOptions.features)
17813 }
17814 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE FileOptions::release_features() {
17815   ::google::protobuf::internal::TSanWrite(&_impl_);
17816 
17817   _impl_._has_bits_[0] &= ~0x00000400U;
17818   ::google::protobuf::FeatureSet* released = _impl_.features_;
17819   _impl_.features_ = nullptr;
17820   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
17821     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
17822     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
17823     if (GetArena() == nullptr) {
17824       delete old;
17825     }
17826   } else {
17827     if (GetArena() != nullptr) {
17828       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
17829     }
17830   }
17831   return released;
17832 }
17833 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE FileOptions::unsafe_arena_release_features() {
17834   ::google::protobuf::internal::TSanWrite(&_impl_);
17835   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.features)
17836 
17837   _impl_._has_bits_[0] &= ~0x00000400U;
17838   ::google::protobuf::FeatureSet* temp = _impl_.features_;
17839   _impl_.features_ = nullptr;
17840   return temp;
17841 }
17842 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL FileOptions::_internal_mutable_features() {
17843   ::google::protobuf::internal::TSanWrite(&_impl_);
17844   if (_impl_.features_ == nullptr) {
17845     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
17846     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
17847   }
17848   return _impl_.features_;
17849 }
17850 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL FileOptions::mutable_features()
17851     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17852   _impl_._has_bits_[0] |= 0x00000400U;
17853   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
17854   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.features)
17855   return _msg;
17856 }
17857 inline void FileOptions::set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
17858   ::google::protobuf::Arena* message_arena = GetArena();
17859   ::google::protobuf::internal::TSanWrite(&_impl_);
17860   if (message_arena == nullptr) {
17861     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
17862   }
17863 
17864   if (value != nullptr) {
17865     ::google::protobuf::Arena* submessage_arena = value->GetArena();
17866     if (message_arena != submessage_arena) {
17867       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
17868     }
17869     _impl_._has_bits_[0] |= 0x00000400U;
17870   } else {
17871     _impl_._has_bits_[0] &= ~0x00000400U;
17872   }
17873 
17874   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
17875   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.features)
17876 }
17877 
17878 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
17879 inline int FileOptions::_internal_uninterpreted_option_size() const {
17880   return _internal_uninterpreted_option().size();
17881 }
17882 inline int FileOptions::uninterpreted_option_size() const {
17883   return _internal_uninterpreted_option_size();
17884 }
17885 inline void FileOptions::clear_uninterpreted_option() {
17886   ::google::protobuf::internal::TSanWrite(&_impl_);
17887   _impl_.uninterpreted_option_.Clear();
17888 }
17889 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL FileOptions::mutable_uninterpreted_option(int index)
17890     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17891   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.uninterpreted_option)
17892   return _internal_mutable_uninterpreted_option()->Mutable(index);
17893 }
17894 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL FileOptions::mutable_uninterpreted_option()
17895     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17896   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileOptions.uninterpreted_option)
17897   ::google::protobuf::internal::TSanWrite(&_impl_);
17898   return _internal_mutable_uninterpreted_option();
17899 }
17900 inline const ::google::protobuf::UninterpretedOption& FileOptions::uninterpreted_option(int index) const
17901     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17902   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.uninterpreted_option)
17903   return _internal_uninterpreted_option().Get(index);
17904 }
17905 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL FileOptions::add_uninterpreted_option()
17906     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17907   ::google::protobuf::internal::TSanWrite(&_impl_);
17908   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
17909   // @@protoc_insertion_point(field_add:google.protobuf.FileOptions.uninterpreted_option)
17910   return _add;
17911 }
17912 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& FileOptions::uninterpreted_option() const
17913     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17914   // @@protoc_insertion_point(field_list:google.protobuf.FileOptions.uninterpreted_option)
17915   return _internal_uninterpreted_option();
17916 }
17917 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
17918 FileOptions::_internal_uninterpreted_option() const {
17919   ::google::protobuf::internal::TSanRead(&_impl_);
17920   return _impl_.uninterpreted_option_;
17921 }
17922 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL
17923 FileOptions::_internal_mutable_uninterpreted_option() {
17924   ::google::protobuf::internal::TSanRead(&_impl_);
17925   return &_impl_.uninterpreted_option_;
17926 }
17927 
17928 // -------------------------------------------------------------------
17929 
17930 // MessageOptions
17931 
17932 // optional bool message_set_wire_format = 1 [default = false];
17933 inline bool MessageOptions::has_message_set_wire_format() const {
17934   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
17935   return value;
17936 }
17937 inline void MessageOptions::clear_message_set_wire_format() {
17938   ::google::protobuf::internal::TSanWrite(&_impl_);
17939   _impl_.message_set_wire_format_ = false;
17940   _impl_._has_bits_[0] &= ~0x00000002U;
17941 }
17942 inline bool MessageOptions::message_set_wire_format() const {
17943   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.message_set_wire_format)
17944   return _internal_message_set_wire_format();
17945 }
17946 inline void MessageOptions::set_message_set_wire_format(bool value) {
17947   _internal_set_message_set_wire_format(value);
17948   _impl_._has_bits_[0] |= 0x00000002U;
17949   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.message_set_wire_format)
17950 }
17951 inline bool MessageOptions::_internal_message_set_wire_format() const {
17952   ::google::protobuf::internal::TSanRead(&_impl_);
17953   return _impl_.message_set_wire_format_;
17954 }
17955 inline void MessageOptions::_internal_set_message_set_wire_format(bool value) {
17956   ::google::protobuf::internal::TSanWrite(&_impl_);
17957   _impl_.message_set_wire_format_ = value;
17958 }
17959 
17960 // optional bool no_standard_descriptor_accessor = 2 [default = false];
17961 inline bool MessageOptions::has_no_standard_descriptor_accessor() const {
17962   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
17963   return value;
17964 }
17965 inline void MessageOptions::clear_no_standard_descriptor_accessor() {
17966   ::google::protobuf::internal::TSanWrite(&_impl_);
17967   _impl_.no_standard_descriptor_accessor_ = false;
17968   _impl_._has_bits_[0] &= ~0x00000004U;
17969 }
17970 inline bool MessageOptions::no_standard_descriptor_accessor() const {
17971   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.no_standard_descriptor_accessor)
17972   return _internal_no_standard_descriptor_accessor();
17973 }
17974 inline void MessageOptions::set_no_standard_descriptor_accessor(bool value) {
17975   _internal_set_no_standard_descriptor_accessor(value);
17976   _impl_._has_bits_[0] |= 0x00000004U;
17977   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.no_standard_descriptor_accessor)
17978 }
17979 inline bool MessageOptions::_internal_no_standard_descriptor_accessor() const {
17980   ::google::protobuf::internal::TSanRead(&_impl_);
17981   return _impl_.no_standard_descriptor_accessor_;
17982 }
17983 inline void MessageOptions::_internal_set_no_standard_descriptor_accessor(bool value) {
17984   ::google::protobuf::internal::TSanWrite(&_impl_);
17985   _impl_.no_standard_descriptor_accessor_ = value;
17986 }
17987 
17988 // optional bool deprecated = 3 [default = false];
17989 inline bool MessageOptions::has_deprecated() const {
17990   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
17991   return value;
17992 }
17993 inline void MessageOptions::clear_deprecated() {
17994   ::google::protobuf::internal::TSanWrite(&_impl_);
17995   _impl_.deprecated_ = false;
17996   _impl_._has_bits_[0] &= ~0x00000008U;
17997 }
17998 inline bool MessageOptions::deprecated() const {
17999   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.deprecated)
18000   return _internal_deprecated();
18001 }
18002 inline void MessageOptions::set_deprecated(bool value) {
18003   _internal_set_deprecated(value);
18004   _impl_._has_bits_[0] |= 0x00000008U;
18005   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.deprecated)
18006 }
18007 inline bool MessageOptions::_internal_deprecated() const {
18008   ::google::protobuf::internal::TSanRead(&_impl_);
18009   return _impl_.deprecated_;
18010 }
18011 inline void MessageOptions::_internal_set_deprecated(bool value) {
18012   ::google::protobuf::internal::TSanWrite(&_impl_);
18013   _impl_.deprecated_ = value;
18014 }
18015 
18016 // optional bool map_entry = 7;
18017 inline bool MessageOptions::has_map_entry() const {
18018   bool value = (_impl_._has_bits_[0] & 0x00000010U) != 0;
18019   return value;
18020 }
18021 inline void MessageOptions::clear_map_entry() {
18022   ::google::protobuf::internal::TSanWrite(&_impl_);
18023   _impl_.map_entry_ = false;
18024   _impl_._has_bits_[0] &= ~0x00000010U;
18025 }
18026 inline bool MessageOptions::map_entry() const {
18027   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.map_entry)
18028   return _internal_map_entry();
18029 }
18030 inline void MessageOptions::set_map_entry(bool value) {
18031   _internal_set_map_entry(value);
18032   _impl_._has_bits_[0] |= 0x00000010U;
18033   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.map_entry)
18034 }
18035 inline bool MessageOptions::_internal_map_entry() const {
18036   ::google::protobuf::internal::TSanRead(&_impl_);
18037   return _impl_.map_entry_;
18038 }
18039 inline void MessageOptions::_internal_set_map_entry(bool value) {
18040   ::google::protobuf::internal::TSanWrite(&_impl_);
18041   _impl_.map_entry_ = value;
18042 }
18043 
18044 // optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
18045 inline bool MessageOptions::has_deprecated_legacy_json_field_conflicts() const {
18046   bool value = (_impl_._has_bits_[0] & 0x00000020U) != 0;
18047   return value;
18048 }
18049 inline void MessageOptions::clear_deprecated_legacy_json_field_conflicts() {
18050   ::google::protobuf::internal::TSanWrite(&_impl_);
18051   _impl_.deprecated_legacy_json_field_conflicts_ = false;
18052   _impl_._has_bits_[0] &= ~0x00000020U;
18053 }
18054 inline bool MessageOptions::deprecated_legacy_json_field_conflicts() const {
18055   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts)
18056   return _internal_deprecated_legacy_json_field_conflicts();
18057 }
18058 inline void MessageOptions::set_deprecated_legacy_json_field_conflicts(bool value) {
18059   _internal_set_deprecated_legacy_json_field_conflicts(value);
18060   _impl_._has_bits_[0] |= 0x00000020U;
18061   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts)
18062 }
18063 inline bool MessageOptions::_internal_deprecated_legacy_json_field_conflicts() const {
18064   ::google::protobuf::internal::TSanRead(&_impl_);
18065   return _impl_.deprecated_legacy_json_field_conflicts_;
18066 }
18067 inline void MessageOptions::_internal_set_deprecated_legacy_json_field_conflicts(bool value) {
18068   ::google::protobuf::internal::TSanWrite(&_impl_);
18069   _impl_.deprecated_legacy_json_field_conflicts_ = value;
18070 }
18071 
18072 // optional .google.protobuf.FeatureSet features = 12;
18073 inline bool MessageOptions::has_features() const {
18074   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
18075   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
18076   return value;
18077 }
18078 inline void MessageOptions::clear_features() {
18079   ::google::protobuf::internal::TSanWrite(&_impl_);
18080   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
18081   _impl_._has_bits_[0] &= ~0x00000001U;
18082 }
18083 inline const ::google::protobuf::FeatureSet& MessageOptions::_internal_features() const {
18084   ::google::protobuf::internal::TSanRead(&_impl_);
18085   const ::google::protobuf::FeatureSet* p = _impl_.features_;
18086   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
18087 }
18088 inline const ::google::protobuf::FeatureSet& MessageOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
18089   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.features)
18090   return _internal_features();
18091 }
18092 inline void MessageOptions::unsafe_arena_set_allocated_features(
18093     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
18094   ::google::protobuf::internal::TSanWrite(&_impl_);
18095   if (GetArena() == nullptr) {
18096     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
18097   }
18098   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18099   if (value != nullptr) {
18100     _impl_._has_bits_[0] |= 0x00000001U;
18101   } else {
18102     _impl_._has_bits_[0] &= ~0x00000001U;
18103   }
18104   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.MessageOptions.features)
18105 }
18106 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE MessageOptions::release_features() {
18107   ::google::protobuf::internal::TSanWrite(&_impl_);
18108 
18109   _impl_._has_bits_[0] &= ~0x00000001U;
18110   ::google::protobuf::FeatureSet* released = _impl_.features_;
18111   _impl_.features_ = nullptr;
18112   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
18113     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
18114     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18115     if (GetArena() == nullptr) {
18116       delete old;
18117     }
18118   } else {
18119     if (GetArena() != nullptr) {
18120       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18121     }
18122   }
18123   return released;
18124 }
18125 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE MessageOptions::unsafe_arena_release_features() {
18126   ::google::protobuf::internal::TSanWrite(&_impl_);
18127   // @@protoc_insertion_point(field_release:google.protobuf.MessageOptions.features)
18128 
18129   _impl_._has_bits_[0] &= ~0x00000001U;
18130   ::google::protobuf::FeatureSet* temp = _impl_.features_;
18131   _impl_.features_ = nullptr;
18132   return temp;
18133 }
18134 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL MessageOptions::_internal_mutable_features() {
18135   ::google::protobuf::internal::TSanWrite(&_impl_);
18136   if (_impl_.features_ == nullptr) {
18137     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
18138     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
18139   }
18140   return _impl_.features_;
18141 }
18142 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL MessageOptions::mutable_features()
18143     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18144   _impl_._has_bits_[0] |= 0x00000001U;
18145   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
18146   // @@protoc_insertion_point(field_mutable:google.protobuf.MessageOptions.features)
18147   return _msg;
18148 }
18149 inline void MessageOptions::set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
18150   ::google::protobuf::Arena* message_arena = GetArena();
18151   ::google::protobuf::internal::TSanWrite(&_impl_);
18152   if (message_arena == nullptr) {
18153     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
18154   }
18155 
18156   if (value != nullptr) {
18157     ::google::protobuf::Arena* submessage_arena = value->GetArena();
18158     if (message_arena != submessage_arena) {
18159       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
18160     }
18161     _impl_._has_bits_[0] |= 0x00000001U;
18162   } else {
18163     _impl_._has_bits_[0] &= ~0x00000001U;
18164   }
18165 
18166   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18167   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MessageOptions.features)
18168 }
18169 
18170 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
18171 inline int MessageOptions::_internal_uninterpreted_option_size() const {
18172   return _internal_uninterpreted_option().size();
18173 }
18174 inline int MessageOptions::uninterpreted_option_size() const {
18175   return _internal_uninterpreted_option_size();
18176 }
18177 inline void MessageOptions::clear_uninterpreted_option() {
18178   ::google::protobuf::internal::TSanWrite(&_impl_);
18179   _impl_.uninterpreted_option_.Clear();
18180 }
18181 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL MessageOptions::mutable_uninterpreted_option(int index)
18182     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18183   // @@protoc_insertion_point(field_mutable:google.protobuf.MessageOptions.uninterpreted_option)
18184   return _internal_mutable_uninterpreted_option()->Mutable(index);
18185 }
18186 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL MessageOptions::mutable_uninterpreted_option()
18187     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18188   // @@protoc_insertion_point(field_mutable_list:google.protobuf.MessageOptions.uninterpreted_option)
18189   ::google::protobuf::internal::TSanWrite(&_impl_);
18190   return _internal_mutable_uninterpreted_option();
18191 }
18192 inline const ::google::protobuf::UninterpretedOption& MessageOptions::uninterpreted_option(int index) const
18193     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18194   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.uninterpreted_option)
18195   return _internal_uninterpreted_option().Get(index);
18196 }
18197 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL MessageOptions::add_uninterpreted_option()
18198     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18199   ::google::protobuf::internal::TSanWrite(&_impl_);
18200   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
18201   // @@protoc_insertion_point(field_add:google.protobuf.MessageOptions.uninterpreted_option)
18202   return _add;
18203 }
18204 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& MessageOptions::uninterpreted_option() const
18205     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18206   // @@protoc_insertion_point(field_list:google.protobuf.MessageOptions.uninterpreted_option)
18207   return _internal_uninterpreted_option();
18208 }
18209 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
18210 MessageOptions::_internal_uninterpreted_option() const {
18211   ::google::protobuf::internal::TSanRead(&_impl_);
18212   return _impl_.uninterpreted_option_;
18213 }
18214 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL
18215 MessageOptions::_internal_mutable_uninterpreted_option() {
18216   ::google::protobuf::internal::TSanRead(&_impl_);
18217   return &_impl_.uninterpreted_option_;
18218 }
18219 
18220 // -------------------------------------------------------------------
18221 
18222 // FieldOptions_EditionDefault
18223 
18224 // optional .google.protobuf.Edition edition = 3;
18225 inline bool FieldOptions_EditionDefault::has_edition() const {
18226   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
18227   return value;
18228 }
18229 inline void FieldOptions_EditionDefault::clear_edition() {
18230   ::google::protobuf::internal::TSanWrite(&_impl_);
18231   _impl_.edition_ = 0;
18232   _impl_._has_bits_[0] &= ~0x00000002U;
18233 }
18234 inline ::google::protobuf::Edition FieldOptions_EditionDefault::edition() const {
18235   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.EditionDefault.edition)
18236   return _internal_edition();
18237 }
18238 inline void FieldOptions_EditionDefault::set_edition(::google::protobuf::Edition value) {
18239   _internal_set_edition(value);
18240   _impl_._has_bits_[0] |= 0x00000002U;
18241   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.EditionDefault.edition)
18242 }
18243 inline ::google::protobuf::Edition FieldOptions_EditionDefault::_internal_edition() const {
18244   ::google::protobuf::internal::TSanRead(&_impl_);
18245   return static_cast<::google::protobuf::Edition>(_impl_.edition_);
18246 }
18247 inline void FieldOptions_EditionDefault::_internal_set_edition(::google::protobuf::Edition value) {
18248   ::google::protobuf::internal::TSanWrite(&_impl_);
18249 
18250                                           assert(::google::protobuf::internal::ValidateEnum(
18251                                               value, ::google::protobuf::Edition_internal_data_));
18252                                           _impl_.edition_ = value;
18253 }
18254 
18255 // optional string value = 2;
18256 inline bool FieldOptions_EditionDefault::has_value() const {
18257   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
18258   return value;
18259 }
18260 inline void FieldOptions_EditionDefault::clear_value() {
18261   ::google::protobuf::internal::TSanWrite(&_impl_);
18262   _impl_.value_.ClearToEmpty();
18263   _impl_._has_bits_[0] &= ~0x00000001U;
18264 }
18265 inline const ::std::string& FieldOptions_EditionDefault::value() const
18266     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18267   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.EditionDefault.value)
18268   return _internal_value();
18269 }
18270 template <typename Arg_, typename... Args_>
18271 PROTOBUF_ALWAYS_INLINE void FieldOptions_EditionDefault::set_value(Arg_&& arg, Args_... args) {
18272   ::google::protobuf::internal::TSanWrite(&_impl_);
18273   _impl_._has_bits_[0] |= 0x00000001U;
18274   _impl_.value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
18275   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.EditionDefault.value)
18276 }
18277 inline ::std::string* PROTOBUF_NONNULL FieldOptions_EditionDefault::mutable_value()
18278     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18279   ::std::string* _s = _internal_mutable_value();
18280   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.EditionDefault.value)
18281   return _s;
18282 }
18283 inline const ::std::string& FieldOptions_EditionDefault::_internal_value() const {
18284   ::google::protobuf::internal::TSanRead(&_impl_);
18285   return _impl_.value_.Get();
18286 }
18287 inline void FieldOptions_EditionDefault::_internal_set_value(const ::std::string& value) {
18288   ::google::protobuf::internal::TSanWrite(&_impl_);
18289   _impl_._has_bits_[0] |= 0x00000001U;
18290   _impl_.value_.Set(value, GetArena());
18291 }
18292 inline ::std::string* PROTOBUF_NONNULL FieldOptions_EditionDefault::_internal_mutable_value() {
18293   ::google::protobuf::internal::TSanWrite(&_impl_);
18294   _impl_._has_bits_[0] |= 0x00000001U;
18295   return _impl_.value_.Mutable( GetArena());
18296 }
18297 inline ::std::string* PROTOBUF_NULLABLE FieldOptions_EditionDefault::release_value() {
18298   ::google::protobuf::internal::TSanWrite(&_impl_);
18299   // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.EditionDefault.value)
18300   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
18301     return nullptr;
18302   }
18303   _impl_._has_bits_[0] &= ~0x00000001U;
18304   auto* released = _impl_.value_.Release();
18305   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
18306     _impl_.value_.Set("", GetArena());
18307   }
18308   return released;
18309 }
18310 inline void FieldOptions_EditionDefault::set_allocated_value(::std::string* PROTOBUF_NULLABLE value) {
18311   ::google::protobuf::internal::TSanWrite(&_impl_);
18312   if (value != nullptr) {
18313     _impl_._has_bits_[0] |= 0x00000001U;
18314   } else {
18315     _impl_._has_bits_[0] &= ~0x00000001U;
18316   }
18317   _impl_.value_.SetAllocated(value, GetArena());
18318   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.value_.IsDefault()) {
18319     _impl_.value_.Set("", GetArena());
18320   }
18321   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.EditionDefault.value)
18322 }
18323 
18324 // -------------------------------------------------------------------
18325 
18326 // FieldOptions_FeatureSupport
18327 
18328 // optional .google.protobuf.Edition edition_introduced = 1;
18329 inline bool FieldOptions_FeatureSupport::has_edition_introduced() const {
18330   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
18331   return value;
18332 }
18333 inline void FieldOptions_FeatureSupport::clear_edition_introduced() {
18334   ::google::protobuf::internal::TSanWrite(&_impl_);
18335   _impl_.edition_introduced_ = 0;
18336   _impl_._has_bits_[0] &= ~0x00000002U;
18337 }
18338 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::edition_introduced() const {
18339   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.edition_introduced)
18340   return _internal_edition_introduced();
18341 }
18342 inline void FieldOptions_FeatureSupport::set_edition_introduced(::google::protobuf::Edition value) {
18343   _internal_set_edition_introduced(value);
18344   _impl_._has_bits_[0] |= 0x00000002U;
18345   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.edition_introduced)
18346 }
18347 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::_internal_edition_introduced() const {
18348   ::google::protobuf::internal::TSanRead(&_impl_);
18349   return static_cast<::google::protobuf::Edition>(_impl_.edition_introduced_);
18350 }
18351 inline void FieldOptions_FeatureSupport::_internal_set_edition_introduced(::google::protobuf::Edition value) {
18352   ::google::protobuf::internal::TSanWrite(&_impl_);
18353 
18354                                           assert(::google::protobuf::internal::ValidateEnum(
18355                                               value, ::google::protobuf::Edition_internal_data_));
18356                                           _impl_.edition_introduced_ = value;
18357 }
18358 
18359 // optional .google.protobuf.Edition edition_deprecated = 2;
18360 inline bool FieldOptions_FeatureSupport::has_edition_deprecated() const {
18361   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
18362   return value;
18363 }
18364 inline void FieldOptions_FeatureSupport::clear_edition_deprecated() {
18365   ::google::protobuf::internal::TSanWrite(&_impl_);
18366   _impl_.edition_deprecated_ = 0;
18367   _impl_._has_bits_[0] &= ~0x00000004U;
18368 }
18369 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::edition_deprecated() const {
18370   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.edition_deprecated)
18371   return _internal_edition_deprecated();
18372 }
18373 inline void FieldOptions_FeatureSupport::set_edition_deprecated(::google::protobuf::Edition value) {
18374   _internal_set_edition_deprecated(value);
18375   _impl_._has_bits_[0] |= 0x00000004U;
18376   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.edition_deprecated)
18377 }
18378 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::_internal_edition_deprecated() const {
18379   ::google::protobuf::internal::TSanRead(&_impl_);
18380   return static_cast<::google::protobuf::Edition>(_impl_.edition_deprecated_);
18381 }
18382 inline void FieldOptions_FeatureSupport::_internal_set_edition_deprecated(::google::protobuf::Edition value) {
18383   ::google::protobuf::internal::TSanWrite(&_impl_);
18384 
18385                                           assert(::google::protobuf::internal::ValidateEnum(
18386                                               value, ::google::protobuf::Edition_internal_data_));
18387                                           _impl_.edition_deprecated_ = value;
18388 }
18389 
18390 // optional string deprecation_warning = 3;
18391 inline bool FieldOptions_FeatureSupport::has_deprecation_warning() const {
18392   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
18393   return value;
18394 }
18395 inline void FieldOptions_FeatureSupport::clear_deprecation_warning() {
18396   ::google::protobuf::internal::TSanWrite(&_impl_);
18397   _impl_.deprecation_warning_.ClearToEmpty();
18398   _impl_._has_bits_[0] &= ~0x00000001U;
18399 }
18400 inline const ::std::string& FieldOptions_FeatureSupport::deprecation_warning() const
18401     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18402   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
18403   return _internal_deprecation_warning();
18404 }
18405 template <typename Arg_, typename... Args_>
18406 PROTOBUF_ALWAYS_INLINE void FieldOptions_FeatureSupport::set_deprecation_warning(Arg_&& arg, Args_... args) {
18407   ::google::protobuf::internal::TSanWrite(&_impl_);
18408   _impl_._has_bits_[0] |= 0x00000001U;
18409   _impl_.deprecation_warning_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
18410   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
18411 }
18412 inline ::std::string* PROTOBUF_NONNULL FieldOptions_FeatureSupport::mutable_deprecation_warning()
18413     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18414   ::std::string* _s = _internal_mutable_deprecation_warning();
18415   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
18416   return _s;
18417 }
18418 inline const ::std::string& FieldOptions_FeatureSupport::_internal_deprecation_warning() const {
18419   ::google::protobuf::internal::TSanRead(&_impl_);
18420   return _impl_.deprecation_warning_.Get();
18421 }
18422 inline void FieldOptions_FeatureSupport::_internal_set_deprecation_warning(const ::std::string& value) {
18423   ::google::protobuf::internal::TSanWrite(&_impl_);
18424   _impl_._has_bits_[0] |= 0x00000001U;
18425   _impl_.deprecation_warning_.Set(value, GetArena());
18426 }
18427 inline ::std::string* PROTOBUF_NONNULL FieldOptions_FeatureSupport::_internal_mutable_deprecation_warning() {
18428   ::google::protobuf::internal::TSanWrite(&_impl_);
18429   _impl_._has_bits_[0] |= 0x00000001U;
18430   return _impl_.deprecation_warning_.Mutable( GetArena());
18431 }
18432 inline ::std::string* PROTOBUF_NULLABLE FieldOptions_FeatureSupport::release_deprecation_warning() {
18433   ::google::protobuf::internal::TSanWrite(&_impl_);
18434   // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
18435   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
18436     return nullptr;
18437   }
18438   _impl_._has_bits_[0] &= ~0x00000001U;
18439   auto* released = _impl_.deprecation_warning_.Release();
18440   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
18441     _impl_.deprecation_warning_.Set("", GetArena());
18442   }
18443   return released;
18444 }
18445 inline void FieldOptions_FeatureSupport::set_allocated_deprecation_warning(::std::string* PROTOBUF_NULLABLE value) {
18446   ::google::protobuf::internal::TSanWrite(&_impl_);
18447   if (value != nullptr) {
18448     _impl_._has_bits_[0] |= 0x00000001U;
18449   } else {
18450     _impl_._has_bits_[0] &= ~0x00000001U;
18451   }
18452   _impl_.deprecation_warning_.SetAllocated(value, GetArena());
18453   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.deprecation_warning_.IsDefault()) {
18454     _impl_.deprecation_warning_.Set("", GetArena());
18455   }
18456   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
18457 }
18458 
18459 // optional .google.protobuf.Edition edition_removed = 4;
18460 inline bool FieldOptions_FeatureSupport::has_edition_removed() const {
18461   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
18462   return value;
18463 }
18464 inline void FieldOptions_FeatureSupport::clear_edition_removed() {
18465   ::google::protobuf::internal::TSanWrite(&_impl_);
18466   _impl_.edition_removed_ = 0;
18467   _impl_._has_bits_[0] &= ~0x00000008U;
18468 }
18469 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::edition_removed() const {
18470   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.edition_removed)
18471   return _internal_edition_removed();
18472 }
18473 inline void FieldOptions_FeatureSupport::set_edition_removed(::google::protobuf::Edition value) {
18474   _internal_set_edition_removed(value);
18475   _impl_._has_bits_[0] |= 0x00000008U;
18476   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.edition_removed)
18477 }
18478 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::_internal_edition_removed() const {
18479   ::google::protobuf::internal::TSanRead(&_impl_);
18480   return static_cast<::google::protobuf::Edition>(_impl_.edition_removed_);
18481 }
18482 inline void FieldOptions_FeatureSupport::_internal_set_edition_removed(::google::protobuf::Edition value) {
18483   ::google::protobuf::internal::TSanWrite(&_impl_);
18484 
18485                                           assert(::google::protobuf::internal::ValidateEnum(
18486                                               value, ::google::protobuf::Edition_internal_data_));
18487                                           _impl_.edition_removed_ = value;
18488 }
18489 
18490 // -------------------------------------------------------------------
18491 
18492 // FieldOptions
18493 
18494 // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
18495 inline bool FieldOptions::has_ctype() const {
18496   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
18497   return value;
18498 }
18499 inline void FieldOptions::clear_ctype() {
18500   ::google::protobuf::internal::TSanWrite(&_impl_);
18501   _impl_.ctype_ = 0;
18502   _impl_._has_bits_[0] &= ~0x00000004U;
18503 }
18504 inline ::google::protobuf::FieldOptions_CType FieldOptions::ctype() const {
18505   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.ctype)
18506   return _internal_ctype();
18507 }
18508 inline void FieldOptions::set_ctype(::google::protobuf::FieldOptions_CType value) {
18509   _internal_set_ctype(value);
18510   _impl_._has_bits_[0] |= 0x00000004U;
18511   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.ctype)
18512 }
18513 inline ::google::protobuf::FieldOptions_CType FieldOptions::_internal_ctype() const {
18514   ::google::protobuf::internal::TSanRead(&_impl_);
18515   return static_cast<::google::protobuf::FieldOptions_CType>(_impl_.ctype_);
18516 }
18517 inline void FieldOptions::_internal_set_ctype(::google::protobuf::FieldOptions_CType value) {
18518   ::google::protobuf::internal::TSanWrite(&_impl_);
18519 
18520                                           assert(::google::protobuf::internal::ValidateEnum(
18521                                               value, ::google::protobuf::FieldOptions_CType_internal_data_));
18522                                           _impl_.ctype_ = value;
18523 }
18524 
18525 // optional bool packed = 2;
18526 inline bool FieldOptions::has_packed() const {
18527   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
18528   return value;
18529 }
18530 inline void FieldOptions::clear_packed() {
18531   ::google::protobuf::internal::TSanWrite(&_impl_);
18532   _impl_.packed_ = false;
18533   _impl_._has_bits_[0] &= ~0x00000008U;
18534 }
18535 inline bool FieldOptions::packed() const {
18536   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.packed)
18537   return _internal_packed();
18538 }
18539 inline void FieldOptions::set_packed(bool value) {
18540   _internal_set_packed(value);
18541   _impl_._has_bits_[0] |= 0x00000008U;
18542   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.packed)
18543 }
18544 inline bool FieldOptions::_internal_packed() const {
18545   ::google::protobuf::internal::TSanRead(&_impl_);
18546   return _impl_.packed_;
18547 }
18548 inline void FieldOptions::_internal_set_packed(bool value) {
18549   ::google::protobuf::internal::TSanWrite(&_impl_);
18550   _impl_.packed_ = value;
18551 }
18552 
18553 // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
18554 inline bool FieldOptions::has_jstype() const {
18555   bool value = (_impl_._has_bits_[0] & 0x00000080U) != 0;
18556   return value;
18557 }
18558 inline void FieldOptions::clear_jstype() {
18559   ::google::protobuf::internal::TSanWrite(&_impl_);
18560   _impl_.jstype_ = 0;
18561   _impl_._has_bits_[0] &= ~0x00000080U;
18562 }
18563 inline ::google::protobuf::FieldOptions_JSType FieldOptions::jstype() const {
18564   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.jstype)
18565   return _internal_jstype();
18566 }
18567 inline void FieldOptions::set_jstype(::google::protobuf::FieldOptions_JSType value) {
18568   _internal_set_jstype(value);
18569   _impl_._has_bits_[0] |= 0x00000080U;
18570   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.jstype)
18571 }
18572 inline ::google::protobuf::FieldOptions_JSType FieldOptions::_internal_jstype() const {
18573   ::google::protobuf::internal::TSanRead(&_impl_);
18574   return static_cast<::google::protobuf::FieldOptions_JSType>(_impl_.jstype_);
18575 }
18576 inline void FieldOptions::_internal_set_jstype(::google::protobuf::FieldOptions_JSType value) {
18577   ::google::protobuf::internal::TSanWrite(&_impl_);
18578 
18579                                           assert(::google::protobuf::internal::ValidateEnum(
18580                                               value, ::google::protobuf::FieldOptions_JSType_internal_data_));
18581                                           _impl_.jstype_ = value;
18582 }
18583 
18584 // optional bool lazy = 5 [default = false];
18585 inline bool FieldOptions::has_lazy() const {
18586   bool value = (_impl_._has_bits_[0] & 0x00000020U) != 0;
18587   return value;
18588 }
18589 inline void FieldOptions::clear_lazy() {
18590   ::google::protobuf::internal::TSanWrite(&_impl_);
18591   _impl_.lazy_ = false;
18592   _impl_._has_bits_[0] &= ~0x00000020U;
18593 }
18594 inline bool FieldOptions::lazy() const {
18595   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.lazy)
18596   return _internal_lazy();
18597 }
18598 inline void FieldOptions::set_lazy(bool value) {
18599   _internal_set_lazy(value);
18600   _impl_._has_bits_[0] |= 0x00000020U;
18601   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.lazy)
18602 }
18603 inline bool FieldOptions::_internal_lazy() const {
18604   ::google::protobuf::internal::TSanRead(&_impl_);
18605   return _impl_.lazy_;
18606 }
18607 inline void FieldOptions::_internal_set_lazy(bool value) {
18608   ::google::protobuf::internal::TSanWrite(&_impl_);
18609   _impl_.lazy_ = value;
18610 }
18611 
18612 // optional bool unverified_lazy = 15 [default = false];
18613 inline bool FieldOptions::has_unverified_lazy() const {
18614   bool value = (_impl_._has_bits_[0] & 0x00000100U) != 0;
18615   return value;
18616 }
18617 inline void FieldOptions::clear_unverified_lazy() {
18618   ::google::protobuf::internal::TSanWrite(&_impl_);
18619   _impl_.unverified_lazy_ = false;
18620   _impl_._has_bits_[0] &= ~0x00000100U;
18621 }
18622 inline bool FieldOptions::unverified_lazy() const {
18623   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.unverified_lazy)
18624   return _internal_unverified_lazy();
18625 }
18626 inline void FieldOptions::set_unverified_lazy(bool value) {
18627   _internal_set_unverified_lazy(value);
18628   _impl_._has_bits_[0] |= 0x00000100U;
18629   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.unverified_lazy)
18630 }
18631 inline bool FieldOptions::_internal_unverified_lazy() const {
18632   ::google::protobuf::internal::TSanRead(&_impl_);
18633   return _impl_.unverified_lazy_;
18634 }
18635 inline void FieldOptions::_internal_set_unverified_lazy(bool value) {
18636   ::google::protobuf::internal::TSanWrite(&_impl_);
18637   _impl_.unverified_lazy_ = value;
18638 }
18639 
18640 // optional bool deprecated = 3 [default = false];
18641 inline bool FieldOptions::has_deprecated() const {
18642   bool value = (_impl_._has_bits_[0] & 0x00000010U) != 0;
18643   return value;
18644 }
18645 inline void FieldOptions::clear_deprecated() {
18646   ::google::protobuf::internal::TSanWrite(&_impl_);
18647   _impl_.deprecated_ = false;
18648   _impl_._has_bits_[0] &= ~0x00000010U;
18649 }
18650 inline bool FieldOptions::deprecated() const {
18651   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.deprecated)
18652   return _internal_deprecated();
18653 }
18654 inline void FieldOptions::set_deprecated(bool value) {
18655   _internal_set_deprecated(value);
18656   _impl_._has_bits_[0] |= 0x00000010U;
18657   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.deprecated)
18658 }
18659 inline bool FieldOptions::_internal_deprecated() const {
18660   ::google::protobuf::internal::TSanRead(&_impl_);
18661   return _impl_.deprecated_;
18662 }
18663 inline void FieldOptions::_internal_set_deprecated(bool value) {
18664   ::google::protobuf::internal::TSanWrite(&_impl_);
18665   _impl_.deprecated_ = value;
18666 }
18667 
18668 // optional bool weak = 10 [default = false, deprecated = true];
18669 inline bool FieldOptions::has_weak() const {
18670   bool value = (_impl_._has_bits_[0] & 0x00000040U) != 0;
18671   return value;
18672 }
18673 inline void FieldOptions::clear_weak() {
18674   ::google::protobuf::internal::TSanWrite(&_impl_);
18675   _impl_.weak_ = false;
18676   _impl_._has_bits_[0] &= ~0x00000040U;
18677 }
18678 inline bool FieldOptions::weak() const {
18679   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.weak)
18680   return _internal_weak();
18681 }
18682 inline void FieldOptions::set_weak(bool value) {
18683   _internal_set_weak(value);
18684   _impl_._has_bits_[0] |= 0x00000040U;
18685   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.weak)
18686 }
18687 inline bool FieldOptions::_internal_weak() const {
18688   ::google::protobuf::internal::TSanRead(&_impl_);
18689   return _impl_.weak_;
18690 }
18691 inline void FieldOptions::_internal_set_weak(bool value) {
18692   ::google::protobuf::internal::TSanWrite(&_impl_);
18693   _impl_.weak_ = value;
18694 }
18695 
18696 // optional bool debug_redact = 16 [default = false];
18697 inline bool FieldOptions::has_debug_redact() const {
18698   bool value = (_impl_._has_bits_[0] & 0x00000200U) != 0;
18699   return value;
18700 }
18701 inline void FieldOptions::clear_debug_redact() {
18702   ::google::protobuf::internal::TSanWrite(&_impl_);
18703   _impl_.debug_redact_ = false;
18704   _impl_._has_bits_[0] &= ~0x00000200U;
18705 }
18706 inline bool FieldOptions::debug_redact() const {
18707   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.debug_redact)
18708   return _internal_debug_redact();
18709 }
18710 inline void FieldOptions::set_debug_redact(bool value) {
18711   _internal_set_debug_redact(value);
18712   _impl_._has_bits_[0] |= 0x00000200U;
18713   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.debug_redact)
18714 }
18715 inline bool FieldOptions::_internal_debug_redact() const {
18716   ::google::protobuf::internal::TSanRead(&_impl_);
18717   return _impl_.debug_redact_;
18718 }
18719 inline void FieldOptions::_internal_set_debug_redact(bool value) {
18720   ::google::protobuf::internal::TSanWrite(&_impl_);
18721   _impl_.debug_redact_ = value;
18722 }
18723 
18724 // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
18725 inline bool FieldOptions::has_retention() const {
18726   bool value = (_impl_._has_bits_[0] & 0x00000400U) != 0;
18727   return value;
18728 }
18729 inline void FieldOptions::clear_retention() {
18730   ::google::protobuf::internal::TSanWrite(&_impl_);
18731   _impl_.retention_ = 0;
18732   _impl_._has_bits_[0] &= ~0x00000400U;
18733 }
18734 inline ::google::protobuf::FieldOptions_OptionRetention FieldOptions::retention() const {
18735   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.retention)
18736   return _internal_retention();
18737 }
18738 inline void FieldOptions::set_retention(::google::protobuf::FieldOptions_OptionRetention value) {
18739   _internal_set_retention(value);
18740   _impl_._has_bits_[0] |= 0x00000400U;
18741   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.retention)
18742 }
18743 inline ::google::protobuf::FieldOptions_OptionRetention FieldOptions::_internal_retention() const {
18744   ::google::protobuf::internal::TSanRead(&_impl_);
18745   return static_cast<::google::protobuf::FieldOptions_OptionRetention>(_impl_.retention_);
18746 }
18747 inline void FieldOptions::_internal_set_retention(::google::protobuf::FieldOptions_OptionRetention value) {
18748   ::google::protobuf::internal::TSanWrite(&_impl_);
18749 
18750                                           assert(::google::protobuf::internal::ValidateEnum(
18751                                               value, ::google::protobuf::FieldOptions_OptionRetention_internal_data_));
18752                                           _impl_.retention_ = value;
18753 }
18754 
18755 // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
18756 inline int FieldOptions::_internal_targets_size() const {
18757   return _internal_targets().size();
18758 }
18759 inline int FieldOptions::targets_size() const {
18760   return _internal_targets_size();
18761 }
18762 inline void FieldOptions::clear_targets() {
18763   ::google::protobuf::internal::TSanWrite(&_impl_);
18764   _impl_.targets_.Clear();
18765 }
18766 inline ::google::protobuf::FieldOptions_OptionTargetType FieldOptions::targets(int index) const {
18767   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.targets)
18768   return static_cast<::google::protobuf::FieldOptions_OptionTargetType>(_internal_targets().Get(index));
18769 }
18770 inline void FieldOptions::set_targets(int index, ::google::protobuf::FieldOptions_OptionTargetType value) {
18771 
18772                                           assert(::google::protobuf::internal::ValidateEnum(
18773                                               value, ::google::protobuf::FieldOptions_OptionTargetType_internal_data_));
18774                                           _internal_mutable_targets()->Set(index, value);
18775   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.targets)
18776 }
18777 inline void FieldOptions::add_targets(::google::protobuf::FieldOptions_OptionTargetType value) {
18778 
18779                                           assert(::google::protobuf::internal::ValidateEnum(
18780                                               value, ::google::protobuf::FieldOptions_OptionTargetType_internal_data_));
18781                                           ::google::protobuf::internal::TSanWrite(&_impl_);
18782   _internal_mutable_targets()->Add(value);
18783   // @@protoc_insertion_point(field_add:google.protobuf.FieldOptions.targets)
18784 }
18785 inline const ::google::protobuf::RepeatedField<int>& FieldOptions::targets() const
18786     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18787   // @@protoc_insertion_point(field_list:google.protobuf.FieldOptions.targets)
18788   return _internal_targets();
18789 }
18790 inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL FieldOptions::mutable_targets()
18791     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18792   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldOptions.targets)
18793   ::google::protobuf::internal::TSanWrite(&_impl_);
18794   return _internal_mutable_targets();
18795 }
18796 inline const ::google::protobuf::RepeatedField<int>& FieldOptions::_internal_targets()
18797     const {
18798   ::google::protobuf::internal::TSanRead(&_impl_);
18799   return _impl_.targets_;
18800 }
18801 inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
18802 FieldOptions::_internal_mutable_targets() {
18803   ::google::protobuf::internal::TSanRead(&_impl_);
18804   return &_impl_.targets_;
18805 }
18806 
18807 // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
18808 inline int FieldOptions::_internal_edition_defaults_size() const {
18809   return _internal_edition_defaults().size();
18810 }
18811 inline int FieldOptions::edition_defaults_size() const {
18812   return _internal_edition_defaults_size();
18813 }
18814 inline void FieldOptions::clear_edition_defaults() {
18815   ::google::protobuf::internal::TSanWrite(&_impl_);
18816   _impl_.edition_defaults_.Clear();
18817 }
18818 inline ::google::protobuf::FieldOptions_EditionDefault* PROTOBUF_NONNULL FieldOptions::mutable_edition_defaults(int index)
18819     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18820   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.edition_defaults)
18821   return _internal_mutable_edition_defaults()->Mutable(index);
18822 }
18823 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>* PROTOBUF_NONNULL FieldOptions::mutable_edition_defaults()
18824     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18825   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldOptions.edition_defaults)
18826   ::google::protobuf::internal::TSanWrite(&_impl_);
18827   return _internal_mutable_edition_defaults();
18828 }
18829 inline const ::google::protobuf::FieldOptions_EditionDefault& FieldOptions::edition_defaults(int index) const
18830     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18831   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.edition_defaults)
18832   return _internal_edition_defaults().Get(index);
18833 }
18834 inline ::google::protobuf::FieldOptions_EditionDefault* PROTOBUF_NONNULL FieldOptions::add_edition_defaults()
18835     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18836   ::google::protobuf::internal::TSanWrite(&_impl_);
18837   ::google::protobuf::FieldOptions_EditionDefault* _add = _internal_mutable_edition_defaults()->Add();
18838   // @@protoc_insertion_point(field_add:google.protobuf.FieldOptions.edition_defaults)
18839   return _add;
18840 }
18841 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>& FieldOptions::edition_defaults() const
18842     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18843   // @@protoc_insertion_point(field_list:google.protobuf.FieldOptions.edition_defaults)
18844   return _internal_edition_defaults();
18845 }
18846 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>&
18847 FieldOptions::_internal_edition_defaults() const {
18848   ::google::protobuf::internal::TSanRead(&_impl_);
18849   return _impl_.edition_defaults_;
18850 }
18851 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>* PROTOBUF_NONNULL
18852 FieldOptions::_internal_mutable_edition_defaults() {
18853   ::google::protobuf::internal::TSanRead(&_impl_);
18854   return &_impl_.edition_defaults_;
18855 }
18856 
18857 // optional .google.protobuf.FeatureSet features = 21;
18858 inline bool FieldOptions::has_features() const {
18859   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
18860   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
18861   return value;
18862 }
18863 inline void FieldOptions::clear_features() {
18864   ::google::protobuf::internal::TSanWrite(&_impl_);
18865   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
18866   _impl_._has_bits_[0] &= ~0x00000001U;
18867 }
18868 inline const ::google::protobuf::FeatureSet& FieldOptions::_internal_features() const {
18869   ::google::protobuf::internal::TSanRead(&_impl_);
18870   const ::google::protobuf::FeatureSet* p = _impl_.features_;
18871   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
18872 }
18873 inline const ::google::protobuf::FeatureSet& FieldOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
18874   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.features)
18875   return _internal_features();
18876 }
18877 inline void FieldOptions::unsafe_arena_set_allocated_features(
18878     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
18879   ::google::protobuf::internal::TSanWrite(&_impl_);
18880   if (GetArena() == nullptr) {
18881     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
18882   }
18883   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18884   if (value != nullptr) {
18885     _impl_._has_bits_[0] |= 0x00000001U;
18886   } else {
18887     _impl_._has_bits_[0] &= ~0x00000001U;
18888   }
18889   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FieldOptions.features)
18890 }
18891 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE FieldOptions::release_features() {
18892   ::google::protobuf::internal::TSanWrite(&_impl_);
18893 
18894   _impl_._has_bits_[0] &= ~0x00000001U;
18895   ::google::protobuf::FeatureSet* released = _impl_.features_;
18896   _impl_.features_ = nullptr;
18897   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
18898     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
18899     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18900     if (GetArena() == nullptr) {
18901       delete old;
18902     }
18903   } else {
18904     if (GetArena() != nullptr) {
18905       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18906     }
18907   }
18908   return released;
18909 }
18910 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE FieldOptions::unsafe_arena_release_features() {
18911   ::google::protobuf::internal::TSanWrite(&_impl_);
18912   // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.features)
18913 
18914   _impl_._has_bits_[0] &= ~0x00000001U;
18915   ::google::protobuf::FeatureSet* temp = _impl_.features_;
18916   _impl_.features_ = nullptr;
18917   return temp;
18918 }
18919 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL FieldOptions::_internal_mutable_features() {
18920   ::google::protobuf::internal::TSanWrite(&_impl_);
18921   if (_impl_.features_ == nullptr) {
18922     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
18923     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
18924   }
18925   return _impl_.features_;
18926 }
18927 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL FieldOptions::mutable_features()
18928     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18929   _impl_._has_bits_[0] |= 0x00000001U;
18930   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
18931   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.features)
18932   return _msg;
18933 }
18934 inline void FieldOptions::set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
18935   ::google::protobuf::Arena* message_arena = GetArena();
18936   ::google::protobuf::internal::TSanWrite(&_impl_);
18937   if (message_arena == nullptr) {
18938     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
18939   }
18940 
18941   if (value != nullptr) {
18942     ::google::protobuf::Arena* submessage_arena = value->GetArena();
18943     if (message_arena != submessage_arena) {
18944       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
18945     }
18946     _impl_._has_bits_[0] |= 0x00000001U;
18947   } else {
18948     _impl_._has_bits_[0] &= ~0x00000001U;
18949   }
18950 
18951   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18952   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.features)
18953 }
18954 
18955 // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
18956 inline bool FieldOptions::has_feature_support() const {
18957   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
18958   PROTOBUF_ASSUME(!value || _impl_.feature_support_ != nullptr);
18959   return value;
18960 }
18961 inline void FieldOptions::clear_feature_support() {
18962   ::google::protobuf::internal::TSanWrite(&_impl_);
18963   if (_impl_.feature_support_ != nullptr) _impl_.feature_support_->Clear();
18964   _impl_._has_bits_[0] &= ~0x00000002U;
18965 }
18966 inline const ::google::protobuf::FieldOptions_FeatureSupport& FieldOptions::_internal_feature_support() const {
18967   ::google::protobuf::internal::TSanRead(&_impl_);
18968   const ::google::protobuf::FieldOptions_FeatureSupport* p = _impl_.feature_support_;
18969   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FieldOptions_FeatureSupport&>(::google::protobuf::_FieldOptions_FeatureSupport_default_instance_);
18970 }
18971 inline const ::google::protobuf::FieldOptions_FeatureSupport& FieldOptions::feature_support() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
18972   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.feature_support)
18973   return _internal_feature_support();
18974 }
18975 inline void FieldOptions::unsafe_arena_set_allocated_feature_support(
18976     ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE value) {
18977   ::google::protobuf::internal::TSanWrite(&_impl_);
18978   if (GetArena() == nullptr) {
18979     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.feature_support_);
18980   }
18981   _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value);
18982   if (value != nullptr) {
18983     _impl_._has_bits_[0] |= 0x00000002U;
18984   } else {
18985     _impl_._has_bits_[0] &= ~0x00000002U;
18986   }
18987   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FieldOptions.feature_support)
18988 }
18989 inline ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE FieldOptions::release_feature_support() {
18990   ::google::protobuf::internal::TSanWrite(&_impl_);
18991 
18992   _impl_._has_bits_[0] &= ~0x00000002U;
18993   ::google::protobuf::FieldOptions_FeatureSupport* released = _impl_.feature_support_;
18994   _impl_.feature_support_ = nullptr;
18995   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
18996     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
18997     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18998     if (GetArena() == nullptr) {
18999       delete old;
19000     }
19001   } else {
19002     if (GetArena() != nullptr) {
19003       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19004     }
19005   }
19006   return released;
19007 }
19008 inline ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE FieldOptions::unsafe_arena_release_feature_support() {
19009   ::google::protobuf::internal::TSanWrite(&_impl_);
19010   // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.feature_support)
19011 
19012   _impl_._has_bits_[0] &= ~0x00000002U;
19013   ::google::protobuf::FieldOptions_FeatureSupport* temp = _impl_.feature_support_;
19014   _impl_.feature_support_ = nullptr;
19015   return temp;
19016 }
19017 inline ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NONNULL FieldOptions::_internal_mutable_feature_support() {
19018   ::google::protobuf::internal::TSanWrite(&_impl_);
19019   if (_impl_.feature_support_ == nullptr) {
19020     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FieldOptions_FeatureSupport>(GetArena());
19021     _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(p);
19022   }
19023   return _impl_.feature_support_;
19024 }
19025 inline ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NONNULL FieldOptions::mutable_feature_support()
19026     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19027   _impl_._has_bits_[0] |= 0x00000002U;
19028   ::google::protobuf::FieldOptions_FeatureSupport* _msg = _internal_mutable_feature_support();
19029   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.feature_support)
19030   return _msg;
19031 }
19032 inline void FieldOptions::set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE value) {
19033   ::google::protobuf::Arena* message_arena = GetArena();
19034   ::google::protobuf::internal::TSanWrite(&_impl_);
19035   if (message_arena == nullptr) {
19036     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.feature_support_);
19037   }
19038 
19039   if (value != nullptr) {
19040     ::google::protobuf::Arena* submessage_arena = value->GetArena();
19041     if (message_arena != submessage_arena) {
19042       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
19043     }
19044     _impl_._has_bits_[0] |= 0x00000002U;
19045   } else {
19046     _impl_._has_bits_[0] &= ~0x00000002U;
19047   }
19048 
19049   _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value);
19050   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.feature_support)
19051 }
19052 
19053 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
19054 inline int FieldOptions::_internal_uninterpreted_option_size() const {
19055   return _internal_uninterpreted_option().size();
19056 }
19057 inline int FieldOptions::uninterpreted_option_size() const {
19058   return _internal_uninterpreted_option_size();
19059 }
19060 inline void FieldOptions::clear_uninterpreted_option() {
19061   ::google::protobuf::internal::TSanWrite(&_impl_);
19062   _impl_.uninterpreted_option_.Clear();
19063 }
19064 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL FieldOptions::mutable_uninterpreted_option(int index)
19065     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19066   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.uninterpreted_option)
19067   return _internal_mutable_uninterpreted_option()->Mutable(index);
19068 }
19069 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL FieldOptions::mutable_uninterpreted_option()
19070     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19071   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldOptions.uninterpreted_option)
19072   ::google::protobuf::internal::TSanWrite(&_impl_);
19073   return _internal_mutable_uninterpreted_option();
19074 }
19075 inline const ::google::protobuf::UninterpretedOption& FieldOptions::uninterpreted_option(int index) const
19076     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19077   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.uninterpreted_option)
19078   return _internal_uninterpreted_option().Get(index);
19079 }
19080 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL FieldOptions::add_uninterpreted_option()
19081     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19082   ::google::protobuf::internal::TSanWrite(&_impl_);
19083   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
19084   // @@protoc_insertion_point(field_add:google.protobuf.FieldOptions.uninterpreted_option)
19085   return _add;
19086 }
19087 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& FieldOptions::uninterpreted_option() const
19088     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19089   // @@protoc_insertion_point(field_list:google.protobuf.FieldOptions.uninterpreted_option)
19090   return _internal_uninterpreted_option();
19091 }
19092 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
19093 FieldOptions::_internal_uninterpreted_option() const {
19094   ::google::protobuf::internal::TSanRead(&_impl_);
19095   return _impl_.uninterpreted_option_;
19096 }
19097 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL
19098 FieldOptions::_internal_mutable_uninterpreted_option() {
19099   ::google::protobuf::internal::TSanRead(&_impl_);
19100   return &_impl_.uninterpreted_option_;
19101 }
19102 
19103 // -------------------------------------------------------------------
19104 
19105 // OneofOptions
19106 
19107 // optional .google.protobuf.FeatureSet features = 1;
19108 inline bool OneofOptions::has_features() const {
19109   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
19110   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
19111   return value;
19112 }
19113 inline void OneofOptions::clear_features() {
19114   ::google::protobuf::internal::TSanWrite(&_impl_);
19115   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
19116   _impl_._has_bits_[0] &= ~0x00000001U;
19117 }
19118 inline const ::google::protobuf::FeatureSet& OneofOptions::_internal_features() const {
19119   ::google::protobuf::internal::TSanRead(&_impl_);
19120   const ::google::protobuf::FeatureSet* p = _impl_.features_;
19121   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
19122 }
19123 inline const ::google::protobuf::FeatureSet& OneofOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
19124   // @@protoc_insertion_point(field_get:google.protobuf.OneofOptions.features)
19125   return _internal_features();
19126 }
19127 inline void OneofOptions::unsafe_arena_set_allocated_features(
19128     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
19129   ::google::protobuf::internal::TSanWrite(&_impl_);
19130   if (GetArena() == nullptr) {
19131     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
19132   }
19133   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19134   if (value != nullptr) {
19135     _impl_._has_bits_[0] |= 0x00000001U;
19136   } else {
19137     _impl_._has_bits_[0] &= ~0x00000001U;
19138   }
19139   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.OneofOptions.features)
19140 }
19141 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE OneofOptions::release_features() {
19142   ::google::protobuf::internal::TSanWrite(&_impl_);
19143 
19144   _impl_._has_bits_[0] &= ~0x00000001U;
19145   ::google::protobuf::FeatureSet* released = _impl_.features_;
19146   _impl_.features_ = nullptr;
19147   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
19148     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
19149     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19150     if (GetArena() == nullptr) {
19151       delete old;
19152     }
19153   } else {
19154     if (GetArena() != nullptr) {
19155       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19156     }
19157   }
19158   return released;
19159 }
19160 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE OneofOptions::unsafe_arena_release_features() {
19161   ::google::protobuf::internal::TSanWrite(&_impl_);
19162   // @@protoc_insertion_point(field_release:google.protobuf.OneofOptions.features)
19163 
19164   _impl_._has_bits_[0] &= ~0x00000001U;
19165   ::google::protobuf::FeatureSet* temp = _impl_.features_;
19166   _impl_.features_ = nullptr;
19167   return temp;
19168 }
19169 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL OneofOptions::_internal_mutable_features() {
19170   ::google::protobuf::internal::TSanWrite(&_impl_);
19171   if (_impl_.features_ == nullptr) {
19172     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
19173     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
19174   }
19175   return _impl_.features_;
19176 }
19177 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL OneofOptions::mutable_features()
19178     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19179   _impl_._has_bits_[0] |= 0x00000001U;
19180   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
19181   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofOptions.features)
19182   return _msg;
19183 }
19184 inline void OneofOptions::set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
19185   ::google::protobuf::Arena* message_arena = GetArena();
19186   ::google::protobuf::internal::TSanWrite(&_impl_);
19187   if (message_arena == nullptr) {
19188     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
19189   }
19190 
19191   if (value != nullptr) {
19192     ::google::protobuf::Arena* submessage_arena = value->GetArena();
19193     if (message_arena != submessage_arena) {
19194       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
19195     }
19196     _impl_._has_bits_[0] |= 0x00000001U;
19197   } else {
19198     _impl_._has_bits_[0] &= ~0x00000001U;
19199   }
19200 
19201   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19202   // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofOptions.features)
19203 }
19204 
19205 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
19206 inline int OneofOptions::_internal_uninterpreted_option_size() const {
19207   return _internal_uninterpreted_option().size();
19208 }
19209 inline int OneofOptions::uninterpreted_option_size() const {
19210   return _internal_uninterpreted_option_size();
19211 }
19212 inline void OneofOptions::clear_uninterpreted_option() {
19213   ::google::protobuf::internal::TSanWrite(&_impl_);
19214   _impl_.uninterpreted_option_.Clear();
19215 }
19216 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL OneofOptions::mutable_uninterpreted_option(int index)
19217     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19218   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofOptions.uninterpreted_option)
19219   return _internal_mutable_uninterpreted_option()->Mutable(index);
19220 }
19221 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL OneofOptions::mutable_uninterpreted_option()
19222     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19223   // @@protoc_insertion_point(field_mutable_list:google.protobuf.OneofOptions.uninterpreted_option)
19224   ::google::protobuf::internal::TSanWrite(&_impl_);
19225   return _internal_mutable_uninterpreted_option();
19226 }
19227 inline const ::google::protobuf::UninterpretedOption& OneofOptions::uninterpreted_option(int index) const
19228     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19229   // @@protoc_insertion_point(field_get:google.protobuf.OneofOptions.uninterpreted_option)
19230   return _internal_uninterpreted_option().Get(index);
19231 }
19232 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL OneofOptions::add_uninterpreted_option()
19233     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19234   ::google::protobuf::internal::TSanWrite(&_impl_);
19235   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
19236   // @@protoc_insertion_point(field_add:google.protobuf.OneofOptions.uninterpreted_option)
19237   return _add;
19238 }
19239 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& OneofOptions::uninterpreted_option() const
19240     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19241   // @@protoc_insertion_point(field_list:google.protobuf.OneofOptions.uninterpreted_option)
19242   return _internal_uninterpreted_option();
19243 }
19244 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
19245 OneofOptions::_internal_uninterpreted_option() const {
19246   ::google::protobuf::internal::TSanRead(&_impl_);
19247   return _impl_.uninterpreted_option_;
19248 }
19249 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL
19250 OneofOptions::_internal_mutable_uninterpreted_option() {
19251   ::google::protobuf::internal::TSanRead(&_impl_);
19252   return &_impl_.uninterpreted_option_;
19253 }
19254 
19255 // -------------------------------------------------------------------
19256 
19257 // EnumOptions
19258 
19259 // optional bool allow_alias = 2;
19260 inline bool EnumOptions::has_allow_alias() const {
19261   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
19262   return value;
19263 }
19264 inline void EnumOptions::clear_allow_alias() {
19265   ::google::protobuf::internal::TSanWrite(&_impl_);
19266   _impl_.allow_alias_ = false;
19267   _impl_._has_bits_[0] &= ~0x00000002U;
19268 }
19269 inline bool EnumOptions::allow_alias() const {
19270   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.allow_alias)
19271   return _internal_allow_alias();
19272 }
19273 inline void EnumOptions::set_allow_alias(bool value) {
19274   _internal_set_allow_alias(value);
19275   _impl_._has_bits_[0] |= 0x00000002U;
19276   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.allow_alias)
19277 }
19278 inline bool EnumOptions::_internal_allow_alias() const {
19279   ::google::protobuf::internal::TSanRead(&_impl_);
19280   return _impl_.allow_alias_;
19281 }
19282 inline void EnumOptions::_internal_set_allow_alias(bool value) {
19283   ::google::protobuf::internal::TSanWrite(&_impl_);
19284   _impl_.allow_alias_ = value;
19285 }
19286 
19287 // optional bool deprecated = 3 [default = false];
19288 inline bool EnumOptions::has_deprecated() const {
19289   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
19290   return value;
19291 }
19292 inline void EnumOptions::clear_deprecated() {
19293   ::google::protobuf::internal::TSanWrite(&_impl_);
19294   _impl_.deprecated_ = false;
19295   _impl_._has_bits_[0] &= ~0x00000004U;
19296 }
19297 inline bool EnumOptions::deprecated() const {
19298   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.deprecated)
19299   return _internal_deprecated();
19300 }
19301 inline void EnumOptions::set_deprecated(bool value) {
19302   _internal_set_deprecated(value);
19303   _impl_._has_bits_[0] |= 0x00000004U;
19304   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.deprecated)
19305 }
19306 inline bool EnumOptions::_internal_deprecated() const {
19307   ::google::protobuf::internal::TSanRead(&_impl_);
19308   return _impl_.deprecated_;
19309 }
19310 inline void EnumOptions::_internal_set_deprecated(bool value) {
19311   ::google::protobuf::internal::TSanWrite(&_impl_);
19312   _impl_.deprecated_ = value;
19313 }
19314 
19315 // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
19316 inline bool EnumOptions::has_deprecated_legacy_json_field_conflicts() const {
19317   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
19318   return value;
19319 }
19320 inline void EnumOptions::clear_deprecated_legacy_json_field_conflicts() {
19321   ::google::protobuf::internal::TSanWrite(&_impl_);
19322   _impl_.deprecated_legacy_json_field_conflicts_ = false;
19323   _impl_._has_bits_[0] &= ~0x00000008U;
19324 }
19325 inline bool EnumOptions::deprecated_legacy_json_field_conflicts() const {
19326   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts)
19327   return _internal_deprecated_legacy_json_field_conflicts();
19328 }
19329 inline void EnumOptions::set_deprecated_legacy_json_field_conflicts(bool value) {
19330   _internal_set_deprecated_legacy_json_field_conflicts(value);
19331   _impl_._has_bits_[0] |= 0x00000008U;
19332   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts)
19333 }
19334 inline bool EnumOptions::_internal_deprecated_legacy_json_field_conflicts() const {
19335   ::google::protobuf::internal::TSanRead(&_impl_);
19336   return _impl_.deprecated_legacy_json_field_conflicts_;
19337 }
19338 inline void EnumOptions::_internal_set_deprecated_legacy_json_field_conflicts(bool value) {
19339   ::google::protobuf::internal::TSanWrite(&_impl_);
19340   _impl_.deprecated_legacy_json_field_conflicts_ = value;
19341 }
19342 
19343 // optional .google.protobuf.FeatureSet features = 7;
19344 inline bool EnumOptions::has_features() const {
19345   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
19346   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
19347   return value;
19348 }
19349 inline void EnumOptions::clear_features() {
19350   ::google::protobuf::internal::TSanWrite(&_impl_);
19351   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
19352   _impl_._has_bits_[0] &= ~0x00000001U;
19353 }
19354 inline const ::google::protobuf::FeatureSet& EnumOptions::_internal_features() const {
19355   ::google::protobuf::internal::TSanRead(&_impl_);
19356   const ::google::protobuf::FeatureSet* p = _impl_.features_;
19357   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
19358 }
19359 inline const ::google::protobuf::FeatureSet& EnumOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
19360   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.features)
19361   return _internal_features();
19362 }
19363 inline void EnumOptions::unsafe_arena_set_allocated_features(
19364     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
19365   ::google::protobuf::internal::TSanWrite(&_impl_);
19366   if (GetArena() == nullptr) {
19367     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
19368   }
19369   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19370   if (value != nullptr) {
19371     _impl_._has_bits_[0] |= 0x00000001U;
19372   } else {
19373     _impl_._has_bits_[0] &= ~0x00000001U;
19374   }
19375   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumOptions.features)
19376 }
19377 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE EnumOptions::release_features() {
19378   ::google::protobuf::internal::TSanWrite(&_impl_);
19379 
19380   _impl_._has_bits_[0] &= ~0x00000001U;
19381   ::google::protobuf::FeatureSet* released = _impl_.features_;
19382   _impl_.features_ = nullptr;
19383   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
19384     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
19385     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19386     if (GetArena() == nullptr) {
19387       delete old;
19388     }
19389   } else {
19390     if (GetArena() != nullptr) {
19391       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19392     }
19393   }
19394   return released;
19395 }
19396 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE EnumOptions::unsafe_arena_release_features() {
19397   ::google::protobuf::internal::TSanWrite(&_impl_);
19398   // @@protoc_insertion_point(field_release:google.protobuf.EnumOptions.features)
19399 
19400   _impl_._has_bits_[0] &= ~0x00000001U;
19401   ::google::protobuf::FeatureSet* temp = _impl_.features_;
19402   _impl_.features_ = nullptr;
19403   return temp;
19404 }
19405 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL EnumOptions::_internal_mutable_features() {
19406   ::google::protobuf::internal::TSanWrite(&_impl_);
19407   if (_impl_.features_ == nullptr) {
19408     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
19409     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
19410   }
19411   return _impl_.features_;
19412 }
19413 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL EnumOptions::mutable_features()
19414     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19415   _impl_._has_bits_[0] |= 0x00000001U;
19416   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
19417   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumOptions.features)
19418   return _msg;
19419 }
19420 inline void EnumOptions::set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
19421   ::google::protobuf::Arena* message_arena = GetArena();
19422   ::google::protobuf::internal::TSanWrite(&_impl_);
19423   if (message_arena == nullptr) {
19424     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
19425   }
19426 
19427   if (value != nullptr) {
19428     ::google::protobuf::Arena* submessage_arena = value->GetArena();
19429     if (message_arena != submessage_arena) {
19430       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
19431     }
19432     _impl_._has_bits_[0] |= 0x00000001U;
19433   } else {
19434     _impl_._has_bits_[0] &= ~0x00000001U;
19435   }
19436 
19437   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19438   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumOptions.features)
19439 }
19440 
19441 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
19442 inline int EnumOptions::_internal_uninterpreted_option_size() const {
19443   return _internal_uninterpreted_option().size();
19444 }
19445 inline int EnumOptions::uninterpreted_option_size() const {
19446   return _internal_uninterpreted_option_size();
19447 }
19448 inline void EnumOptions::clear_uninterpreted_option() {
19449   ::google::protobuf::internal::TSanWrite(&_impl_);
19450   _impl_.uninterpreted_option_.Clear();
19451 }
19452 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL EnumOptions::mutable_uninterpreted_option(int index)
19453     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19454   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumOptions.uninterpreted_option)
19455   return _internal_mutable_uninterpreted_option()->Mutable(index);
19456 }
19457 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL EnumOptions::mutable_uninterpreted_option()
19458     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19459   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumOptions.uninterpreted_option)
19460   ::google::protobuf::internal::TSanWrite(&_impl_);
19461   return _internal_mutable_uninterpreted_option();
19462 }
19463 inline const ::google::protobuf::UninterpretedOption& EnumOptions::uninterpreted_option(int index) const
19464     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19465   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.uninterpreted_option)
19466   return _internal_uninterpreted_option().Get(index);
19467 }
19468 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL EnumOptions::add_uninterpreted_option()
19469     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19470   ::google::protobuf::internal::TSanWrite(&_impl_);
19471   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
19472   // @@protoc_insertion_point(field_add:google.protobuf.EnumOptions.uninterpreted_option)
19473   return _add;
19474 }
19475 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& EnumOptions::uninterpreted_option() const
19476     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19477   // @@protoc_insertion_point(field_list:google.protobuf.EnumOptions.uninterpreted_option)
19478   return _internal_uninterpreted_option();
19479 }
19480 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
19481 EnumOptions::_internal_uninterpreted_option() const {
19482   ::google::protobuf::internal::TSanRead(&_impl_);
19483   return _impl_.uninterpreted_option_;
19484 }
19485 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL
19486 EnumOptions::_internal_mutable_uninterpreted_option() {
19487   ::google::protobuf::internal::TSanRead(&_impl_);
19488   return &_impl_.uninterpreted_option_;
19489 }
19490 
19491 // -------------------------------------------------------------------
19492 
19493 // EnumValueOptions
19494 
19495 // optional bool deprecated = 1 [default = false];
19496 inline bool EnumValueOptions::has_deprecated() const {
19497   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
19498   return value;
19499 }
19500 inline void EnumValueOptions::clear_deprecated() {
19501   ::google::protobuf::internal::TSanWrite(&_impl_);
19502   _impl_.deprecated_ = false;
19503   _impl_._has_bits_[0] &= ~0x00000004U;
19504 }
19505 inline bool EnumValueOptions::deprecated() const {
19506   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.deprecated)
19507   return _internal_deprecated();
19508 }
19509 inline void EnumValueOptions::set_deprecated(bool value) {
19510   _internal_set_deprecated(value);
19511   _impl_._has_bits_[0] |= 0x00000004U;
19512   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueOptions.deprecated)
19513 }
19514 inline bool EnumValueOptions::_internal_deprecated() const {
19515   ::google::protobuf::internal::TSanRead(&_impl_);
19516   return _impl_.deprecated_;
19517 }
19518 inline void EnumValueOptions::_internal_set_deprecated(bool value) {
19519   ::google::protobuf::internal::TSanWrite(&_impl_);
19520   _impl_.deprecated_ = value;
19521 }
19522 
19523 // optional .google.protobuf.FeatureSet features = 2;
19524 inline bool EnumValueOptions::has_features() const {
19525   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
19526   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
19527   return value;
19528 }
19529 inline void EnumValueOptions::clear_features() {
19530   ::google::protobuf::internal::TSanWrite(&_impl_);
19531   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
19532   _impl_._has_bits_[0] &= ~0x00000001U;
19533 }
19534 inline const ::google::protobuf::FeatureSet& EnumValueOptions::_internal_features() const {
19535   ::google::protobuf::internal::TSanRead(&_impl_);
19536   const ::google::protobuf::FeatureSet* p = _impl_.features_;
19537   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
19538 }
19539 inline const ::google::protobuf::FeatureSet& EnumValueOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
19540   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.features)
19541   return _internal_features();
19542 }
19543 inline void EnumValueOptions::unsafe_arena_set_allocated_features(
19544     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
19545   ::google::protobuf::internal::TSanWrite(&_impl_);
19546   if (GetArena() == nullptr) {
19547     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
19548   }
19549   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19550   if (value != nullptr) {
19551     _impl_._has_bits_[0] |= 0x00000001U;
19552   } else {
19553     _impl_._has_bits_[0] &= ~0x00000001U;
19554   }
19555   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumValueOptions.features)
19556 }
19557 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE EnumValueOptions::release_features() {
19558   ::google::protobuf::internal::TSanWrite(&_impl_);
19559 
19560   _impl_._has_bits_[0] &= ~0x00000001U;
19561   ::google::protobuf::FeatureSet* released = _impl_.features_;
19562   _impl_.features_ = nullptr;
19563   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
19564     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
19565     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19566     if (GetArena() == nullptr) {
19567       delete old;
19568     }
19569   } else {
19570     if (GetArena() != nullptr) {
19571       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19572     }
19573   }
19574   return released;
19575 }
19576 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE EnumValueOptions::unsafe_arena_release_features() {
19577   ::google::protobuf::internal::TSanWrite(&_impl_);
19578   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueOptions.features)
19579 
19580   _impl_._has_bits_[0] &= ~0x00000001U;
19581   ::google::protobuf::FeatureSet* temp = _impl_.features_;
19582   _impl_.features_ = nullptr;
19583   return temp;
19584 }
19585 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL EnumValueOptions::_internal_mutable_features() {
19586   ::google::protobuf::internal::TSanWrite(&_impl_);
19587   if (_impl_.features_ == nullptr) {
19588     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
19589     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
19590   }
19591   return _impl_.features_;
19592 }
19593 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL EnumValueOptions::mutable_features()
19594     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19595   _impl_._has_bits_[0] |= 0x00000001U;
19596   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
19597   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueOptions.features)
19598   return _msg;
19599 }
19600 inline void EnumValueOptions::set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
19601   ::google::protobuf::Arena* message_arena = GetArena();
19602   ::google::protobuf::internal::TSanWrite(&_impl_);
19603   if (message_arena == nullptr) {
19604     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
19605   }
19606 
19607   if (value != nullptr) {
19608     ::google::protobuf::Arena* submessage_arena = value->GetArena();
19609     if (message_arena != submessage_arena) {
19610       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
19611     }
19612     _impl_._has_bits_[0] |= 0x00000001U;
19613   } else {
19614     _impl_._has_bits_[0] &= ~0x00000001U;
19615   }
19616 
19617   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19618   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueOptions.features)
19619 }
19620 
19621 // optional bool debug_redact = 3 [default = false];
19622 inline bool EnumValueOptions::has_debug_redact() const {
19623   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
19624   return value;
19625 }
19626 inline void EnumValueOptions::clear_debug_redact() {
19627   ::google::protobuf::internal::TSanWrite(&_impl_);
19628   _impl_.debug_redact_ = false;
19629   _impl_._has_bits_[0] &= ~0x00000008U;
19630 }
19631 inline bool EnumValueOptions::debug_redact() const {
19632   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.debug_redact)
19633   return _internal_debug_redact();
19634 }
19635 inline void EnumValueOptions::set_debug_redact(bool value) {
19636   _internal_set_debug_redact(value);
19637   _impl_._has_bits_[0] |= 0x00000008U;
19638   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueOptions.debug_redact)
19639 }
19640 inline bool EnumValueOptions::_internal_debug_redact() const {
19641   ::google::protobuf::internal::TSanRead(&_impl_);
19642   return _impl_.debug_redact_;
19643 }
19644 inline void EnumValueOptions::_internal_set_debug_redact(bool value) {
19645   ::google::protobuf::internal::TSanWrite(&_impl_);
19646   _impl_.debug_redact_ = value;
19647 }
19648 
19649 // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
19650 inline bool EnumValueOptions::has_feature_support() const {
19651   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
19652   PROTOBUF_ASSUME(!value || _impl_.feature_support_ != nullptr);
19653   return value;
19654 }
19655 inline void EnumValueOptions::clear_feature_support() {
19656   ::google::protobuf::internal::TSanWrite(&_impl_);
19657   if (_impl_.feature_support_ != nullptr) _impl_.feature_support_->Clear();
19658   _impl_._has_bits_[0] &= ~0x00000002U;
19659 }
19660 inline const ::google::protobuf::FieldOptions_FeatureSupport& EnumValueOptions::_internal_feature_support() const {
19661   ::google::protobuf::internal::TSanRead(&_impl_);
19662   const ::google::protobuf::FieldOptions_FeatureSupport* p = _impl_.feature_support_;
19663   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FieldOptions_FeatureSupport&>(::google::protobuf::_FieldOptions_FeatureSupport_default_instance_);
19664 }
19665 inline const ::google::protobuf::FieldOptions_FeatureSupport& EnumValueOptions::feature_support() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
19666   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.feature_support)
19667   return _internal_feature_support();
19668 }
19669 inline void EnumValueOptions::unsafe_arena_set_allocated_feature_support(
19670     ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE value) {
19671   ::google::protobuf::internal::TSanWrite(&_impl_);
19672   if (GetArena() == nullptr) {
19673     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.feature_support_);
19674   }
19675   _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value);
19676   if (value != nullptr) {
19677     _impl_._has_bits_[0] |= 0x00000002U;
19678   } else {
19679     _impl_._has_bits_[0] &= ~0x00000002U;
19680   }
19681   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumValueOptions.feature_support)
19682 }
19683 inline ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE EnumValueOptions::release_feature_support() {
19684   ::google::protobuf::internal::TSanWrite(&_impl_);
19685 
19686   _impl_._has_bits_[0] &= ~0x00000002U;
19687   ::google::protobuf::FieldOptions_FeatureSupport* released = _impl_.feature_support_;
19688   _impl_.feature_support_ = nullptr;
19689   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
19690     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
19691     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19692     if (GetArena() == nullptr) {
19693       delete old;
19694     }
19695   } else {
19696     if (GetArena() != nullptr) {
19697       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19698     }
19699   }
19700   return released;
19701 }
19702 inline ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE EnumValueOptions::unsafe_arena_release_feature_support() {
19703   ::google::protobuf::internal::TSanWrite(&_impl_);
19704   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueOptions.feature_support)
19705 
19706   _impl_._has_bits_[0] &= ~0x00000002U;
19707   ::google::protobuf::FieldOptions_FeatureSupport* temp = _impl_.feature_support_;
19708   _impl_.feature_support_ = nullptr;
19709   return temp;
19710 }
19711 inline ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NONNULL EnumValueOptions::_internal_mutable_feature_support() {
19712   ::google::protobuf::internal::TSanWrite(&_impl_);
19713   if (_impl_.feature_support_ == nullptr) {
19714     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FieldOptions_FeatureSupport>(GetArena());
19715     _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(p);
19716   }
19717   return _impl_.feature_support_;
19718 }
19719 inline ::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NONNULL EnumValueOptions::mutable_feature_support()
19720     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19721   _impl_._has_bits_[0] |= 0x00000002U;
19722   ::google::protobuf::FieldOptions_FeatureSupport* _msg = _internal_mutable_feature_support();
19723   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueOptions.feature_support)
19724   return _msg;
19725 }
19726 inline void EnumValueOptions::set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* PROTOBUF_NULLABLE value) {
19727   ::google::protobuf::Arena* message_arena = GetArena();
19728   ::google::protobuf::internal::TSanWrite(&_impl_);
19729   if (message_arena == nullptr) {
19730     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.feature_support_);
19731   }
19732 
19733   if (value != nullptr) {
19734     ::google::protobuf::Arena* submessage_arena = value->GetArena();
19735     if (message_arena != submessage_arena) {
19736       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
19737     }
19738     _impl_._has_bits_[0] |= 0x00000002U;
19739   } else {
19740     _impl_._has_bits_[0] &= ~0x00000002U;
19741   }
19742 
19743   _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value);
19744   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueOptions.feature_support)
19745 }
19746 
19747 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
19748 inline int EnumValueOptions::_internal_uninterpreted_option_size() const {
19749   return _internal_uninterpreted_option().size();
19750 }
19751 inline int EnumValueOptions::uninterpreted_option_size() const {
19752   return _internal_uninterpreted_option_size();
19753 }
19754 inline void EnumValueOptions::clear_uninterpreted_option() {
19755   ::google::protobuf::internal::TSanWrite(&_impl_);
19756   _impl_.uninterpreted_option_.Clear();
19757 }
19758 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL EnumValueOptions::mutable_uninterpreted_option(int index)
19759     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19760   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueOptions.uninterpreted_option)
19761   return _internal_mutable_uninterpreted_option()->Mutable(index);
19762 }
19763 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL EnumValueOptions::mutable_uninterpreted_option()
19764     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19765   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumValueOptions.uninterpreted_option)
19766   ::google::protobuf::internal::TSanWrite(&_impl_);
19767   return _internal_mutable_uninterpreted_option();
19768 }
19769 inline const ::google::protobuf::UninterpretedOption& EnumValueOptions::uninterpreted_option(int index) const
19770     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19771   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.uninterpreted_option)
19772   return _internal_uninterpreted_option().Get(index);
19773 }
19774 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL EnumValueOptions::add_uninterpreted_option()
19775     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19776   ::google::protobuf::internal::TSanWrite(&_impl_);
19777   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
19778   // @@protoc_insertion_point(field_add:google.protobuf.EnumValueOptions.uninterpreted_option)
19779   return _add;
19780 }
19781 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& EnumValueOptions::uninterpreted_option() const
19782     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19783   // @@protoc_insertion_point(field_list:google.protobuf.EnumValueOptions.uninterpreted_option)
19784   return _internal_uninterpreted_option();
19785 }
19786 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
19787 EnumValueOptions::_internal_uninterpreted_option() const {
19788   ::google::protobuf::internal::TSanRead(&_impl_);
19789   return _impl_.uninterpreted_option_;
19790 }
19791 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL
19792 EnumValueOptions::_internal_mutable_uninterpreted_option() {
19793   ::google::protobuf::internal::TSanRead(&_impl_);
19794   return &_impl_.uninterpreted_option_;
19795 }
19796 
19797 // -------------------------------------------------------------------
19798 
19799 // ServiceOptions
19800 
19801 // optional .google.protobuf.FeatureSet features = 34;
19802 inline bool ServiceOptions::has_features() const {
19803   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
19804   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
19805   return value;
19806 }
19807 inline void ServiceOptions::clear_features() {
19808   ::google::protobuf::internal::TSanWrite(&_impl_);
19809   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
19810   _impl_._has_bits_[0] &= ~0x00000001U;
19811 }
19812 inline const ::google::protobuf::FeatureSet& ServiceOptions::_internal_features() const {
19813   ::google::protobuf::internal::TSanRead(&_impl_);
19814   const ::google::protobuf::FeatureSet* p = _impl_.features_;
19815   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
19816 }
19817 inline const ::google::protobuf::FeatureSet& ServiceOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
19818   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.features)
19819   return _internal_features();
19820 }
19821 inline void ServiceOptions::unsafe_arena_set_allocated_features(
19822     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
19823   ::google::protobuf::internal::TSanWrite(&_impl_);
19824   if (GetArena() == nullptr) {
19825     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
19826   }
19827   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19828   if (value != nullptr) {
19829     _impl_._has_bits_[0] |= 0x00000001U;
19830   } else {
19831     _impl_._has_bits_[0] &= ~0x00000001U;
19832   }
19833   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.ServiceOptions.features)
19834 }
19835 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE ServiceOptions::release_features() {
19836   ::google::protobuf::internal::TSanWrite(&_impl_);
19837 
19838   _impl_._has_bits_[0] &= ~0x00000001U;
19839   ::google::protobuf::FeatureSet* released = _impl_.features_;
19840   _impl_.features_ = nullptr;
19841   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
19842     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
19843     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19844     if (GetArena() == nullptr) {
19845       delete old;
19846     }
19847   } else {
19848     if (GetArena() != nullptr) {
19849       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19850     }
19851   }
19852   return released;
19853 }
19854 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE ServiceOptions::unsafe_arena_release_features() {
19855   ::google::protobuf::internal::TSanWrite(&_impl_);
19856   // @@protoc_insertion_point(field_release:google.protobuf.ServiceOptions.features)
19857 
19858   _impl_._has_bits_[0] &= ~0x00000001U;
19859   ::google::protobuf::FeatureSet* temp = _impl_.features_;
19860   _impl_.features_ = nullptr;
19861   return temp;
19862 }
19863 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL ServiceOptions::_internal_mutable_features() {
19864   ::google::protobuf::internal::TSanWrite(&_impl_);
19865   if (_impl_.features_ == nullptr) {
19866     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
19867     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
19868   }
19869   return _impl_.features_;
19870 }
19871 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL ServiceOptions::mutable_features()
19872     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19873   _impl_._has_bits_[0] |= 0x00000001U;
19874   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
19875   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceOptions.features)
19876   return _msg;
19877 }
19878 inline void ServiceOptions::set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
19879   ::google::protobuf::Arena* message_arena = GetArena();
19880   ::google::protobuf::internal::TSanWrite(&_impl_);
19881   if (message_arena == nullptr) {
19882     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
19883   }
19884 
19885   if (value != nullptr) {
19886     ::google::protobuf::Arena* submessage_arena = value->GetArena();
19887     if (message_arena != submessage_arena) {
19888       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
19889     }
19890     _impl_._has_bits_[0] |= 0x00000001U;
19891   } else {
19892     _impl_._has_bits_[0] &= ~0x00000001U;
19893   }
19894 
19895   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19896   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceOptions.features)
19897 }
19898 
19899 // optional bool deprecated = 33 [default = false];
19900 inline bool ServiceOptions::has_deprecated() const {
19901   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
19902   return value;
19903 }
19904 inline void ServiceOptions::clear_deprecated() {
19905   ::google::protobuf::internal::TSanWrite(&_impl_);
19906   _impl_.deprecated_ = false;
19907   _impl_._has_bits_[0] &= ~0x00000002U;
19908 }
19909 inline bool ServiceOptions::deprecated() const {
19910   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.deprecated)
19911   return _internal_deprecated();
19912 }
19913 inline void ServiceOptions::set_deprecated(bool value) {
19914   _internal_set_deprecated(value);
19915   _impl_._has_bits_[0] |= 0x00000002U;
19916   // @@protoc_insertion_point(field_set:google.protobuf.ServiceOptions.deprecated)
19917 }
19918 inline bool ServiceOptions::_internal_deprecated() const {
19919   ::google::protobuf::internal::TSanRead(&_impl_);
19920   return _impl_.deprecated_;
19921 }
19922 inline void ServiceOptions::_internal_set_deprecated(bool value) {
19923   ::google::protobuf::internal::TSanWrite(&_impl_);
19924   _impl_.deprecated_ = value;
19925 }
19926 
19927 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
19928 inline int ServiceOptions::_internal_uninterpreted_option_size() const {
19929   return _internal_uninterpreted_option().size();
19930 }
19931 inline int ServiceOptions::uninterpreted_option_size() const {
19932   return _internal_uninterpreted_option_size();
19933 }
19934 inline void ServiceOptions::clear_uninterpreted_option() {
19935   ::google::protobuf::internal::TSanWrite(&_impl_);
19936   _impl_.uninterpreted_option_.Clear();
19937 }
19938 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL ServiceOptions::mutable_uninterpreted_option(int index)
19939     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19940   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceOptions.uninterpreted_option)
19941   return _internal_mutable_uninterpreted_option()->Mutable(index);
19942 }
19943 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL ServiceOptions::mutable_uninterpreted_option()
19944     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19945   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceOptions.uninterpreted_option)
19946   ::google::protobuf::internal::TSanWrite(&_impl_);
19947   return _internal_mutable_uninterpreted_option();
19948 }
19949 inline const ::google::protobuf::UninterpretedOption& ServiceOptions::uninterpreted_option(int index) const
19950     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19951   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.uninterpreted_option)
19952   return _internal_uninterpreted_option().Get(index);
19953 }
19954 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL ServiceOptions::add_uninterpreted_option()
19955     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19956   ::google::protobuf::internal::TSanWrite(&_impl_);
19957   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
19958   // @@protoc_insertion_point(field_add:google.protobuf.ServiceOptions.uninterpreted_option)
19959   return _add;
19960 }
19961 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& ServiceOptions::uninterpreted_option() const
19962     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19963   // @@protoc_insertion_point(field_list:google.protobuf.ServiceOptions.uninterpreted_option)
19964   return _internal_uninterpreted_option();
19965 }
19966 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
19967 ServiceOptions::_internal_uninterpreted_option() const {
19968   ::google::protobuf::internal::TSanRead(&_impl_);
19969   return _impl_.uninterpreted_option_;
19970 }
19971 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL
19972 ServiceOptions::_internal_mutable_uninterpreted_option() {
19973   ::google::protobuf::internal::TSanRead(&_impl_);
19974   return &_impl_.uninterpreted_option_;
19975 }
19976 
19977 // -------------------------------------------------------------------
19978 
19979 // MethodOptions
19980 
19981 // optional bool deprecated = 33 [default = false];
19982 inline bool MethodOptions::has_deprecated() const {
19983   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
19984   return value;
19985 }
19986 inline void MethodOptions::clear_deprecated() {
19987   ::google::protobuf::internal::TSanWrite(&_impl_);
19988   _impl_.deprecated_ = false;
19989   _impl_._has_bits_[0] &= ~0x00000002U;
19990 }
19991 inline bool MethodOptions::deprecated() const {
19992   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.deprecated)
19993   return _internal_deprecated();
19994 }
19995 inline void MethodOptions::set_deprecated(bool value) {
19996   _internal_set_deprecated(value);
19997   _impl_._has_bits_[0] |= 0x00000002U;
19998   // @@protoc_insertion_point(field_set:google.protobuf.MethodOptions.deprecated)
19999 }
20000 inline bool MethodOptions::_internal_deprecated() const {
20001   ::google::protobuf::internal::TSanRead(&_impl_);
20002   return _impl_.deprecated_;
20003 }
20004 inline void MethodOptions::_internal_set_deprecated(bool value) {
20005   ::google::protobuf::internal::TSanWrite(&_impl_);
20006   _impl_.deprecated_ = value;
20007 }
20008 
20009 // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
20010 inline bool MethodOptions::has_idempotency_level() const {
20011   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
20012   return value;
20013 }
20014 inline void MethodOptions::clear_idempotency_level() {
20015   ::google::protobuf::internal::TSanWrite(&_impl_);
20016   _impl_.idempotency_level_ = 0;
20017   _impl_._has_bits_[0] &= ~0x00000004U;
20018 }
20019 inline ::google::protobuf::MethodOptions_IdempotencyLevel MethodOptions::idempotency_level() const {
20020   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.idempotency_level)
20021   return _internal_idempotency_level();
20022 }
20023 inline void MethodOptions::set_idempotency_level(::google::protobuf::MethodOptions_IdempotencyLevel value) {
20024   _internal_set_idempotency_level(value);
20025   _impl_._has_bits_[0] |= 0x00000004U;
20026   // @@protoc_insertion_point(field_set:google.protobuf.MethodOptions.idempotency_level)
20027 }
20028 inline ::google::protobuf::MethodOptions_IdempotencyLevel MethodOptions::_internal_idempotency_level() const {
20029   ::google::protobuf::internal::TSanRead(&_impl_);
20030   return static_cast<::google::protobuf::MethodOptions_IdempotencyLevel>(_impl_.idempotency_level_);
20031 }
20032 inline void MethodOptions::_internal_set_idempotency_level(::google::protobuf::MethodOptions_IdempotencyLevel value) {
20033   ::google::protobuf::internal::TSanWrite(&_impl_);
20034 
20035                                           assert(::google::protobuf::internal::ValidateEnum(
20036                                               value, ::google::protobuf::MethodOptions_IdempotencyLevel_internal_data_));
20037                                           _impl_.idempotency_level_ = value;
20038 }
20039 
20040 // optional .google.protobuf.FeatureSet features = 35;
20041 inline bool MethodOptions::has_features() const {
20042   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
20043   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
20044   return value;
20045 }
20046 inline void MethodOptions::clear_features() {
20047   ::google::protobuf::internal::TSanWrite(&_impl_);
20048   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
20049   _impl_._has_bits_[0] &= ~0x00000001U;
20050 }
20051 inline const ::google::protobuf::FeatureSet& MethodOptions::_internal_features() const {
20052   ::google::protobuf::internal::TSanRead(&_impl_);
20053   const ::google::protobuf::FeatureSet* p = _impl_.features_;
20054   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
20055 }
20056 inline const ::google::protobuf::FeatureSet& MethodOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
20057   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.features)
20058   return _internal_features();
20059 }
20060 inline void MethodOptions::unsafe_arena_set_allocated_features(
20061     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
20062   ::google::protobuf::internal::TSanWrite(&_impl_);
20063   if (GetArena() == nullptr) {
20064     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
20065   }
20066   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
20067   if (value != nullptr) {
20068     _impl_._has_bits_[0] |= 0x00000001U;
20069   } else {
20070     _impl_._has_bits_[0] &= ~0x00000001U;
20071   }
20072   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.MethodOptions.features)
20073 }
20074 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE MethodOptions::release_features() {
20075   ::google::protobuf::internal::TSanWrite(&_impl_);
20076 
20077   _impl_._has_bits_[0] &= ~0x00000001U;
20078   ::google::protobuf::FeatureSet* released = _impl_.features_;
20079   _impl_.features_ = nullptr;
20080   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
20081     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
20082     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
20083     if (GetArena() == nullptr) {
20084       delete old;
20085     }
20086   } else {
20087     if (GetArena() != nullptr) {
20088       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
20089     }
20090   }
20091   return released;
20092 }
20093 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE MethodOptions::unsafe_arena_release_features() {
20094   ::google::protobuf::internal::TSanWrite(&_impl_);
20095   // @@protoc_insertion_point(field_release:google.protobuf.MethodOptions.features)
20096 
20097   _impl_._has_bits_[0] &= ~0x00000001U;
20098   ::google::protobuf::FeatureSet* temp = _impl_.features_;
20099   _impl_.features_ = nullptr;
20100   return temp;
20101 }
20102 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL MethodOptions::_internal_mutable_features() {
20103   ::google::protobuf::internal::TSanWrite(&_impl_);
20104   if (_impl_.features_ == nullptr) {
20105     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
20106     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
20107   }
20108   return _impl_.features_;
20109 }
20110 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL MethodOptions::mutable_features()
20111     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20112   _impl_._has_bits_[0] |= 0x00000001U;
20113   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
20114   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodOptions.features)
20115   return _msg;
20116 }
20117 inline void MethodOptions::set_allocated_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
20118   ::google::protobuf::Arena* message_arena = GetArena();
20119   ::google::protobuf::internal::TSanWrite(&_impl_);
20120   if (message_arena == nullptr) {
20121     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
20122   }
20123 
20124   if (value != nullptr) {
20125     ::google::protobuf::Arena* submessage_arena = value->GetArena();
20126     if (message_arena != submessage_arena) {
20127       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
20128     }
20129     _impl_._has_bits_[0] |= 0x00000001U;
20130   } else {
20131     _impl_._has_bits_[0] &= ~0x00000001U;
20132   }
20133 
20134   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
20135   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodOptions.features)
20136 }
20137 
20138 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
20139 inline int MethodOptions::_internal_uninterpreted_option_size() const {
20140   return _internal_uninterpreted_option().size();
20141 }
20142 inline int MethodOptions::uninterpreted_option_size() const {
20143   return _internal_uninterpreted_option_size();
20144 }
20145 inline void MethodOptions::clear_uninterpreted_option() {
20146   ::google::protobuf::internal::TSanWrite(&_impl_);
20147   _impl_.uninterpreted_option_.Clear();
20148 }
20149 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL MethodOptions::mutable_uninterpreted_option(int index)
20150     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20151   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodOptions.uninterpreted_option)
20152   return _internal_mutable_uninterpreted_option()->Mutable(index);
20153 }
20154 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL MethodOptions::mutable_uninterpreted_option()
20155     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20156   // @@protoc_insertion_point(field_mutable_list:google.protobuf.MethodOptions.uninterpreted_option)
20157   ::google::protobuf::internal::TSanWrite(&_impl_);
20158   return _internal_mutable_uninterpreted_option();
20159 }
20160 inline const ::google::protobuf::UninterpretedOption& MethodOptions::uninterpreted_option(int index) const
20161     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20162   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.uninterpreted_option)
20163   return _internal_uninterpreted_option().Get(index);
20164 }
20165 inline ::google::protobuf::UninterpretedOption* PROTOBUF_NONNULL MethodOptions::add_uninterpreted_option()
20166     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20167   ::google::protobuf::internal::TSanWrite(&_impl_);
20168   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
20169   // @@protoc_insertion_point(field_add:google.protobuf.MethodOptions.uninterpreted_option)
20170   return _add;
20171 }
20172 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& MethodOptions::uninterpreted_option() const
20173     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20174   // @@protoc_insertion_point(field_list:google.protobuf.MethodOptions.uninterpreted_option)
20175   return _internal_uninterpreted_option();
20176 }
20177 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
20178 MethodOptions::_internal_uninterpreted_option() const {
20179   ::google::protobuf::internal::TSanRead(&_impl_);
20180   return _impl_.uninterpreted_option_;
20181 }
20182 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* PROTOBUF_NONNULL
20183 MethodOptions::_internal_mutable_uninterpreted_option() {
20184   ::google::protobuf::internal::TSanRead(&_impl_);
20185   return &_impl_.uninterpreted_option_;
20186 }
20187 
20188 // -------------------------------------------------------------------
20189 
20190 // UninterpretedOption_NamePart
20191 
20192 // required string name_part = 1;
20193 inline bool UninterpretedOption_NamePart::has_name_part() const {
20194   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
20195   return value;
20196 }
20197 inline void UninterpretedOption_NamePart::clear_name_part() {
20198   ::google::protobuf::internal::TSanWrite(&_impl_);
20199   _impl_.name_part_.ClearToEmpty();
20200   _impl_._has_bits_[0] &= ~0x00000001U;
20201 }
20202 inline const ::std::string& UninterpretedOption_NamePart::name_part() const
20203     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20204   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.name_part)
20205   return _internal_name_part();
20206 }
20207 template <typename Arg_, typename... Args_>
20208 PROTOBUF_ALWAYS_INLINE void UninterpretedOption_NamePart::set_name_part(Arg_&& arg, Args_... args) {
20209   ::google::protobuf::internal::TSanWrite(&_impl_);
20210   _impl_._has_bits_[0] |= 0x00000001U;
20211   _impl_.name_part_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
20212   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.name_part)
20213 }
20214 inline ::std::string* PROTOBUF_NONNULL UninterpretedOption_NamePart::mutable_name_part()
20215     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20216   ::std::string* _s = _internal_mutable_name_part();
20217   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.NamePart.name_part)
20218   return _s;
20219 }
20220 inline const ::std::string& UninterpretedOption_NamePart::_internal_name_part() const {
20221   ::google::protobuf::internal::TSanRead(&_impl_);
20222   return _impl_.name_part_.Get();
20223 }
20224 inline void UninterpretedOption_NamePart::_internal_set_name_part(const ::std::string& value) {
20225   ::google::protobuf::internal::TSanWrite(&_impl_);
20226   _impl_._has_bits_[0] |= 0x00000001U;
20227   _impl_.name_part_.Set(value, GetArena());
20228 }
20229 inline ::std::string* PROTOBUF_NONNULL UninterpretedOption_NamePart::_internal_mutable_name_part() {
20230   ::google::protobuf::internal::TSanWrite(&_impl_);
20231   _impl_._has_bits_[0] |= 0x00000001U;
20232   return _impl_.name_part_.Mutable( GetArena());
20233 }
20234 inline ::std::string* PROTOBUF_NULLABLE UninterpretedOption_NamePart::release_name_part() {
20235   ::google::protobuf::internal::TSanWrite(&_impl_);
20236   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.NamePart.name_part)
20237   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
20238     return nullptr;
20239   }
20240   _impl_._has_bits_[0] &= ~0x00000001U;
20241   auto* released = _impl_.name_part_.Release();
20242   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
20243     _impl_.name_part_.Set("", GetArena());
20244   }
20245   return released;
20246 }
20247 inline void UninterpretedOption_NamePart::set_allocated_name_part(::std::string* PROTOBUF_NULLABLE value) {
20248   ::google::protobuf::internal::TSanWrite(&_impl_);
20249   if (value != nullptr) {
20250     _impl_._has_bits_[0] |= 0x00000001U;
20251   } else {
20252     _impl_._has_bits_[0] &= ~0x00000001U;
20253   }
20254   _impl_.name_part_.SetAllocated(value, GetArena());
20255   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_part_.IsDefault()) {
20256     _impl_.name_part_.Set("", GetArena());
20257   }
20258   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.NamePart.name_part)
20259 }
20260 
20261 // required bool is_extension = 2;
20262 inline bool UninterpretedOption_NamePart::has_is_extension() const {
20263   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
20264   return value;
20265 }
20266 inline void UninterpretedOption_NamePart::clear_is_extension() {
20267   ::google::protobuf::internal::TSanWrite(&_impl_);
20268   _impl_.is_extension_ = false;
20269   _impl_._has_bits_[0] &= ~0x00000002U;
20270 }
20271 inline bool UninterpretedOption_NamePart::is_extension() const {
20272   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.is_extension)
20273   return _internal_is_extension();
20274 }
20275 inline void UninterpretedOption_NamePart::set_is_extension(bool value) {
20276   _internal_set_is_extension(value);
20277   _impl_._has_bits_[0] |= 0x00000002U;
20278   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.is_extension)
20279 }
20280 inline bool UninterpretedOption_NamePart::_internal_is_extension() const {
20281   ::google::protobuf::internal::TSanRead(&_impl_);
20282   return _impl_.is_extension_;
20283 }
20284 inline void UninterpretedOption_NamePart::_internal_set_is_extension(bool value) {
20285   ::google::protobuf::internal::TSanWrite(&_impl_);
20286   _impl_.is_extension_ = value;
20287 }
20288 
20289 // -------------------------------------------------------------------
20290 
20291 // UninterpretedOption
20292 
20293 // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
20294 inline int UninterpretedOption::_internal_name_size() const {
20295   return _internal_name().size();
20296 }
20297 inline int UninterpretedOption::name_size() const {
20298   return _internal_name_size();
20299 }
20300 inline void UninterpretedOption::clear_name() {
20301   ::google::protobuf::internal::TSanWrite(&_impl_);
20302   _impl_.name_.Clear();
20303 }
20304 inline ::google::protobuf::UninterpretedOption_NamePart* PROTOBUF_NONNULL UninterpretedOption::mutable_name(int index)
20305     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20306   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.name)
20307   return _internal_mutable_name()->Mutable(index);
20308 }
20309 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>* PROTOBUF_NONNULL UninterpretedOption::mutable_name()
20310     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20311   // @@protoc_insertion_point(field_mutable_list:google.protobuf.UninterpretedOption.name)
20312   ::google::protobuf::internal::TSanWrite(&_impl_);
20313   return _internal_mutable_name();
20314 }
20315 inline const ::google::protobuf::UninterpretedOption_NamePart& UninterpretedOption::name(int index) const
20316     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20317   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.name)
20318   return _internal_name().Get(index);
20319 }
20320 inline ::google::protobuf::UninterpretedOption_NamePart* PROTOBUF_NONNULL UninterpretedOption::add_name()
20321     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20322   ::google::protobuf::internal::TSanWrite(&_impl_);
20323   ::google::protobuf::UninterpretedOption_NamePart* _add = _internal_mutable_name()->Add();
20324   // @@protoc_insertion_point(field_add:google.protobuf.UninterpretedOption.name)
20325   return _add;
20326 }
20327 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>& UninterpretedOption::name() const
20328     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20329   // @@protoc_insertion_point(field_list:google.protobuf.UninterpretedOption.name)
20330   return _internal_name();
20331 }
20332 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>&
20333 UninterpretedOption::_internal_name() const {
20334   ::google::protobuf::internal::TSanRead(&_impl_);
20335   return _impl_.name_;
20336 }
20337 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>* PROTOBUF_NONNULL
20338 UninterpretedOption::_internal_mutable_name() {
20339   ::google::protobuf::internal::TSanRead(&_impl_);
20340   return &_impl_.name_;
20341 }
20342 
20343 // optional string identifier_value = 3;
20344 inline bool UninterpretedOption::has_identifier_value() const {
20345   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
20346   return value;
20347 }
20348 inline void UninterpretedOption::clear_identifier_value() {
20349   ::google::protobuf::internal::TSanWrite(&_impl_);
20350   _impl_.identifier_value_.ClearToEmpty();
20351   _impl_._has_bits_[0] &= ~0x00000001U;
20352 }
20353 inline const ::std::string& UninterpretedOption::identifier_value() const
20354     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20355   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.identifier_value)
20356   return _internal_identifier_value();
20357 }
20358 template <typename Arg_, typename... Args_>
20359 PROTOBUF_ALWAYS_INLINE void UninterpretedOption::set_identifier_value(Arg_&& arg, Args_... args) {
20360   ::google::protobuf::internal::TSanWrite(&_impl_);
20361   _impl_._has_bits_[0] |= 0x00000001U;
20362   _impl_.identifier_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
20363   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.identifier_value)
20364 }
20365 inline ::std::string* PROTOBUF_NONNULL UninterpretedOption::mutable_identifier_value()
20366     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20367   ::std::string* _s = _internal_mutable_identifier_value();
20368   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.identifier_value)
20369   return _s;
20370 }
20371 inline const ::std::string& UninterpretedOption::_internal_identifier_value() const {
20372   ::google::protobuf::internal::TSanRead(&_impl_);
20373   return _impl_.identifier_value_.Get();
20374 }
20375 inline void UninterpretedOption::_internal_set_identifier_value(const ::std::string& value) {
20376   ::google::protobuf::internal::TSanWrite(&_impl_);
20377   _impl_._has_bits_[0] |= 0x00000001U;
20378   _impl_.identifier_value_.Set(value, GetArena());
20379 }
20380 inline ::std::string* PROTOBUF_NONNULL UninterpretedOption::_internal_mutable_identifier_value() {
20381   ::google::protobuf::internal::TSanWrite(&_impl_);
20382   _impl_._has_bits_[0] |= 0x00000001U;
20383   return _impl_.identifier_value_.Mutable( GetArena());
20384 }
20385 inline ::std::string* PROTOBUF_NULLABLE UninterpretedOption::release_identifier_value() {
20386   ::google::protobuf::internal::TSanWrite(&_impl_);
20387   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.identifier_value)
20388   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
20389     return nullptr;
20390   }
20391   _impl_._has_bits_[0] &= ~0x00000001U;
20392   auto* released = _impl_.identifier_value_.Release();
20393   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
20394     _impl_.identifier_value_.Set("", GetArena());
20395   }
20396   return released;
20397 }
20398 inline void UninterpretedOption::set_allocated_identifier_value(::std::string* PROTOBUF_NULLABLE value) {
20399   ::google::protobuf::internal::TSanWrite(&_impl_);
20400   if (value != nullptr) {
20401     _impl_._has_bits_[0] |= 0x00000001U;
20402   } else {
20403     _impl_._has_bits_[0] &= ~0x00000001U;
20404   }
20405   _impl_.identifier_value_.SetAllocated(value, GetArena());
20406   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.identifier_value_.IsDefault()) {
20407     _impl_.identifier_value_.Set("", GetArena());
20408   }
20409   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.identifier_value)
20410 }
20411 
20412 // optional uint64 positive_int_value = 4;
20413 inline bool UninterpretedOption::has_positive_int_value() const {
20414   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
20415   return value;
20416 }
20417 inline void UninterpretedOption::clear_positive_int_value() {
20418   ::google::protobuf::internal::TSanWrite(&_impl_);
20419   _impl_.positive_int_value_ = ::uint64_t{0u};
20420   _impl_._has_bits_[0] &= ~0x00000008U;
20421 }
20422 inline ::uint64_t UninterpretedOption::positive_int_value() const {
20423   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.positive_int_value)
20424   return _internal_positive_int_value();
20425 }
20426 inline void UninterpretedOption::set_positive_int_value(::uint64_t value) {
20427   _internal_set_positive_int_value(value);
20428   _impl_._has_bits_[0] |= 0x00000008U;
20429   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.positive_int_value)
20430 }
20431 inline ::uint64_t UninterpretedOption::_internal_positive_int_value() const {
20432   ::google::protobuf::internal::TSanRead(&_impl_);
20433   return _impl_.positive_int_value_;
20434 }
20435 inline void UninterpretedOption::_internal_set_positive_int_value(::uint64_t value) {
20436   ::google::protobuf::internal::TSanWrite(&_impl_);
20437   _impl_.positive_int_value_ = value;
20438 }
20439 
20440 // optional int64 negative_int_value = 5;
20441 inline bool UninterpretedOption::has_negative_int_value() const {
20442   bool value = (_impl_._has_bits_[0] & 0x00000010U) != 0;
20443   return value;
20444 }
20445 inline void UninterpretedOption::clear_negative_int_value() {
20446   ::google::protobuf::internal::TSanWrite(&_impl_);
20447   _impl_.negative_int_value_ = ::int64_t{0};
20448   _impl_._has_bits_[0] &= ~0x00000010U;
20449 }
20450 inline ::int64_t UninterpretedOption::negative_int_value() const {
20451   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.negative_int_value)
20452   return _internal_negative_int_value();
20453 }
20454 inline void UninterpretedOption::set_negative_int_value(::int64_t value) {
20455   _internal_set_negative_int_value(value);
20456   _impl_._has_bits_[0] |= 0x00000010U;
20457   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.negative_int_value)
20458 }
20459 inline ::int64_t UninterpretedOption::_internal_negative_int_value() const {
20460   ::google::protobuf::internal::TSanRead(&_impl_);
20461   return _impl_.negative_int_value_;
20462 }
20463 inline void UninterpretedOption::_internal_set_negative_int_value(::int64_t value) {
20464   ::google::protobuf::internal::TSanWrite(&_impl_);
20465   _impl_.negative_int_value_ = value;
20466 }
20467 
20468 // optional double double_value = 6;
20469 inline bool UninterpretedOption::has_double_value() const {
20470   bool value = (_impl_._has_bits_[0] & 0x00000020U) != 0;
20471   return value;
20472 }
20473 inline void UninterpretedOption::clear_double_value() {
20474   ::google::protobuf::internal::TSanWrite(&_impl_);
20475   _impl_.double_value_ = 0;
20476   _impl_._has_bits_[0] &= ~0x00000020U;
20477 }
20478 inline double UninterpretedOption::double_value() const {
20479   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.double_value)
20480   return _internal_double_value();
20481 }
20482 inline void UninterpretedOption::set_double_value(double value) {
20483   _internal_set_double_value(value);
20484   _impl_._has_bits_[0] |= 0x00000020U;
20485   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.double_value)
20486 }
20487 inline double UninterpretedOption::_internal_double_value() const {
20488   ::google::protobuf::internal::TSanRead(&_impl_);
20489   return _impl_.double_value_;
20490 }
20491 inline void UninterpretedOption::_internal_set_double_value(double value) {
20492   ::google::protobuf::internal::TSanWrite(&_impl_);
20493   _impl_.double_value_ = value;
20494 }
20495 
20496 // optional bytes string_value = 7;
20497 inline bool UninterpretedOption::has_string_value() const {
20498   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
20499   return value;
20500 }
20501 inline void UninterpretedOption::clear_string_value() {
20502   ::google::protobuf::internal::TSanWrite(&_impl_);
20503   _impl_.string_value_.ClearToEmpty();
20504   _impl_._has_bits_[0] &= ~0x00000002U;
20505 }
20506 inline const ::std::string& UninterpretedOption::string_value() const
20507     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20508   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.string_value)
20509   return _internal_string_value();
20510 }
20511 template <typename Arg_, typename... Args_>
20512 PROTOBUF_ALWAYS_INLINE void UninterpretedOption::set_string_value(Arg_&& arg, Args_... args) {
20513   ::google::protobuf::internal::TSanWrite(&_impl_);
20514   _impl_._has_bits_[0] |= 0x00000002U;
20515   _impl_.string_value_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
20516   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.string_value)
20517 }
20518 inline ::std::string* PROTOBUF_NONNULL UninterpretedOption::mutable_string_value()
20519     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20520   ::std::string* _s = _internal_mutable_string_value();
20521   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.string_value)
20522   return _s;
20523 }
20524 inline const ::std::string& UninterpretedOption::_internal_string_value() const {
20525   ::google::protobuf::internal::TSanRead(&_impl_);
20526   return _impl_.string_value_.Get();
20527 }
20528 inline void UninterpretedOption::_internal_set_string_value(const ::std::string& value) {
20529   ::google::protobuf::internal::TSanWrite(&_impl_);
20530   _impl_._has_bits_[0] |= 0x00000002U;
20531   _impl_.string_value_.Set(value, GetArena());
20532 }
20533 inline ::std::string* PROTOBUF_NONNULL UninterpretedOption::_internal_mutable_string_value() {
20534   ::google::protobuf::internal::TSanWrite(&_impl_);
20535   _impl_._has_bits_[0] |= 0x00000002U;
20536   return _impl_.string_value_.Mutable( GetArena());
20537 }
20538 inline ::std::string* PROTOBUF_NULLABLE UninterpretedOption::release_string_value() {
20539   ::google::protobuf::internal::TSanWrite(&_impl_);
20540   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.string_value)
20541   if ((_impl_._has_bits_[0] & 0x00000002U) == 0) {
20542     return nullptr;
20543   }
20544   _impl_._has_bits_[0] &= ~0x00000002U;
20545   auto* released = _impl_.string_value_.Release();
20546   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
20547     _impl_.string_value_.Set("", GetArena());
20548   }
20549   return released;
20550 }
20551 inline void UninterpretedOption::set_allocated_string_value(::std::string* PROTOBUF_NULLABLE value) {
20552   ::google::protobuf::internal::TSanWrite(&_impl_);
20553   if (value != nullptr) {
20554     _impl_._has_bits_[0] |= 0x00000002U;
20555   } else {
20556     _impl_._has_bits_[0] &= ~0x00000002U;
20557   }
20558   _impl_.string_value_.SetAllocated(value, GetArena());
20559   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.string_value_.IsDefault()) {
20560     _impl_.string_value_.Set("", GetArena());
20561   }
20562   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.string_value)
20563 }
20564 
20565 // optional string aggregate_value = 8;
20566 inline bool UninterpretedOption::has_aggregate_value() const {
20567   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
20568   return value;
20569 }
20570 inline void UninterpretedOption::clear_aggregate_value() {
20571   ::google::protobuf::internal::TSanWrite(&_impl_);
20572   _impl_.aggregate_value_.ClearToEmpty();
20573   _impl_._has_bits_[0] &= ~0x00000004U;
20574 }
20575 inline const ::std::string& UninterpretedOption::aggregate_value() const
20576     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20577   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.aggregate_value)
20578   return _internal_aggregate_value();
20579 }
20580 template <typename Arg_, typename... Args_>
20581 PROTOBUF_ALWAYS_INLINE void UninterpretedOption::set_aggregate_value(Arg_&& arg, Args_... args) {
20582   ::google::protobuf::internal::TSanWrite(&_impl_);
20583   _impl_._has_bits_[0] |= 0x00000004U;
20584   _impl_.aggregate_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
20585   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.aggregate_value)
20586 }
20587 inline ::std::string* PROTOBUF_NONNULL UninterpretedOption::mutable_aggregate_value()
20588     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20589   ::std::string* _s = _internal_mutable_aggregate_value();
20590   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.aggregate_value)
20591   return _s;
20592 }
20593 inline const ::std::string& UninterpretedOption::_internal_aggregate_value() const {
20594   ::google::protobuf::internal::TSanRead(&_impl_);
20595   return _impl_.aggregate_value_.Get();
20596 }
20597 inline void UninterpretedOption::_internal_set_aggregate_value(const ::std::string& value) {
20598   ::google::protobuf::internal::TSanWrite(&_impl_);
20599   _impl_._has_bits_[0] |= 0x00000004U;
20600   _impl_.aggregate_value_.Set(value, GetArena());
20601 }
20602 inline ::std::string* PROTOBUF_NONNULL UninterpretedOption::_internal_mutable_aggregate_value() {
20603   ::google::protobuf::internal::TSanWrite(&_impl_);
20604   _impl_._has_bits_[0] |= 0x00000004U;
20605   return _impl_.aggregate_value_.Mutable( GetArena());
20606 }
20607 inline ::std::string* PROTOBUF_NULLABLE UninterpretedOption::release_aggregate_value() {
20608   ::google::protobuf::internal::TSanWrite(&_impl_);
20609   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.aggregate_value)
20610   if ((_impl_._has_bits_[0] & 0x00000004U) == 0) {
20611     return nullptr;
20612   }
20613   _impl_._has_bits_[0] &= ~0x00000004U;
20614   auto* released = _impl_.aggregate_value_.Release();
20615   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
20616     _impl_.aggregate_value_.Set("", GetArena());
20617   }
20618   return released;
20619 }
20620 inline void UninterpretedOption::set_allocated_aggregate_value(::std::string* PROTOBUF_NULLABLE value) {
20621   ::google::protobuf::internal::TSanWrite(&_impl_);
20622   if (value != nullptr) {
20623     _impl_._has_bits_[0] |= 0x00000004U;
20624   } else {
20625     _impl_._has_bits_[0] &= ~0x00000004U;
20626   }
20627   _impl_.aggregate_value_.SetAllocated(value, GetArena());
20628   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.aggregate_value_.IsDefault()) {
20629     _impl_.aggregate_value_.Set("", GetArena());
20630   }
20631   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.aggregate_value)
20632 }
20633 
20634 // -------------------------------------------------------------------
20635 
20636 // FeatureSet_VisibilityFeature
20637 
20638 // -------------------------------------------------------------------
20639 
20640 // FeatureSet
20641 
20642 // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
20643 inline bool FeatureSet::has_field_presence() const {
20644   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
20645   return value;
20646 }
20647 inline void FeatureSet::clear_field_presence() {
20648   ::google::protobuf::internal::TSanWrite(&_impl_);
20649   _impl_.field_presence_ = 0;
20650   _impl_._has_bits_[0] &= ~0x00000001U;
20651 }
20652 inline ::google::protobuf::FeatureSet_FieldPresence FeatureSet::field_presence() const {
20653   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.field_presence)
20654   return _internal_field_presence();
20655 }
20656 inline void FeatureSet::set_field_presence(::google::protobuf::FeatureSet_FieldPresence value) {
20657   _internal_set_field_presence(value);
20658   _impl_._has_bits_[0] |= 0x00000001U;
20659   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.field_presence)
20660 }
20661 inline ::google::protobuf::FeatureSet_FieldPresence FeatureSet::_internal_field_presence() const {
20662   ::google::protobuf::internal::TSanRead(&_impl_);
20663   return static_cast<::google::protobuf::FeatureSet_FieldPresence>(_impl_.field_presence_);
20664 }
20665 inline void FeatureSet::_internal_set_field_presence(::google::protobuf::FeatureSet_FieldPresence value) {
20666   ::google::protobuf::internal::TSanWrite(&_impl_);
20667 
20668                                           assert(::google::protobuf::internal::ValidateEnum(
20669                                               value, ::google::protobuf::FeatureSet_FieldPresence_internal_data_));
20670                                           _impl_.field_presence_ = value;
20671 }
20672 
20673 // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
20674 inline bool FeatureSet::has_enum_type() const {
20675   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
20676   return value;
20677 }
20678 inline void FeatureSet::clear_enum_type() {
20679   ::google::protobuf::internal::TSanWrite(&_impl_);
20680   _impl_.enum_type_ = 0;
20681   _impl_._has_bits_[0] &= ~0x00000002U;
20682 }
20683 inline ::google::protobuf::FeatureSet_EnumType FeatureSet::enum_type() const {
20684   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.enum_type)
20685   return _internal_enum_type();
20686 }
20687 inline void FeatureSet::set_enum_type(::google::protobuf::FeatureSet_EnumType value) {
20688   _internal_set_enum_type(value);
20689   _impl_._has_bits_[0] |= 0x00000002U;
20690   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.enum_type)
20691 }
20692 inline ::google::protobuf::FeatureSet_EnumType FeatureSet::_internal_enum_type() const {
20693   ::google::protobuf::internal::TSanRead(&_impl_);
20694   return static_cast<::google::protobuf::FeatureSet_EnumType>(_impl_.enum_type_);
20695 }
20696 inline void FeatureSet::_internal_set_enum_type(::google::protobuf::FeatureSet_EnumType value) {
20697   ::google::protobuf::internal::TSanWrite(&_impl_);
20698 
20699                                           assert(::google::protobuf::internal::ValidateEnum(
20700                                               value, ::google::protobuf::FeatureSet_EnumType_internal_data_));
20701                                           _impl_.enum_type_ = value;
20702 }
20703 
20704 // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
20705 inline bool FeatureSet::has_repeated_field_encoding() const {
20706   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
20707   return value;
20708 }
20709 inline void FeatureSet::clear_repeated_field_encoding() {
20710   ::google::protobuf::internal::TSanWrite(&_impl_);
20711   _impl_.repeated_field_encoding_ = 0;
20712   _impl_._has_bits_[0] &= ~0x00000004U;
20713 }
20714 inline ::google::protobuf::FeatureSet_RepeatedFieldEncoding FeatureSet::repeated_field_encoding() const {
20715   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.repeated_field_encoding)
20716   return _internal_repeated_field_encoding();
20717 }
20718 inline void FeatureSet::set_repeated_field_encoding(::google::protobuf::FeatureSet_RepeatedFieldEncoding value) {
20719   _internal_set_repeated_field_encoding(value);
20720   _impl_._has_bits_[0] |= 0x00000004U;
20721   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.repeated_field_encoding)
20722 }
20723 inline ::google::protobuf::FeatureSet_RepeatedFieldEncoding FeatureSet::_internal_repeated_field_encoding() const {
20724   ::google::protobuf::internal::TSanRead(&_impl_);
20725   return static_cast<::google::protobuf::FeatureSet_RepeatedFieldEncoding>(_impl_.repeated_field_encoding_);
20726 }
20727 inline void FeatureSet::_internal_set_repeated_field_encoding(::google::protobuf::FeatureSet_RepeatedFieldEncoding value) {
20728   ::google::protobuf::internal::TSanWrite(&_impl_);
20729 
20730                                           assert(::google::protobuf::internal::ValidateEnum(
20731                                               value, ::google::protobuf::FeatureSet_RepeatedFieldEncoding_internal_data_));
20732                                           _impl_.repeated_field_encoding_ = value;
20733 }
20734 
20735 // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
20736 inline bool FeatureSet::has_utf8_validation() const {
20737   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
20738   return value;
20739 }
20740 inline void FeatureSet::clear_utf8_validation() {
20741   ::google::protobuf::internal::TSanWrite(&_impl_);
20742   _impl_.utf8_validation_ = 0;
20743   _impl_._has_bits_[0] &= ~0x00000008U;
20744 }
20745 inline ::google::protobuf::FeatureSet_Utf8Validation FeatureSet::utf8_validation() const {
20746   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.utf8_validation)
20747   return _internal_utf8_validation();
20748 }
20749 inline void FeatureSet::set_utf8_validation(::google::protobuf::FeatureSet_Utf8Validation value) {
20750   _internal_set_utf8_validation(value);
20751   _impl_._has_bits_[0] |= 0x00000008U;
20752   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.utf8_validation)
20753 }
20754 inline ::google::protobuf::FeatureSet_Utf8Validation FeatureSet::_internal_utf8_validation() const {
20755   ::google::protobuf::internal::TSanRead(&_impl_);
20756   return static_cast<::google::protobuf::FeatureSet_Utf8Validation>(_impl_.utf8_validation_);
20757 }
20758 inline void FeatureSet::_internal_set_utf8_validation(::google::protobuf::FeatureSet_Utf8Validation value) {
20759   ::google::protobuf::internal::TSanWrite(&_impl_);
20760 
20761                                           assert(::google::protobuf::internal::ValidateEnum(
20762                                               value, ::google::protobuf::FeatureSet_Utf8Validation_internal_data_));
20763                                           _impl_.utf8_validation_ = value;
20764 }
20765 
20766 // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
20767 inline bool FeatureSet::has_message_encoding() const {
20768   bool value = (_impl_._has_bits_[0] & 0x00000010U) != 0;
20769   return value;
20770 }
20771 inline void FeatureSet::clear_message_encoding() {
20772   ::google::protobuf::internal::TSanWrite(&_impl_);
20773   _impl_.message_encoding_ = 0;
20774   _impl_._has_bits_[0] &= ~0x00000010U;
20775 }
20776 inline ::google::protobuf::FeatureSet_MessageEncoding FeatureSet::message_encoding() const {
20777   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.message_encoding)
20778   return _internal_message_encoding();
20779 }
20780 inline void FeatureSet::set_message_encoding(::google::protobuf::FeatureSet_MessageEncoding value) {
20781   _internal_set_message_encoding(value);
20782   _impl_._has_bits_[0] |= 0x00000010U;
20783   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.message_encoding)
20784 }
20785 inline ::google::protobuf::FeatureSet_MessageEncoding FeatureSet::_internal_message_encoding() const {
20786   ::google::protobuf::internal::TSanRead(&_impl_);
20787   return static_cast<::google::protobuf::FeatureSet_MessageEncoding>(_impl_.message_encoding_);
20788 }
20789 inline void FeatureSet::_internal_set_message_encoding(::google::protobuf::FeatureSet_MessageEncoding value) {
20790   ::google::protobuf::internal::TSanWrite(&_impl_);
20791 
20792                                           assert(::google::protobuf::internal::ValidateEnum(
20793                                               value, ::google::protobuf::FeatureSet_MessageEncoding_internal_data_));
20794                                           _impl_.message_encoding_ = value;
20795 }
20796 
20797 // 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 = {
20798 inline bool FeatureSet::has_json_format() const {
20799   bool value = (_impl_._has_bits_[0] & 0x00000020U) != 0;
20800   return value;
20801 }
20802 inline void FeatureSet::clear_json_format() {
20803   ::google::protobuf::internal::TSanWrite(&_impl_);
20804   _impl_.json_format_ = 0;
20805   _impl_._has_bits_[0] &= ~0x00000020U;
20806 }
20807 inline ::google::protobuf::FeatureSet_JsonFormat FeatureSet::json_format() const {
20808   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.json_format)
20809   return _internal_json_format();
20810 }
20811 inline void FeatureSet::set_json_format(::google::protobuf::FeatureSet_JsonFormat value) {
20812   _internal_set_json_format(value);
20813   _impl_._has_bits_[0] |= 0x00000020U;
20814   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.json_format)
20815 }
20816 inline ::google::protobuf::FeatureSet_JsonFormat FeatureSet::_internal_json_format() const {
20817   ::google::protobuf::internal::TSanRead(&_impl_);
20818   return static_cast<::google::protobuf::FeatureSet_JsonFormat>(_impl_.json_format_);
20819 }
20820 inline void FeatureSet::_internal_set_json_format(::google::protobuf::FeatureSet_JsonFormat value) {
20821   ::google::protobuf::internal::TSanWrite(&_impl_);
20822 
20823                                           assert(::google::protobuf::internal::ValidateEnum(
20824                                               value, ::google::protobuf::FeatureSet_JsonFormat_internal_data_));
20825                                           _impl_.json_format_ = value;
20826 }
20827 
20828 // optional .google.protobuf.FeatureSet.EnforceNamingStyle enforce_naming_style = 7 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, targets = TARGET_TYPE_EXTENSION_RANGE, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_ENUM_ENTRY, targets = TARGET_TYPE_SERVICE, targets = TARGET_TYPE_METHOD, edition_defaults = {
20829 inline bool FeatureSet::has_enforce_naming_style() const {
20830   bool value = (_impl_._has_bits_[0] & 0x00000040U) != 0;
20831   return value;
20832 }
20833 inline void FeatureSet::clear_enforce_naming_style() {
20834   ::google::protobuf::internal::TSanWrite(&_impl_);
20835   _impl_.enforce_naming_style_ = 0;
20836   _impl_._has_bits_[0] &= ~0x00000040U;
20837 }
20838 inline ::google::protobuf::FeatureSet_EnforceNamingStyle FeatureSet::enforce_naming_style() const {
20839   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.enforce_naming_style)
20840   return _internal_enforce_naming_style();
20841 }
20842 inline void FeatureSet::set_enforce_naming_style(::google::protobuf::FeatureSet_EnforceNamingStyle value) {
20843   _internal_set_enforce_naming_style(value);
20844   _impl_._has_bits_[0] |= 0x00000040U;
20845   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.enforce_naming_style)
20846 }
20847 inline ::google::protobuf::FeatureSet_EnforceNamingStyle FeatureSet::_internal_enforce_naming_style() const {
20848   ::google::protobuf::internal::TSanRead(&_impl_);
20849   return static_cast<::google::protobuf::FeatureSet_EnforceNamingStyle>(_impl_.enforce_naming_style_);
20850 }
20851 inline void FeatureSet::_internal_set_enforce_naming_style(::google::protobuf::FeatureSet_EnforceNamingStyle value) {
20852   ::google::protobuf::internal::TSanWrite(&_impl_);
20853 
20854                                           assert(::google::protobuf::internal::ValidateEnum(
20855                                               value, ::google::protobuf::FeatureSet_EnforceNamingStyle_internal_data_));
20856                                           _impl_.enforce_naming_style_ = value;
20857 }
20858 
20859 // optional .google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility = 8 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, edition_defaults = {
20860 inline bool FeatureSet::has_default_symbol_visibility() const {
20861   bool value = (_impl_._has_bits_[0] & 0x00000080U) != 0;
20862   return value;
20863 }
20864 inline void FeatureSet::clear_default_symbol_visibility() {
20865   ::google::protobuf::internal::TSanWrite(&_impl_);
20866   _impl_.default_symbol_visibility_ = 0;
20867   _impl_._has_bits_[0] &= ~0x00000080U;
20868 }
20869 inline ::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility FeatureSet::default_symbol_visibility() const {
20870   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.default_symbol_visibility)
20871   return _internal_default_symbol_visibility();
20872 }
20873 inline void FeatureSet::set_default_symbol_visibility(::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility value) {
20874   _internal_set_default_symbol_visibility(value);
20875   _impl_._has_bits_[0] |= 0x00000080U;
20876   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.default_symbol_visibility)
20877 }
20878 inline ::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility FeatureSet::_internal_default_symbol_visibility() const {
20879   ::google::protobuf::internal::TSanRead(&_impl_);
20880   return static_cast<::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility>(_impl_.default_symbol_visibility_);
20881 }
20882 inline void FeatureSet::_internal_set_default_symbol_visibility(::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility value) {
20883   ::google::protobuf::internal::TSanWrite(&_impl_);
20884 
20885                                           assert(::google::protobuf::internal::ValidateEnum(
20886                                               value, ::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility_internal_data_));
20887                                           _impl_.default_symbol_visibility_ = value;
20888 }
20889 
20890 // -------------------------------------------------------------------
20891 
20892 // FeatureSetDefaults_FeatureSetEditionDefault
20893 
20894 // optional .google.protobuf.Edition edition = 3;
20895 inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_edition() const {
20896   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
20897   return value;
20898 }
20899 inline void FeatureSetDefaults_FeatureSetEditionDefault::clear_edition() {
20900   ::google::protobuf::internal::TSanWrite(&_impl_);
20901   _impl_.edition_ = 0;
20902   _impl_._has_bits_[0] &= ~0x00000004U;
20903 }
20904 inline ::google::protobuf::Edition FeatureSetDefaults_FeatureSetEditionDefault::edition() const {
20905   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition)
20906   return _internal_edition();
20907 }
20908 inline void FeatureSetDefaults_FeatureSetEditionDefault::set_edition(::google::protobuf::Edition value) {
20909   _internal_set_edition(value);
20910   _impl_._has_bits_[0] |= 0x00000004U;
20911   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition)
20912 }
20913 inline ::google::protobuf::Edition FeatureSetDefaults_FeatureSetEditionDefault::_internal_edition() const {
20914   ::google::protobuf::internal::TSanRead(&_impl_);
20915   return static_cast<::google::protobuf::Edition>(_impl_.edition_);
20916 }
20917 inline void FeatureSetDefaults_FeatureSetEditionDefault::_internal_set_edition(::google::protobuf::Edition value) {
20918   ::google::protobuf::internal::TSanWrite(&_impl_);
20919 
20920                                           assert(::google::protobuf::internal::ValidateEnum(
20921                                               value, ::google::protobuf::Edition_internal_data_));
20922                                           _impl_.edition_ = value;
20923 }
20924 
20925 // optional .google.protobuf.FeatureSet overridable_features = 4;
20926 inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_overridable_features() const {
20927   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
20928   PROTOBUF_ASSUME(!value || _impl_.overridable_features_ != nullptr);
20929   return value;
20930 }
20931 inline void FeatureSetDefaults_FeatureSetEditionDefault::clear_overridable_features() {
20932   ::google::protobuf::internal::TSanWrite(&_impl_);
20933   if (_impl_.overridable_features_ != nullptr) _impl_.overridable_features_->Clear();
20934   _impl_._has_bits_[0] &= ~0x00000001U;
20935 }
20936 inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::_internal_overridable_features() const {
20937   ::google::protobuf::internal::TSanRead(&_impl_);
20938   const ::google::protobuf::FeatureSet* p = _impl_.overridable_features_;
20939   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
20940 }
20941 inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::overridable_features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
20942   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
20943   return _internal_overridable_features();
20944 }
20945 inline void FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_set_allocated_overridable_features(
20946     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
20947   ::google::protobuf::internal::TSanWrite(&_impl_);
20948   if (GetArena() == nullptr) {
20949     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.overridable_features_);
20950   }
20951   _impl_.overridable_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
20952   if (value != nullptr) {
20953     _impl_._has_bits_[0] |= 0x00000001U;
20954   } else {
20955     _impl_._has_bits_[0] &= ~0x00000001U;
20956   }
20957   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
20958 }
20959 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE FeatureSetDefaults_FeatureSetEditionDefault::release_overridable_features() {
20960   ::google::protobuf::internal::TSanWrite(&_impl_);
20961 
20962   _impl_._has_bits_[0] &= ~0x00000001U;
20963   ::google::protobuf::FeatureSet* released = _impl_.overridable_features_;
20964   _impl_.overridable_features_ = nullptr;
20965   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
20966     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
20967     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
20968     if (GetArena() == nullptr) {
20969       delete old;
20970     }
20971   } else {
20972     if (GetArena() != nullptr) {
20973       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
20974     }
20975   }
20976   return released;
20977 }
20978 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_release_overridable_features() {
20979   ::google::protobuf::internal::TSanWrite(&_impl_);
20980   // @@protoc_insertion_point(field_release:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
20981 
20982   _impl_._has_bits_[0] &= ~0x00000001U;
20983   ::google::protobuf::FeatureSet* temp = _impl_.overridable_features_;
20984   _impl_.overridable_features_ = nullptr;
20985   return temp;
20986 }
20987 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL FeatureSetDefaults_FeatureSetEditionDefault::_internal_mutable_overridable_features() {
20988   ::google::protobuf::internal::TSanWrite(&_impl_);
20989   if (_impl_.overridable_features_ == nullptr) {
20990     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
20991     _impl_.overridable_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
20992   }
20993   return _impl_.overridable_features_;
20994 }
20995 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL FeatureSetDefaults_FeatureSetEditionDefault::mutable_overridable_features()
20996     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20997   _impl_._has_bits_[0] |= 0x00000001U;
20998   ::google::protobuf::FeatureSet* _msg = _internal_mutable_overridable_features();
20999   // @@protoc_insertion_point(field_mutable:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
21000   return _msg;
21001 }
21002 inline void FeatureSetDefaults_FeatureSetEditionDefault::set_allocated_overridable_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
21003   ::google::protobuf::Arena* message_arena = GetArena();
21004   ::google::protobuf::internal::TSanWrite(&_impl_);
21005   if (message_arena == nullptr) {
21006     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.overridable_features_);
21007   }
21008 
21009   if (value != nullptr) {
21010     ::google::protobuf::Arena* submessage_arena = value->GetArena();
21011     if (message_arena != submessage_arena) {
21012       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
21013     }
21014     _impl_._has_bits_[0] |= 0x00000001U;
21015   } else {
21016     _impl_._has_bits_[0] &= ~0x00000001U;
21017   }
21018 
21019   _impl_.overridable_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
21020   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
21021 }
21022 
21023 // optional .google.protobuf.FeatureSet fixed_features = 5;
21024 inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_fixed_features() const {
21025   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
21026   PROTOBUF_ASSUME(!value || _impl_.fixed_features_ != nullptr);
21027   return value;
21028 }
21029 inline void FeatureSetDefaults_FeatureSetEditionDefault::clear_fixed_features() {
21030   ::google::protobuf::internal::TSanWrite(&_impl_);
21031   if (_impl_.fixed_features_ != nullptr) _impl_.fixed_features_->Clear();
21032   _impl_._has_bits_[0] &= ~0x00000002U;
21033 }
21034 inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::_internal_fixed_features() const {
21035   ::google::protobuf::internal::TSanRead(&_impl_);
21036   const ::google::protobuf::FeatureSet* p = _impl_.fixed_features_;
21037   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
21038 }
21039 inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::fixed_features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
21040   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
21041   return _internal_fixed_features();
21042 }
21043 inline void FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_set_allocated_fixed_features(
21044     ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
21045   ::google::protobuf::internal::TSanWrite(&_impl_);
21046   if (GetArena() == nullptr) {
21047     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.fixed_features_);
21048   }
21049   _impl_.fixed_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
21050   if (value != nullptr) {
21051     _impl_._has_bits_[0] |= 0x00000002U;
21052   } else {
21053     _impl_._has_bits_[0] &= ~0x00000002U;
21054   }
21055   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
21056 }
21057 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE FeatureSetDefaults_FeatureSetEditionDefault::release_fixed_features() {
21058   ::google::protobuf::internal::TSanWrite(&_impl_);
21059 
21060   _impl_._has_bits_[0] &= ~0x00000002U;
21061   ::google::protobuf::FeatureSet* released = _impl_.fixed_features_;
21062   _impl_.fixed_features_ = nullptr;
21063   if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
21064     auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
21065     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
21066     if (GetArena() == nullptr) {
21067       delete old;
21068     }
21069   } else {
21070     if (GetArena() != nullptr) {
21071       released = ::google::protobuf::internal::DuplicateIfNonNull(released);
21072     }
21073   }
21074   return released;
21075 }
21076 inline ::google::protobuf::FeatureSet* PROTOBUF_NULLABLE FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_release_fixed_features() {
21077   ::google::protobuf::internal::TSanWrite(&_impl_);
21078   // @@protoc_insertion_point(field_release:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
21079 
21080   _impl_._has_bits_[0] &= ~0x00000002U;
21081   ::google::protobuf::FeatureSet* temp = _impl_.fixed_features_;
21082   _impl_.fixed_features_ = nullptr;
21083   return temp;
21084 }
21085 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL FeatureSetDefaults_FeatureSetEditionDefault::_internal_mutable_fixed_features() {
21086   ::google::protobuf::internal::TSanWrite(&_impl_);
21087   if (_impl_.fixed_features_ == nullptr) {
21088     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
21089     _impl_.fixed_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
21090   }
21091   return _impl_.fixed_features_;
21092 }
21093 inline ::google::protobuf::FeatureSet* PROTOBUF_NONNULL FeatureSetDefaults_FeatureSetEditionDefault::mutable_fixed_features()
21094     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21095   _impl_._has_bits_[0] |= 0x00000002U;
21096   ::google::protobuf::FeatureSet* _msg = _internal_mutable_fixed_features();
21097   // @@protoc_insertion_point(field_mutable:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
21098   return _msg;
21099 }
21100 inline void FeatureSetDefaults_FeatureSetEditionDefault::set_allocated_fixed_features(::google::protobuf::FeatureSet* PROTOBUF_NULLABLE value) {
21101   ::google::protobuf::Arena* message_arena = GetArena();
21102   ::google::protobuf::internal::TSanWrite(&_impl_);
21103   if (message_arena == nullptr) {
21104     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.fixed_features_);
21105   }
21106 
21107   if (value != nullptr) {
21108     ::google::protobuf::Arena* submessage_arena = value->GetArena();
21109     if (message_arena != submessage_arena) {
21110       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
21111     }
21112     _impl_._has_bits_[0] |= 0x00000002U;
21113   } else {
21114     _impl_._has_bits_[0] &= ~0x00000002U;
21115   }
21116 
21117   _impl_.fixed_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
21118   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
21119 }
21120 
21121 // -------------------------------------------------------------------
21122 
21123 // FeatureSetDefaults
21124 
21125 // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
21126 inline int FeatureSetDefaults::_internal_defaults_size() const {
21127   return _internal_defaults().size();
21128 }
21129 inline int FeatureSetDefaults::defaults_size() const {
21130   return _internal_defaults_size();
21131 }
21132 inline void FeatureSetDefaults::clear_defaults() {
21133   ::google::protobuf::internal::TSanWrite(&_impl_);
21134   _impl_.defaults_.Clear();
21135 }
21136 inline ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_NONNULL FeatureSetDefaults::mutable_defaults(int index)
21137     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21138   // @@protoc_insertion_point(field_mutable:google.protobuf.FeatureSetDefaults.defaults)
21139   return _internal_mutable_defaults()->Mutable(index);
21140 }
21141 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>* PROTOBUF_NONNULL FeatureSetDefaults::mutable_defaults()
21142     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21143   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FeatureSetDefaults.defaults)
21144   ::google::protobuf::internal::TSanWrite(&_impl_);
21145   return _internal_mutable_defaults();
21146 }
21147 inline const ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault& FeatureSetDefaults::defaults(int index) const
21148     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21149   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.defaults)
21150   return _internal_defaults().Get(index);
21151 }
21152 inline ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_NONNULL FeatureSetDefaults::add_defaults()
21153     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21154   ::google::protobuf::internal::TSanWrite(&_impl_);
21155   ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* _add = _internal_mutable_defaults()->Add();
21156   // @@protoc_insertion_point(field_add:google.protobuf.FeatureSetDefaults.defaults)
21157   return _add;
21158 }
21159 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>& FeatureSetDefaults::defaults() const
21160     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21161   // @@protoc_insertion_point(field_list:google.protobuf.FeatureSetDefaults.defaults)
21162   return _internal_defaults();
21163 }
21164 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>&
21165 FeatureSetDefaults::_internal_defaults() const {
21166   ::google::protobuf::internal::TSanRead(&_impl_);
21167   return _impl_.defaults_;
21168 }
21169 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>* PROTOBUF_NONNULL
21170 FeatureSetDefaults::_internal_mutable_defaults() {
21171   ::google::protobuf::internal::TSanRead(&_impl_);
21172   return &_impl_.defaults_;
21173 }
21174 
21175 // optional .google.protobuf.Edition minimum_edition = 4;
21176 inline bool FeatureSetDefaults::has_minimum_edition() const {
21177   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
21178   return value;
21179 }
21180 inline void FeatureSetDefaults::clear_minimum_edition() {
21181   ::google::protobuf::internal::TSanWrite(&_impl_);
21182   _impl_.minimum_edition_ = 0;
21183   _impl_._has_bits_[0] &= ~0x00000001U;
21184 }
21185 inline ::google::protobuf::Edition FeatureSetDefaults::minimum_edition() const {
21186   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.minimum_edition)
21187   return _internal_minimum_edition();
21188 }
21189 inline void FeatureSetDefaults::set_minimum_edition(::google::protobuf::Edition value) {
21190   _internal_set_minimum_edition(value);
21191   _impl_._has_bits_[0] |= 0x00000001U;
21192   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSetDefaults.minimum_edition)
21193 }
21194 inline ::google::protobuf::Edition FeatureSetDefaults::_internal_minimum_edition() const {
21195   ::google::protobuf::internal::TSanRead(&_impl_);
21196   return static_cast<::google::protobuf::Edition>(_impl_.minimum_edition_);
21197 }
21198 inline void FeatureSetDefaults::_internal_set_minimum_edition(::google::protobuf::Edition value) {
21199   ::google::protobuf::internal::TSanWrite(&_impl_);
21200 
21201                                           assert(::google::protobuf::internal::ValidateEnum(
21202                                               value, ::google::protobuf::Edition_internal_data_));
21203                                           _impl_.minimum_edition_ = value;
21204 }
21205 
21206 // optional .google.protobuf.Edition maximum_edition = 5;
21207 inline bool FeatureSetDefaults::has_maximum_edition() const {
21208   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
21209   return value;
21210 }
21211 inline void FeatureSetDefaults::clear_maximum_edition() {
21212   ::google::protobuf::internal::TSanWrite(&_impl_);
21213   _impl_.maximum_edition_ = 0;
21214   _impl_._has_bits_[0] &= ~0x00000002U;
21215 }
21216 inline ::google::protobuf::Edition FeatureSetDefaults::maximum_edition() const {
21217   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.maximum_edition)
21218   return _internal_maximum_edition();
21219 }
21220 inline void FeatureSetDefaults::set_maximum_edition(::google::protobuf::Edition value) {
21221   _internal_set_maximum_edition(value);
21222   _impl_._has_bits_[0] |= 0x00000002U;
21223   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSetDefaults.maximum_edition)
21224 }
21225 inline ::google::protobuf::Edition FeatureSetDefaults::_internal_maximum_edition() const {
21226   ::google::protobuf::internal::TSanRead(&_impl_);
21227   return static_cast<::google::protobuf::Edition>(_impl_.maximum_edition_);
21228 }
21229 inline void FeatureSetDefaults::_internal_set_maximum_edition(::google::protobuf::Edition value) {
21230   ::google::protobuf::internal::TSanWrite(&_impl_);
21231 
21232                                           assert(::google::protobuf::internal::ValidateEnum(
21233                                               value, ::google::protobuf::Edition_internal_data_));
21234                                           _impl_.maximum_edition_ = value;
21235 }
21236 
21237 // -------------------------------------------------------------------
21238 
21239 // SourceCodeInfo_Location
21240 
21241 // repeated int32 path = 1 [packed = true];
21242 inline int SourceCodeInfo_Location::_internal_path_size() const {
21243   return _internal_path().size();
21244 }
21245 inline int SourceCodeInfo_Location::path_size() const {
21246   return _internal_path_size();
21247 }
21248 inline void SourceCodeInfo_Location::clear_path() {
21249   ::google::protobuf::internal::TSanWrite(&_impl_);
21250   _impl_.path_.Clear();
21251 }
21252 inline ::int32_t SourceCodeInfo_Location::path(int index) const {
21253   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.path)
21254   return _internal_path().Get(index);
21255 }
21256 inline void SourceCodeInfo_Location::set_path(int index, ::int32_t value) {
21257   _internal_mutable_path()->Set(index, value);
21258   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.path)
21259 }
21260 inline void SourceCodeInfo_Location::add_path(::int32_t value) {
21261   ::google::protobuf::internal::TSanWrite(&_impl_);
21262   _internal_mutable_path()->Add(value);
21263   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.path)
21264 }
21265 inline const ::google::protobuf::RepeatedField<::int32_t>& SourceCodeInfo_Location::path() const
21266     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21267   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.path)
21268   return _internal_path();
21269 }
21270 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SourceCodeInfo_Location::mutable_path()
21271     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21272   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.path)
21273   ::google::protobuf::internal::TSanWrite(&_impl_);
21274   return _internal_mutable_path();
21275 }
21276 inline const ::google::protobuf::RepeatedField<::int32_t>&
21277 SourceCodeInfo_Location::_internal_path() const {
21278   ::google::protobuf::internal::TSanRead(&_impl_);
21279   return _impl_.path_;
21280 }
21281 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
21282 SourceCodeInfo_Location::_internal_mutable_path() {
21283   ::google::protobuf::internal::TSanRead(&_impl_);
21284   return &_impl_.path_;
21285 }
21286 
21287 // repeated int32 span = 2 [packed = true];
21288 inline int SourceCodeInfo_Location::_internal_span_size() const {
21289   return _internal_span().size();
21290 }
21291 inline int SourceCodeInfo_Location::span_size() const {
21292   return _internal_span_size();
21293 }
21294 inline void SourceCodeInfo_Location::clear_span() {
21295   ::google::protobuf::internal::TSanWrite(&_impl_);
21296   _impl_.span_.Clear();
21297 }
21298 inline ::int32_t SourceCodeInfo_Location::span(int index) const {
21299   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.span)
21300   return _internal_span().Get(index);
21301 }
21302 inline void SourceCodeInfo_Location::set_span(int index, ::int32_t value) {
21303   _internal_mutable_span()->Set(index, value);
21304   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.span)
21305 }
21306 inline void SourceCodeInfo_Location::add_span(::int32_t value) {
21307   ::google::protobuf::internal::TSanWrite(&_impl_);
21308   _internal_mutable_span()->Add(value);
21309   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.span)
21310 }
21311 inline const ::google::protobuf::RepeatedField<::int32_t>& SourceCodeInfo_Location::span() const
21312     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21313   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.span)
21314   return _internal_span();
21315 }
21316 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SourceCodeInfo_Location::mutable_span()
21317     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21318   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.span)
21319   ::google::protobuf::internal::TSanWrite(&_impl_);
21320   return _internal_mutable_span();
21321 }
21322 inline const ::google::protobuf::RepeatedField<::int32_t>&
21323 SourceCodeInfo_Location::_internal_span() const {
21324   ::google::protobuf::internal::TSanRead(&_impl_);
21325   return _impl_.span_;
21326 }
21327 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
21328 SourceCodeInfo_Location::_internal_mutable_span() {
21329   ::google::protobuf::internal::TSanRead(&_impl_);
21330   return &_impl_.span_;
21331 }
21332 
21333 // optional string leading_comments = 3;
21334 inline bool SourceCodeInfo_Location::has_leading_comments() const {
21335   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
21336   return value;
21337 }
21338 inline void SourceCodeInfo_Location::clear_leading_comments() {
21339   ::google::protobuf::internal::TSanWrite(&_impl_);
21340   _impl_.leading_comments_.ClearToEmpty();
21341   _impl_._has_bits_[0] &= ~0x00000001U;
21342 }
21343 inline const ::std::string& SourceCodeInfo_Location::leading_comments() const
21344     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21345   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.leading_comments)
21346   return _internal_leading_comments();
21347 }
21348 template <typename Arg_, typename... Args_>
21349 PROTOBUF_ALWAYS_INLINE void SourceCodeInfo_Location::set_leading_comments(Arg_&& arg, Args_... args) {
21350   ::google::protobuf::internal::TSanWrite(&_impl_);
21351   _impl_._has_bits_[0] |= 0x00000001U;
21352   _impl_.leading_comments_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
21353   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_comments)
21354 }
21355 inline ::std::string* PROTOBUF_NONNULL SourceCodeInfo_Location::mutable_leading_comments()
21356     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21357   ::std::string* _s = _internal_mutable_leading_comments();
21358   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.leading_comments)
21359   return _s;
21360 }
21361 inline const ::std::string& SourceCodeInfo_Location::_internal_leading_comments() const {
21362   ::google::protobuf::internal::TSanRead(&_impl_);
21363   return _impl_.leading_comments_.Get();
21364 }
21365 inline void SourceCodeInfo_Location::_internal_set_leading_comments(const ::std::string& value) {
21366   ::google::protobuf::internal::TSanWrite(&_impl_);
21367   _impl_._has_bits_[0] |= 0x00000001U;
21368   _impl_.leading_comments_.Set(value, GetArena());
21369 }
21370 inline ::std::string* PROTOBUF_NONNULL SourceCodeInfo_Location::_internal_mutable_leading_comments() {
21371   ::google::protobuf::internal::TSanWrite(&_impl_);
21372   _impl_._has_bits_[0] |= 0x00000001U;
21373   return _impl_.leading_comments_.Mutable( GetArena());
21374 }
21375 inline ::std::string* PROTOBUF_NULLABLE SourceCodeInfo_Location::release_leading_comments() {
21376   ::google::protobuf::internal::TSanWrite(&_impl_);
21377   // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.leading_comments)
21378   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
21379     return nullptr;
21380   }
21381   _impl_._has_bits_[0] &= ~0x00000001U;
21382   auto* released = _impl_.leading_comments_.Release();
21383   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
21384     _impl_.leading_comments_.Set("", GetArena());
21385   }
21386   return released;
21387 }
21388 inline void SourceCodeInfo_Location::set_allocated_leading_comments(::std::string* PROTOBUF_NULLABLE value) {
21389   ::google::protobuf::internal::TSanWrite(&_impl_);
21390   if (value != nullptr) {
21391     _impl_._has_bits_[0] |= 0x00000001U;
21392   } else {
21393     _impl_._has_bits_[0] &= ~0x00000001U;
21394   }
21395   _impl_.leading_comments_.SetAllocated(value, GetArena());
21396   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.leading_comments_.IsDefault()) {
21397     _impl_.leading_comments_.Set("", GetArena());
21398   }
21399   // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.leading_comments)
21400 }
21401 
21402 // optional string trailing_comments = 4;
21403 inline bool SourceCodeInfo_Location::has_trailing_comments() const {
21404   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
21405   return value;
21406 }
21407 inline void SourceCodeInfo_Location::clear_trailing_comments() {
21408   ::google::protobuf::internal::TSanWrite(&_impl_);
21409   _impl_.trailing_comments_.ClearToEmpty();
21410   _impl_._has_bits_[0] &= ~0x00000002U;
21411 }
21412 inline const ::std::string& SourceCodeInfo_Location::trailing_comments() const
21413     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21414   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.trailing_comments)
21415   return _internal_trailing_comments();
21416 }
21417 template <typename Arg_, typename... Args_>
21418 PROTOBUF_ALWAYS_INLINE void SourceCodeInfo_Location::set_trailing_comments(Arg_&& arg, Args_... args) {
21419   ::google::protobuf::internal::TSanWrite(&_impl_);
21420   _impl_._has_bits_[0] |= 0x00000002U;
21421   _impl_.trailing_comments_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
21422   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.trailing_comments)
21423 }
21424 inline ::std::string* PROTOBUF_NONNULL SourceCodeInfo_Location::mutable_trailing_comments()
21425     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21426   ::std::string* _s = _internal_mutable_trailing_comments();
21427   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.trailing_comments)
21428   return _s;
21429 }
21430 inline const ::std::string& SourceCodeInfo_Location::_internal_trailing_comments() const {
21431   ::google::protobuf::internal::TSanRead(&_impl_);
21432   return _impl_.trailing_comments_.Get();
21433 }
21434 inline void SourceCodeInfo_Location::_internal_set_trailing_comments(const ::std::string& value) {
21435   ::google::protobuf::internal::TSanWrite(&_impl_);
21436   _impl_._has_bits_[0] |= 0x00000002U;
21437   _impl_.trailing_comments_.Set(value, GetArena());
21438 }
21439 inline ::std::string* PROTOBUF_NONNULL SourceCodeInfo_Location::_internal_mutable_trailing_comments() {
21440   ::google::protobuf::internal::TSanWrite(&_impl_);
21441   _impl_._has_bits_[0] |= 0x00000002U;
21442   return _impl_.trailing_comments_.Mutable( GetArena());
21443 }
21444 inline ::std::string* PROTOBUF_NULLABLE SourceCodeInfo_Location::release_trailing_comments() {
21445   ::google::protobuf::internal::TSanWrite(&_impl_);
21446   // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.trailing_comments)
21447   if ((_impl_._has_bits_[0] & 0x00000002U) == 0) {
21448     return nullptr;
21449   }
21450   _impl_._has_bits_[0] &= ~0x00000002U;
21451   auto* released = _impl_.trailing_comments_.Release();
21452   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
21453     _impl_.trailing_comments_.Set("", GetArena());
21454   }
21455   return released;
21456 }
21457 inline void SourceCodeInfo_Location::set_allocated_trailing_comments(::std::string* PROTOBUF_NULLABLE value) {
21458   ::google::protobuf::internal::TSanWrite(&_impl_);
21459   if (value != nullptr) {
21460     _impl_._has_bits_[0] |= 0x00000002U;
21461   } else {
21462     _impl_._has_bits_[0] &= ~0x00000002U;
21463   }
21464   _impl_.trailing_comments_.SetAllocated(value, GetArena());
21465   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.trailing_comments_.IsDefault()) {
21466     _impl_.trailing_comments_.Set("", GetArena());
21467   }
21468   // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.trailing_comments)
21469 }
21470 
21471 // repeated string leading_detached_comments = 6;
21472 inline int SourceCodeInfo_Location::_internal_leading_detached_comments_size() const {
21473   return _internal_leading_detached_comments().size();
21474 }
21475 inline int SourceCodeInfo_Location::leading_detached_comments_size() const {
21476   return _internal_leading_detached_comments_size();
21477 }
21478 inline void SourceCodeInfo_Location::clear_leading_detached_comments() {
21479   ::google::protobuf::internal::TSanWrite(&_impl_);
21480   _impl_.leading_detached_comments_.Clear();
21481 }
21482 inline ::std::string* PROTOBUF_NONNULL SourceCodeInfo_Location::add_leading_detached_comments()
21483     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21484   ::google::protobuf::internal::TSanWrite(&_impl_);
21485   ::std::string* _s = _internal_mutable_leading_detached_comments()->Add();
21486   // @@protoc_insertion_point(field_add_mutable:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
21487   return _s;
21488 }
21489 inline const ::std::string& SourceCodeInfo_Location::leading_detached_comments(int index) const
21490     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21491   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
21492   return _internal_leading_detached_comments().Get(index);
21493 }
21494 inline ::std::string* PROTOBUF_NONNULL SourceCodeInfo_Location::mutable_leading_detached_comments(int index)
21495     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21496   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
21497   return _internal_mutable_leading_detached_comments()->Mutable(index);
21498 }
21499 template <typename Arg_, typename... Args_>
21500 inline void SourceCodeInfo_Location::set_leading_detached_comments(int index, Arg_&& value, Args_... args) {
21501   ::google::protobuf::internal::AssignToString(*_internal_mutable_leading_detached_comments()->Mutable(index), ::std::forward<Arg_>(value),
21502                         args... );
21503   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
21504 }
21505 template <typename Arg_, typename... Args_>
21506 inline void SourceCodeInfo_Location::add_leading_detached_comments(Arg_&& value, Args_... args) {
21507   ::google::protobuf::internal::TSanWrite(&_impl_);
21508   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_leading_detached_comments(),
21509                                ::std::forward<Arg_>(value),
21510                                args... );
21511   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
21512 }
21513 inline const ::google::protobuf::RepeatedPtrField<::std::string>& SourceCodeInfo_Location::leading_detached_comments()
21514     const ABSL_ATTRIBUTE_LIFETIME_BOUND {
21515   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
21516   return _internal_leading_detached_comments();
21517 }
21518 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
21519 SourceCodeInfo_Location::mutable_leading_detached_comments() ABSL_ATTRIBUTE_LIFETIME_BOUND {
21520   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
21521   ::google::protobuf::internal::TSanWrite(&_impl_);
21522   return _internal_mutable_leading_detached_comments();
21523 }
21524 inline const ::google::protobuf::RepeatedPtrField<::std::string>&
21525 SourceCodeInfo_Location::_internal_leading_detached_comments() const {
21526   ::google::protobuf::internal::TSanRead(&_impl_);
21527   return _impl_.leading_detached_comments_;
21528 }
21529 inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
21530 SourceCodeInfo_Location::_internal_mutable_leading_detached_comments() {
21531   ::google::protobuf::internal::TSanRead(&_impl_);
21532   return &_impl_.leading_detached_comments_;
21533 }
21534 
21535 // -------------------------------------------------------------------
21536 
21537 // SourceCodeInfo
21538 
21539 // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
21540 inline int SourceCodeInfo::_internal_location_size() const {
21541   return _internal_location().size();
21542 }
21543 inline int SourceCodeInfo::location_size() const {
21544   return _internal_location_size();
21545 }
21546 inline void SourceCodeInfo::clear_location() {
21547   ::google::protobuf::internal::TSanWrite(&_impl_);
21548   _impl_.location_.Clear();
21549 }
21550 inline ::google::protobuf::SourceCodeInfo_Location* PROTOBUF_NONNULL SourceCodeInfo::mutable_location(int index)
21551     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21552   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.location)
21553   return _internal_mutable_location()->Mutable(index);
21554 }
21555 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>* PROTOBUF_NONNULL SourceCodeInfo::mutable_location()
21556     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21557   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.location)
21558   ::google::protobuf::internal::TSanWrite(&_impl_);
21559   return _internal_mutable_location();
21560 }
21561 inline const ::google::protobuf::SourceCodeInfo_Location& SourceCodeInfo::location(int index) const
21562     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21563   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.location)
21564   return _internal_location().Get(index);
21565 }
21566 inline ::google::protobuf::SourceCodeInfo_Location* PROTOBUF_NONNULL SourceCodeInfo::add_location()
21567     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21568   ::google::protobuf::internal::TSanWrite(&_impl_);
21569   ::google::protobuf::SourceCodeInfo_Location* _add = _internal_mutable_location()->Add();
21570   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.location)
21571   return _add;
21572 }
21573 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>& SourceCodeInfo::location() const
21574     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21575   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.location)
21576   return _internal_location();
21577 }
21578 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>&
21579 SourceCodeInfo::_internal_location() const {
21580   ::google::protobuf::internal::TSanRead(&_impl_);
21581   return _impl_.location_;
21582 }
21583 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>* PROTOBUF_NONNULL
21584 SourceCodeInfo::_internal_mutable_location() {
21585   ::google::protobuf::internal::TSanRead(&_impl_);
21586   return &_impl_.location_;
21587 }
21588 
21589 // -------------------------------------------------------------------
21590 
21591 // GeneratedCodeInfo_Annotation
21592 
21593 // repeated int32 path = 1 [packed = true];
21594 inline int GeneratedCodeInfo_Annotation::_internal_path_size() const {
21595   return _internal_path().size();
21596 }
21597 inline int GeneratedCodeInfo_Annotation::path_size() const {
21598   return _internal_path_size();
21599 }
21600 inline void GeneratedCodeInfo_Annotation::clear_path() {
21601   ::google::protobuf::internal::TSanWrite(&_impl_);
21602   _impl_.path_.Clear();
21603 }
21604 inline ::int32_t GeneratedCodeInfo_Annotation::path(int index) const {
21605   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.path)
21606   return _internal_path().Get(index);
21607 }
21608 inline void GeneratedCodeInfo_Annotation::set_path(int index, ::int32_t value) {
21609   _internal_mutable_path()->Set(index, value);
21610   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.path)
21611 }
21612 inline void GeneratedCodeInfo_Annotation::add_path(::int32_t value) {
21613   ::google::protobuf::internal::TSanWrite(&_impl_);
21614   _internal_mutable_path()->Add(value);
21615   // @@protoc_insertion_point(field_add:google.protobuf.GeneratedCodeInfo.Annotation.path)
21616 }
21617 inline const ::google::protobuf::RepeatedField<::int32_t>& GeneratedCodeInfo_Annotation::path() const
21618     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21619   // @@protoc_insertion_point(field_list:google.protobuf.GeneratedCodeInfo.Annotation.path)
21620   return _internal_path();
21621 }
21622 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL GeneratedCodeInfo_Annotation::mutable_path()
21623     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21624   // @@protoc_insertion_point(field_mutable_list:google.protobuf.GeneratedCodeInfo.Annotation.path)
21625   ::google::protobuf::internal::TSanWrite(&_impl_);
21626   return _internal_mutable_path();
21627 }
21628 inline const ::google::protobuf::RepeatedField<::int32_t>&
21629 GeneratedCodeInfo_Annotation::_internal_path() const {
21630   ::google::protobuf::internal::TSanRead(&_impl_);
21631   return _impl_.path_;
21632 }
21633 inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
21634 GeneratedCodeInfo_Annotation::_internal_mutable_path() {
21635   ::google::protobuf::internal::TSanRead(&_impl_);
21636   return &_impl_.path_;
21637 }
21638 
21639 // optional string source_file = 2;
21640 inline bool GeneratedCodeInfo_Annotation::has_source_file() const {
21641   bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
21642   return value;
21643 }
21644 inline void GeneratedCodeInfo_Annotation::clear_source_file() {
21645   ::google::protobuf::internal::TSanWrite(&_impl_);
21646   _impl_.source_file_.ClearToEmpty();
21647   _impl_._has_bits_[0] &= ~0x00000001U;
21648 }
21649 inline const ::std::string& GeneratedCodeInfo_Annotation::source_file() const
21650     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21651   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
21652   return _internal_source_file();
21653 }
21654 template <typename Arg_, typename... Args_>
21655 PROTOBUF_ALWAYS_INLINE void GeneratedCodeInfo_Annotation::set_source_file(Arg_&& arg, Args_... args) {
21656   ::google::protobuf::internal::TSanWrite(&_impl_);
21657   _impl_._has_bits_[0] |= 0x00000001U;
21658   _impl_.source_file_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
21659   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
21660 }
21661 inline ::std::string* PROTOBUF_NONNULL GeneratedCodeInfo_Annotation::mutable_source_file()
21662     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21663   ::std::string* _s = _internal_mutable_source_file();
21664   // @@protoc_insertion_point(field_mutable:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
21665   return _s;
21666 }
21667 inline const ::std::string& GeneratedCodeInfo_Annotation::_internal_source_file() const {
21668   ::google::protobuf::internal::TSanRead(&_impl_);
21669   return _impl_.source_file_.Get();
21670 }
21671 inline void GeneratedCodeInfo_Annotation::_internal_set_source_file(const ::std::string& value) {
21672   ::google::protobuf::internal::TSanWrite(&_impl_);
21673   _impl_._has_bits_[0] |= 0x00000001U;
21674   _impl_.source_file_.Set(value, GetArena());
21675 }
21676 inline ::std::string* PROTOBUF_NONNULL GeneratedCodeInfo_Annotation::_internal_mutable_source_file() {
21677   ::google::protobuf::internal::TSanWrite(&_impl_);
21678   _impl_._has_bits_[0] |= 0x00000001U;
21679   return _impl_.source_file_.Mutable( GetArena());
21680 }
21681 inline ::std::string* PROTOBUF_NULLABLE GeneratedCodeInfo_Annotation::release_source_file() {
21682   ::google::protobuf::internal::TSanWrite(&_impl_);
21683   // @@protoc_insertion_point(field_release:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
21684   if ((_impl_._has_bits_[0] & 0x00000001U) == 0) {
21685     return nullptr;
21686   }
21687   _impl_._has_bits_[0] &= ~0x00000001U;
21688   auto* released = _impl_.source_file_.Release();
21689   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
21690     _impl_.source_file_.Set("", GetArena());
21691   }
21692   return released;
21693 }
21694 inline void GeneratedCodeInfo_Annotation::set_allocated_source_file(::std::string* PROTOBUF_NULLABLE value) {
21695   ::google::protobuf::internal::TSanWrite(&_impl_);
21696   if (value != nullptr) {
21697     _impl_._has_bits_[0] |= 0x00000001U;
21698   } else {
21699     _impl_._has_bits_[0] &= ~0x00000001U;
21700   }
21701   _impl_.source_file_.SetAllocated(value, GetArena());
21702   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.source_file_.IsDefault()) {
21703     _impl_.source_file_.Set("", GetArena());
21704   }
21705   // @@protoc_insertion_point(field_set_allocated:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
21706 }
21707 
21708 // optional int32 begin = 3;
21709 inline bool GeneratedCodeInfo_Annotation::has_begin() const {
21710   bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
21711   return value;
21712 }
21713 inline void GeneratedCodeInfo_Annotation::clear_begin() {
21714   ::google::protobuf::internal::TSanWrite(&_impl_);
21715   _impl_.begin_ = 0;
21716   _impl_._has_bits_[0] &= ~0x00000002U;
21717 }
21718 inline ::int32_t GeneratedCodeInfo_Annotation::begin() const {
21719   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.begin)
21720   return _internal_begin();
21721 }
21722 inline void GeneratedCodeInfo_Annotation::set_begin(::int32_t value) {
21723   _internal_set_begin(value);
21724   _impl_._has_bits_[0] |= 0x00000002U;
21725   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.begin)
21726 }
21727 inline ::int32_t GeneratedCodeInfo_Annotation::_internal_begin() const {
21728   ::google::protobuf::internal::TSanRead(&_impl_);
21729   return _impl_.begin_;
21730 }
21731 inline void GeneratedCodeInfo_Annotation::_internal_set_begin(::int32_t value) {
21732   ::google::protobuf::internal::TSanWrite(&_impl_);
21733   _impl_.begin_ = value;
21734 }
21735 
21736 // optional int32 end = 4;
21737 inline bool GeneratedCodeInfo_Annotation::has_end() const {
21738   bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
21739   return value;
21740 }
21741 inline void GeneratedCodeInfo_Annotation::clear_end() {
21742   ::google::protobuf::internal::TSanWrite(&_impl_);
21743   _impl_.end_ = 0;
21744   _impl_._has_bits_[0] &= ~0x00000004U;
21745 }
21746 inline ::int32_t GeneratedCodeInfo_Annotation::end() const {
21747   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.end)
21748   return _internal_end();
21749 }
21750 inline void GeneratedCodeInfo_Annotation::set_end(::int32_t value) {
21751   _internal_set_end(value);
21752   _impl_._has_bits_[0] |= 0x00000004U;
21753   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.end)
21754 }
21755 inline ::int32_t GeneratedCodeInfo_Annotation::_internal_end() const {
21756   ::google::protobuf::internal::TSanRead(&_impl_);
21757   return _impl_.end_;
21758 }
21759 inline void GeneratedCodeInfo_Annotation::_internal_set_end(::int32_t value) {
21760   ::google::protobuf::internal::TSanWrite(&_impl_);
21761   _impl_.end_ = value;
21762 }
21763 
21764 // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
21765 inline bool GeneratedCodeInfo_Annotation::has_semantic() const {
21766   bool value = (_impl_._has_bits_[0] & 0x00000008U) != 0;
21767   return value;
21768 }
21769 inline void GeneratedCodeInfo_Annotation::clear_semantic() {
21770   ::google::protobuf::internal::TSanWrite(&_impl_);
21771   _impl_.semantic_ = 0;
21772   _impl_._has_bits_[0] &= ~0x00000008U;
21773 }
21774 inline ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::semantic() const {
21775   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.semantic)
21776   return _internal_semantic();
21777 }
21778 inline void GeneratedCodeInfo_Annotation::set_semantic(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic value) {
21779   _internal_set_semantic(value);
21780   _impl_._has_bits_[0] |= 0x00000008U;
21781   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.semantic)
21782 }
21783 inline ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::_internal_semantic() const {
21784   ::google::protobuf::internal::TSanRead(&_impl_);
21785   return static_cast<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic>(_impl_.semantic_);
21786 }
21787 inline void GeneratedCodeInfo_Annotation::_internal_set_semantic(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic value) {
21788   ::google::protobuf::internal::TSanWrite(&_impl_);
21789 
21790                                           assert(::google::protobuf::internal::ValidateEnum(
21791                                               value, ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic_internal_data_));
21792                                           _impl_.semantic_ = value;
21793 }
21794 
21795 // -------------------------------------------------------------------
21796 
21797 // GeneratedCodeInfo
21798 
21799 // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
21800 inline int GeneratedCodeInfo::_internal_annotation_size() const {
21801   return _internal_annotation().size();
21802 }
21803 inline int GeneratedCodeInfo::annotation_size() const {
21804   return _internal_annotation_size();
21805 }
21806 inline void GeneratedCodeInfo::clear_annotation() {
21807   ::google::protobuf::internal::TSanWrite(&_impl_);
21808   _impl_.annotation_.Clear();
21809 }
21810 inline ::google::protobuf::GeneratedCodeInfo_Annotation* PROTOBUF_NONNULL GeneratedCodeInfo::mutable_annotation(int index)
21811     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21812   // @@protoc_insertion_point(field_mutable:google.protobuf.GeneratedCodeInfo.annotation)
21813   return _internal_mutable_annotation()->Mutable(index);
21814 }
21815 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>* PROTOBUF_NONNULL GeneratedCodeInfo::mutable_annotation()
21816     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21817   // @@protoc_insertion_point(field_mutable_list:google.protobuf.GeneratedCodeInfo.annotation)
21818   ::google::protobuf::internal::TSanWrite(&_impl_);
21819   return _internal_mutable_annotation();
21820 }
21821 inline const ::google::protobuf::GeneratedCodeInfo_Annotation& GeneratedCodeInfo::annotation(int index) const
21822     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21823   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.annotation)
21824   return _internal_annotation().Get(index);
21825 }
21826 inline ::google::protobuf::GeneratedCodeInfo_Annotation* PROTOBUF_NONNULL GeneratedCodeInfo::add_annotation()
21827     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21828   ::google::protobuf::internal::TSanWrite(&_impl_);
21829   ::google::protobuf::GeneratedCodeInfo_Annotation* _add = _internal_mutable_annotation()->Add();
21830   // @@protoc_insertion_point(field_add:google.protobuf.GeneratedCodeInfo.annotation)
21831   return _add;
21832 }
21833 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>& GeneratedCodeInfo::annotation() const
21834     ABSL_ATTRIBUTE_LIFETIME_BOUND {
21835   // @@protoc_insertion_point(field_list:google.protobuf.GeneratedCodeInfo.annotation)
21836   return _internal_annotation();
21837 }
21838 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>&
21839 GeneratedCodeInfo::_internal_annotation() const {
21840   ::google::protobuf::internal::TSanRead(&_impl_);
21841   return _impl_.annotation_;
21842 }
21843 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>* PROTOBUF_NONNULL
21844 GeneratedCodeInfo::_internal_mutable_annotation() {
21845   ::google::protobuf::internal::TSanRead(&_impl_);
21846   return &_impl_.annotation_;
21847 }
21848 
21849 #ifdef __GNUC__
21850 #pragma GCC diagnostic pop
21851 #endif  // __GNUC__
21852 
21853 // @@protoc_insertion_point(namespace_scope)
21854 }  // namespace protobuf
21855 }  // namespace google
21856 
21857 
21858 namespace google {
21859 namespace protobuf {
21860 
21861 template <>
21862 struct is_proto_enum<::google::protobuf::ExtensionRangeOptions_VerificationState> : std::true_type {};
21863 template <>
21864 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::ExtensionRangeOptions_VerificationState>() {
21865   return ::google::protobuf::ExtensionRangeOptions_VerificationState_descriptor();
21866 }
21867 template <>
21868 struct is_proto_enum<::google::protobuf::FieldDescriptorProto_Type> : std::true_type {};
21869 template <>
21870 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FieldDescriptorProto_Type>() {
21871   return ::google::protobuf::FieldDescriptorProto_Type_descriptor();
21872 }
21873 template <>
21874 struct is_proto_enum<::google::protobuf::FieldDescriptorProto_Label> : std::true_type {};
21875 template <>
21876 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FieldDescriptorProto_Label>() {
21877   return ::google::protobuf::FieldDescriptorProto_Label_descriptor();
21878 }
21879 template <>
21880 struct is_proto_enum<::google::protobuf::FileOptions_OptimizeMode> : std::true_type {};
21881 template <>
21882 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FileOptions_OptimizeMode>() {
21883   return ::google::protobuf::FileOptions_OptimizeMode_descriptor();
21884 }
21885 template <>
21886 struct is_proto_enum<::google::protobuf::FieldOptions_CType> : std::true_type {};
21887 template <>
21888 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FieldOptions_CType>() {
21889   return ::google::protobuf::FieldOptions_CType_descriptor();
21890 }
21891 template <>
21892 struct is_proto_enum<::google::protobuf::FieldOptions_JSType> : std::true_type {};
21893 template <>
21894 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FieldOptions_JSType>() {
21895   return ::google::protobuf::FieldOptions_JSType_descriptor();
21896 }
21897 template <>
21898 struct is_proto_enum<::google::protobuf::FieldOptions_OptionRetention> : std::true_type {};
21899 template <>
21900 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FieldOptions_OptionRetention>() {
21901   return ::google::protobuf::FieldOptions_OptionRetention_descriptor();
21902 }
21903 template <>
21904 struct is_proto_enum<::google::protobuf::FieldOptions_OptionTargetType> : std::true_type {};
21905 template <>
21906 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FieldOptions_OptionTargetType>() {
21907   return ::google::protobuf::FieldOptions_OptionTargetType_descriptor();
21908 }
21909 template <>
21910 struct is_proto_enum<::google::protobuf::MethodOptions_IdempotencyLevel> : std::true_type {};
21911 template <>
21912 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::MethodOptions_IdempotencyLevel>() {
21913   return ::google::protobuf::MethodOptions_IdempotencyLevel_descriptor();
21914 }
21915 template <>
21916 struct is_proto_enum<::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility> : std::true_type {};
21917 template <>
21918 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility>() {
21919   return ::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility_descriptor();
21920 }
21921 template <>
21922 struct is_proto_enum<::google::protobuf::FeatureSet_FieldPresence> : std::true_type {};
21923 template <>
21924 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FeatureSet_FieldPresence>() {
21925   return ::google::protobuf::FeatureSet_FieldPresence_descriptor();
21926 }
21927 template <>
21928 struct is_proto_enum<::google::protobuf::FeatureSet_EnumType> : std::true_type {};
21929 template <>
21930 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FeatureSet_EnumType>() {
21931   return ::google::protobuf::FeatureSet_EnumType_descriptor();
21932 }
21933 template <>
21934 struct is_proto_enum<::google::protobuf::FeatureSet_RepeatedFieldEncoding> : std::true_type {};
21935 template <>
21936 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FeatureSet_RepeatedFieldEncoding>() {
21937   return ::google::protobuf::FeatureSet_RepeatedFieldEncoding_descriptor();
21938 }
21939 template <>
21940 struct is_proto_enum<::google::protobuf::FeatureSet_Utf8Validation> : std::true_type {};
21941 template <>
21942 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FeatureSet_Utf8Validation>() {
21943   return ::google::protobuf::FeatureSet_Utf8Validation_descriptor();
21944 }
21945 template <>
21946 struct is_proto_enum<::google::protobuf::FeatureSet_MessageEncoding> : std::true_type {};
21947 template <>
21948 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FeatureSet_MessageEncoding>() {
21949   return ::google::protobuf::FeatureSet_MessageEncoding_descriptor();
21950 }
21951 template <>
21952 struct is_proto_enum<::google::protobuf::FeatureSet_JsonFormat> : std::true_type {};
21953 template <>
21954 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FeatureSet_JsonFormat>() {
21955   return ::google::protobuf::FeatureSet_JsonFormat_descriptor();
21956 }
21957 template <>
21958 struct is_proto_enum<::google::protobuf::FeatureSet_EnforceNamingStyle> : std::true_type {};
21959 template <>
21960 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::FeatureSet_EnforceNamingStyle>() {
21961   return ::google::protobuf::FeatureSet_EnforceNamingStyle_descriptor();
21962 }
21963 template <>
21964 struct is_proto_enum<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic> : std::true_type {};
21965 template <>
21966 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic>() {
21967   return ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic_descriptor();
21968 }
21969 template <>
21970 struct is_proto_enum<::google::protobuf::Edition> : std::true_type {};
21971 template <>
21972 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::Edition>() {
21973   return ::google::protobuf::Edition_descriptor();
21974 }
21975 template <>
21976 struct is_proto_enum<::google::protobuf::SymbolVisibility> : std::true_type {};
21977 template <>
21978 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::SymbolVisibility>() {
21979   return ::google::protobuf::SymbolVisibility_descriptor();
21980 }
21981 
21982 }  // namespace protobuf
21983 }  // namespace google
21984 
21985 // @@protoc_insertion_point(global_scope)
21986 
21987 #include "google/protobuf/port_undef.inc"
21988 
21989 #endif  // google_2fprotobuf_2fdescriptor_2eproto_2epb_2eh