agones.dev/agones@v1.53.0/sdks/cpp/src/google/http.pb.cc (about)

     1  // Copyright 2024 Google LLC All Rights Reserved.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // This code was autogenerated. Do not edit directly.
    16  // Generated by the protocol buffer compiler.  DO NOT EDIT!
    17  // NO CHECKED-IN PROTOBUF GENCODE
    18  // source: google/api/http.proto
    19  // Protobuf C++ Version: 6.30.0
    20  
    21  #include "google/api/http.pb.h"
    22  
    23  #include <algorithm>
    24  #include <type_traits>
    25  #include "google/protobuf/io/coded_stream.h"
    26  #include "google/protobuf/generated_message_tctable_impl.h"
    27  #include "google/protobuf/extension_set.h"
    28  #include "google/protobuf/generated_message_util.h"
    29  #include "google/protobuf/wire_format_lite.h"
    30  #include "google/protobuf/descriptor.h"
    31  #include "google/protobuf/generated_message_reflection.h"
    32  #include "google/protobuf/reflection_ops.h"
    33  #include "google/protobuf/wire_format.h"
    34  // @@protoc_insertion_point(includes)
    35  
    36  // Must be included last.
    37  #include "google/protobuf/port_def.inc"
    38  PROTOBUF_PRAGMA_INIT_SEG
    39  namespace _pb = ::google::protobuf;
    40  namespace _pbi = ::google::protobuf::internal;
    41  namespace _fl = ::google::protobuf::internal::field_layout;
    42  namespace google {
    43  namespace api {
    44  
    45  inline constexpr CustomHttpPattern::Impl_::Impl_(
    46      ::_pbi::ConstantInitialized) noexcept
    47        : _cached_size_{0},
    48          kind_(
    49              &::google::protobuf::internal::fixed_address_empty_string,
    50              ::_pbi::ConstantInitialized()),
    51          path_(
    52              &::google::protobuf::internal::fixed_address_empty_string,
    53              ::_pbi::ConstantInitialized()) {}
    54  
    55  template <typename>
    56  PROTOBUF_CONSTEXPR CustomHttpPattern::CustomHttpPattern(::_pbi::ConstantInitialized)
    57  #if defined(PROTOBUF_CUSTOM_VTABLE)
    58      : ::google::protobuf::Message(CustomHttpPattern_class_data_.base()),
    59  #else   // PROTOBUF_CUSTOM_VTABLE
    60      : ::google::protobuf::Message(),
    61  #endif  // PROTOBUF_CUSTOM_VTABLE
    62        _impl_(::_pbi::ConstantInitialized()) {
    63  }
    64  struct CustomHttpPatternDefaultTypeInternal {
    65    PROTOBUF_CONSTEXPR CustomHttpPatternDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
    66    ~CustomHttpPatternDefaultTypeInternal() {}
    67    union {
    68      CustomHttpPattern _instance;
    69    };
    70  };
    71  
    72  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    73      PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CustomHttpPatternDefaultTypeInternal _CustomHttpPattern_default_instance_;
    74  
    75  inline constexpr HttpRule::Impl_::Impl_(
    76      ::_pbi::ConstantInitialized) noexcept
    77        : _cached_size_{0},
    78          additional_bindings_{},
    79          selector_(
    80              &::google::protobuf::internal::fixed_address_empty_string,
    81              ::_pbi::ConstantInitialized()),
    82          body_(
    83              &::google::protobuf::internal::fixed_address_empty_string,
    84              ::_pbi::ConstantInitialized()),
    85          response_body_(
    86              &::google::protobuf::internal::fixed_address_empty_string,
    87              ::_pbi::ConstantInitialized()),
    88          pattern_{},
    89          _oneof_case_{} {}
    90  
    91  template <typename>
    92  PROTOBUF_CONSTEXPR HttpRule::HttpRule(::_pbi::ConstantInitialized)
    93  #if defined(PROTOBUF_CUSTOM_VTABLE)
    94      : ::google::protobuf::Message(HttpRule_class_data_.base()),
    95  #else   // PROTOBUF_CUSTOM_VTABLE
    96      : ::google::protobuf::Message(),
    97  #endif  // PROTOBUF_CUSTOM_VTABLE
    98        _impl_(::_pbi::ConstantInitialized()) {
    99  }
   100  struct HttpRuleDefaultTypeInternal {
   101    PROTOBUF_CONSTEXPR HttpRuleDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
   102    ~HttpRuleDefaultTypeInternal() {}
   103    union {
   104      HttpRule _instance;
   105    };
   106  };
   107  
   108  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
   109      PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HttpRuleDefaultTypeInternal _HttpRule_default_instance_;
   110  
   111  inline constexpr Http::Impl_::Impl_(
   112      ::_pbi::ConstantInitialized) noexcept
   113        : _cached_size_{0},
   114          rules_{},
   115          fully_decode_reserved_expansion_{false} {}
   116  
   117  template <typename>
   118  PROTOBUF_CONSTEXPR Http::Http(::_pbi::ConstantInitialized)
   119  #if defined(PROTOBUF_CUSTOM_VTABLE)
   120      : ::google::protobuf::Message(Http_class_data_.base()),
   121  #else   // PROTOBUF_CUSTOM_VTABLE
   122      : ::google::protobuf::Message(),
   123  #endif  // PROTOBUF_CUSTOM_VTABLE
   124        _impl_(::_pbi::ConstantInitialized()) {
   125  }
   126  struct HttpDefaultTypeInternal {
   127    PROTOBUF_CONSTEXPR HttpDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
   128    ~HttpDefaultTypeInternal() {}
   129    union {
   130      Http _instance;
   131    };
   132  };
   133  
   134  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
   135      PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HttpDefaultTypeInternal _Http_default_instance_;
   136  }  // namespace api
   137  }  // namespace google
   138  static constexpr const ::_pb::EnumDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
   139      file_level_enum_descriptors_google_2fapi_2fhttp_2eproto = nullptr;
   140  static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
   141      file_level_service_descriptors_google_2fapi_2fhttp_2eproto = nullptr;
   142  const ::uint32_t
   143      TableStruct_google_2fapi_2fhttp_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
   144          protodesc_cold) = {
   145          PROTOBUF_FIELD_OFFSET(::google::api::Http, _impl_._has_bits_),
   146          PROTOBUF_FIELD_OFFSET(::google::api::Http, _internal_metadata_),
   147          ~0u,  // no _extensions_
   148          ~0u,  // no _oneof_case_
   149          ~0u,  // no _weak_field_map_
   150          ~0u,  // no _inlined_string_donated_
   151          ~0u,  // no _split_
   152          ~0u,  // no sizeof(Split)
   153          PROTOBUF_FIELD_OFFSET(::google::api::Http, _impl_.rules_),
   154          PROTOBUF_FIELD_OFFSET(::google::api::Http, _impl_.fully_decode_reserved_expansion_),
   155          ~0u,
   156          0,
   157          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_._has_bits_),
   158          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _internal_metadata_),
   159          ~0u,  // no _extensions_
   160          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_._oneof_case_[0]),
   161          ~0u,  // no _weak_field_map_
   162          ~0u,  // no _inlined_string_donated_
   163          ~0u,  // no _split_
   164          ~0u,  // no sizeof(Split)
   165          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.selector_),
   166          ::_pbi::kInvalidFieldOffsetTag,
   167          ::_pbi::kInvalidFieldOffsetTag,
   168          ::_pbi::kInvalidFieldOffsetTag,
   169          ::_pbi::kInvalidFieldOffsetTag,
   170          ::_pbi::kInvalidFieldOffsetTag,
   171          ::_pbi::kInvalidFieldOffsetTag,
   172          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.body_),
   173          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.response_body_),
   174          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.additional_bindings_),
   175          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.pattern_),
   176          0,
   177          ~0u,
   178          ~0u,
   179          ~0u,
   180          ~0u,
   181          ~0u,
   182          ~0u,
   183          1,
   184          2,
   185          ~0u,
   186          PROTOBUF_FIELD_OFFSET(::google::api::CustomHttpPattern, _impl_._has_bits_),
   187          PROTOBUF_FIELD_OFFSET(::google::api::CustomHttpPattern, _internal_metadata_),
   188          ~0u,  // no _extensions_
   189          ~0u,  // no _oneof_case_
   190          ~0u,  // no _weak_field_map_
   191          ~0u,  // no _inlined_string_donated_
   192          ~0u,  // no _split_
   193          ~0u,  // no sizeof(Split)
   194          PROTOBUF_FIELD_OFFSET(::google::api::CustomHttpPattern, _impl_.kind_),
   195          PROTOBUF_FIELD_OFFSET(::google::api::CustomHttpPattern, _impl_.path_),
   196          0,
   197          1,
   198  };
   199  
   200  static const ::_pbi::MigrationSchema
   201      schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
   202          {0, 10, -1, sizeof(::google::api::Http)},
   203          {12, 31, -1, sizeof(::google::api::HttpRule)},
   204          {41, 51, -1, sizeof(::google::api::CustomHttpPattern)},
   205  };
   206  static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = {
   207      &::google::api::_Http_default_instance_._instance,
   208      &::google::api::_HttpRule_default_instance_._instance,
   209      &::google::api::_CustomHttpPattern_default_instance_._instance,
   210  };
   211  const char descriptor_table_protodef_google_2fapi_2fhttp_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
   212      protodesc_cold) = {
   213      "\n\025google/api/http.proto\022\ngoogle.api\"T\n\004H"
   214      "ttp\022#\n\005rules\030\001 \003(\0132\024.google.api.HttpRule"
   215      "\022\'\n\037fully_decode_reserved_expansion\030\002 \001("
   216      "\010\"\201\002\n\010HttpRule\022\020\n\010selector\030\001 \001(\t\022\r\n\003get\030"
   217      "\002 \001(\tH\000\022\r\n\003put\030\003 \001(\tH\000\022\016\n\004post\030\004 \001(\tH\000\022\020"
   218      "\n\006delete\030\005 \001(\tH\000\022\017\n\005patch\030\006 \001(\tH\000\022/\n\006cus"
   219      "tom\030\010 \001(\0132\035.google.api.CustomHttpPattern"
   220      "H\000\022\014\n\004body\030\007 \001(\t\022\025\n\rresponse_body\030\014 \001(\t\022"
   221      "1\n\023additional_bindings\030\013 \003(\0132\024.google.ap"
   222      "i.HttpRuleB\t\n\007pattern\"/\n\021CustomHttpPatte"
   223      "rn\022\014\n\004kind\030\001 \001(\t\022\014\n\004path\030\002 \001(\tBj\n\016com.go"
   224      "ogle.apiB\tHttpProtoP\001ZAgoogle.golang.org"
   225      "/genproto/googleapis/api/annotations;ann"
   226      "otations\370\001\001\242\002\004GAPIb\006proto3"
   227  };
   228  static ::absl::once_flag descriptor_table_google_2fapi_2fhttp_2eproto_once;
   229  PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_google_2fapi_2fhttp_2eproto = {
   230      false,
   231      false,
   232      546,
   233      descriptor_table_protodef_google_2fapi_2fhttp_2eproto,
   234      "google/api/http.proto",
   235      &descriptor_table_google_2fapi_2fhttp_2eproto_once,
   236      nullptr,
   237      0,
   238      3,
   239      schemas,
   240      file_default_instances,
   241      TableStruct_google_2fapi_2fhttp_2eproto::offsets,
   242      file_level_enum_descriptors_google_2fapi_2fhttp_2eproto,
   243      file_level_service_descriptors_google_2fapi_2fhttp_2eproto,
   244  };
   245  namespace google {
   246  namespace api {
   247  // ===================================================================
   248  
   249  class Http::_Internal {
   250   public:
   251    using HasBits =
   252        decltype(std::declval<Http>()._impl_._has_bits_);
   253    static constexpr ::int32_t kHasBitsOffset =
   254        8 * PROTOBUF_FIELD_OFFSET(Http, _impl_._has_bits_);
   255  };
   256  
   257  Http::Http(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
   258  #if defined(PROTOBUF_CUSTOM_VTABLE)
   259      : ::google::protobuf::Message(arena, Http_class_data_.base()) {
   260  #else   // PROTOBUF_CUSTOM_VTABLE
   261      : ::google::protobuf::Message(arena) {
   262  #endif  // PROTOBUF_CUSTOM_VTABLE
   263    SharedCtor(arena);
   264    // @@protoc_insertion_point(arena_constructor:google.api.Http)
   265  }
   266  PROTOBUF_NDEBUG_INLINE Http::Impl_::Impl_(
   267      ::google::protobuf::internal::InternalVisibility visibility,
   268      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
   269      const ::google::api::Http& from_msg)
   270        : _has_bits_{from._has_bits_},
   271          _cached_size_{0},
   272          rules_{visibility, arena, from.rules_} {}
   273  
   274  Http::Http(
   275      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
   276      const Http& from)
   277  #if defined(PROTOBUF_CUSTOM_VTABLE)
   278      : ::google::protobuf::Message(arena, Http_class_data_.base()) {
   279  #else   // PROTOBUF_CUSTOM_VTABLE
   280      : ::google::protobuf::Message(arena) {
   281  #endif  // PROTOBUF_CUSTOM_VTABLE
   282    Http* const _this = this;
   283    (void)_this;
   284    _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
   285        from._internal_metadata_);
   286    new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
   287    _impl_.fully_decode_reserved_expansion_ = from._impl_.fully_decode_reserved_expansion_;
   288  
   289    // @@protoc_insertion_point(copy_constructor:google.api.Http)
   290  }
   291  PROTOBUF_NDEBUG_INLINE Http::Impl_::Impl_(
   292      ::google::protobuf::internal::InternalVisibility visibility,
   293      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
   294        : _cached_size_{0},
   295          rules_{visibility, arena} {}
   296  
   297  inline void Http::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
   298    new (&_impl_) Impl_(internal_visibility(), arena);
   299    _impl_.fully_decode_reserved_expansion_ = {};
   300  }
   301  Http::~Http() {
   302    // @@protoc_insertion_point(destructor:google.api.Http)
   303    SharedDtor(*this);
   304  }
   305  inline void Http::SharedDtor(MessageLite& self) {
   306    Http& this_ = static_cast<Http&>(self);
   307    this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
   308    ABSL_DCHECK(this_.GetArena() == nullptr);
   309    this_._impl_.~Impl_();
   310  }
   311  
   312  inline void* PROTOBUF_NONNULL Http::PlacementNew_(
   313      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
   314      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
   315    return ::new (mem) Http(arena);
   316  }
   317  constexpr auto Http::InternalNewImpl_() {
   318    constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
   319        PROTOBUF_FIELD_OFFSET(Http, _impl_.rules_) +
   320            decltype(Http::_impl_.rules_)::
   321                InternalGetArenaOffset(
   322                    ::google::protobuf::Message::internal_visibility()),
   323    });
   324    if (arena_bits.has_value()) {
   325      return ::google::protobuf::internal::MessageCreator::ZeroInit(
   326          sizeof(Http), alignof(Http), *arena_bits);
   327    } else {
   328      return ::google::protobuf::internal::MessageCreator(&Http::PlacementNew_,
   329                                   sizeof(Http),
   330                                   alignof(Http));
   331    }
   332  }
   333  constexpr auto Http::InternalGenerateClassData_() {
   334    return ::google::protobuf::internal::ClassDataFull{
   335        ::google::protobuf::internal::ClassData{
   336            &_Http_default_instance_._instance,
   337            &_table_.header,
   338            nullptr,  // OnDemandRegisterArenaDtor
   339            nullptr,  // IsInitialized
   340            &Http::MergeImpl,
   341            ::google::protobuf::Message::GetNewImpl<Http>(),
   342  #if defined(PROTOBUF_CUSTOM_VTABLE)
   343            &Http::SharedDtor,
   344            ::google::protobuf::Message::GetClearImpl<Http>(), &Http::ByteSizeLong,
   345                &Http::_InternalSerialize,
   346  #endif  // PROTOBUF_CUSTOM_VTABLE
   347            PROTOBUF_FIELD_OFFSET(Http, _impl_._cached_size_),
   348            false,
   349        },
   350        &Http::kDescriptorMethods,
   351        &descriptor_table_google_2fapi_2fhttp_2eproto,
   352        nullptr,  // tracker
   353    };
   354  }
   355  
   356  PROTOBUF_CONSTINIT AGONES_EXPORT
   357      PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
   358          Http_class_data_ =
   359              Http::InternalGenerateClassData_();
   360  
   361  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL Http::GetClassData() const {
   362    ::google::protobuf::internal::PrefetchToLocalCache(&Http_class_data_);
   363    ::google::protobuf::internal::PrefetchToLocalCache(Http_class_data_.tc_table);
   364    return Http_class_data_.base();
   365  }
   366  PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
   367  const ::_pbi::TcParseTable<1, 2, 1, 0, 2>
   368  Http::_table_ = {
   369    {
   370      PROTOBUF_FIELD_OFFSET(Http, _impl_._has_bits_),
   371      0, // no _extensions_
   372      2, 8,  // max_field_number, fast_idx_mask
   373      offsetof(decltype(_table_), field_lookup_table),
   374      4294967292,  // skipmap
   375      offsetof(decltype(_table_), field_entries),
   376      2,  // num_field_entries
   377      1,  // num_aux_entries
   378      offsetof(decltype(_table_), aux_entries),
   379      Http_class_data_.base(),
   380      nullptr,  // post_loop_handler
   381      ::_pbi::TcParser::GenericFallback,  // fallback
   382      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
   383      ::_pbi::TcParser::GetTable<::google::api::Http>(),  // to_prefetch
   384      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
   385    }, {{
   386      // bool fully_decode_reserved_expansion = 2;
   387      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Http, _impl_.fully_decode_reserved_expansion_), 0>(),
   388       {16, 0, 0, PROTOBUF_FIELD_OFFSET(Http, _impl_.fully_decode_reserved_expansion_)}},
   389      // repeated .google.api.HttpRule rules = 1;
   390      {::_pbi::TcParser::FastMtR1,
   391       {10, 63, 0, PROTOBUF_FIELD_OFFSET(Http, _impl_.rules_)}},
   392    }}, {{
   393      65535, 65535
   394    }}, {{
   395      // repeated .google.api.HttpRule rules = 1;
   396      {PROTOBUF_FIELD_OFFSET(Http, _impl_.rules_), -1, 0,
   397      (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
   398      // bool fully_decode_reserved_expansion = 2;
   399      {PROTOBUF_FIELD_OFFSET(Http, _impl_.fully_decode_reserved_expansion_), _Internal::kHasBitsOffset + 0, 0,
   400      (0 | ::_fl::kFcOptional | ::_fl::kBool)},
   401    }},
   402    {{
   403        {::_pbi::TcParser::GetTable<::google::api::HttpRule>()},
   404    }},
   405    {{
   406    }},
   407  };
   408  PROTOBUF_NOINLINE void Http::Clear() {
   409  // @@protoc_insertion_point(message_clear_start:google.api.Http)
   410    ::google::protobuf::internal::TSanWrite(&_impl_);
   411    ::uint32_t cached_has_bits = 0;
   412    // Prevent compiler warnings about cached_has_bits being unused
   413    (void) cached_has_bits;
   414  
   415    _impl_.rules_.Clear();
   416    _impl_.fully_decode_reserved_expansion_ = false;
   417    _impl_._has_bits_.Clear();
   418    _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
   419  }
   420  
   421  #if defined(PROTOBUF_CUSTOM_VTABLE)
   422  ::uint8_t* PROTOBUF_NONNULL Http::_InternalSerialize(
   423      const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
   424      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
   425    const Http& this_ = static_cast<const Http&>(base);
   426  #else   // PROTOBUF_CUSTOM_VTABLE
   427  ::uint8_t* PROTOBUF_NONNULL Http::_InternalSerialize(
   428      ::uint8_t* PROTOBUF_NONNULL target,
   429      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
   430    const Http& this_ = *this;
   431  #endif  // PROTOBUF_CUSTOM_VTABLE
   432    // @@protoc_insertion_point(serialize_to_array_start:google.api.Http)
   433    ::uint32_t cached_has_bits = 0;
   434    (void)cached_has_bits;
   435  
   436    // repeated .google.api.HttpRule rules = 1;
   437    for (unsigned i = 0, n = static_cast<unsigned>(
   438                             this_._internal_rules_size());
   439         i < n; i++) {
   440      const auto& repfield = this_._internal_rules().Get(i);
   441      target =
   442          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
   443              1, repfield, repfield.GetCachedSize(),
   444              target, stream);
   445    }
   446  
   447    // bool fully_decode_reserved_expansion = 2;
   448    if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
   449      if (this_._internal_fully_decode_reserved_expansion() != 0) {
   450        target = stream->EnsureSpace(target);
   451        target = ::_pbi::WireFormatLite::WriteBoolToArray(
   452            2, this_._internal_fully_decode_reserved_expansion(), target);
   453      }
   454    }
   455  
   456    if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
   457      target =
   458          ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
   459              this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
   460    }
   461    // @@protoc_insertion_point(serialize_to_array_end:google.api.Http)
   462    return target;
   463  }
   464  
   465  #if defined(PROTOBUF_CUSTOM_VTABLE)
   466  ::size_t Http::ByteSizeLong(const MessageLite& base) {
   467    const Http& this_ = static_cast<const Http&>(base);
   468  #else   // PROTOBUF_CUSTOM_VTABLE
   469  ::size_t Http::ByteSizeLong() const {
   470    const Http& this_ = *this;
   471  #endif  // PROTOBUF_CUSTOM_VTABLE
   472    // @@protoc_insertion_point(message_byte_size_start:google.api.Http)
   473    ::size_t total_size = 0;
   474  
   475    ::uint32_t cached_has_bits = 0;
   476    // Prevent compiler warnings about cached_has_bits being unused
   477    (void)cached_has_bits;
   478  
   479    ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   480     {
   481      // repeated .google.api.HttpRule rules = 1;
   482      {
   483        total_size += 1UL * this_._internal_rules_size();
   484        for (const auto& msg : this_._internal_rules()) {
   485          total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
   486        }
   487      }
   488    }
   489     {
   490      // bool fully_decode_reserved_expansion = 2;
   491      cached_has_bits = this_._impl_._has_bits_[0];
   492      if ((cached_has_bits & 0x00000001u) != 0) {
   493        if (this_._internal_fully_decode_reserved_expansion() != 0) {
   494          total_size += 2;
   495        }
   496      }
   497    }
   498    return this_.MaybeComputeUnknownFieldsSize(total_size,
   499                                               &this_._impl_._cached_size_);
   500  }
   501  
   502  void Http::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
   503    auto* const _this = static_cast<Http*>(&to_msg);
   504    auto& from = static_cast<const Http&>(from_msg);
   505    // @@protoc_insertion_point(class_specific_merge_from_start:google.api.Http)
   506    ABSL_DCHECK_NE(&from, _this);
   507    ::uint32_t cached_has_bits = 0;
   508    (void) cached_has_bits;
   509  
   510    _this->_internal_mutable_rules()->MergeFrom(
   511        from._internal_rules());
   512    cached_has_bits = from._impl_._has_bits_[0];
   513    if ((cached_has_bits & 0x00000001u) != 0) {
   514      if (from._internal_fully_decode_reserved_expansion() != 0) {
   515        _this->_impl_.fully_decode_reserved_expansion_ = from._impl_.fully_decode_reserved_expansion_;
   516      }
   517    }
   518    _this->_impl_._has_bits_[0] |= cached_has_bits;
   519    _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
   520  }
   521  
   522  void Http::CopyFrom(const Http& from) {
   523  // @@protoc_insertion_point(class_specific_copy_from_start:google.api.Http)
   524    if (&from == this) return;
   525    Clear();
   526    MergeFrom(from);
   527  }
   528  
   529  
   530  void Http::InternalSwap(Http* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
   531    using std::swap;
   532    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
   533    swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
   534    _impl_.rules_.InternalSwap(&other->_impl_.rules_);
   535    swap(_impl_.fully_decode_reserved_expansion_, other->_impl_.fully_decode_reserved_expansion_);
   536  }
   537  
   538  ::google::protobuf::Metadata Http::GetMetadata() const {
   539    return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
   540  }
   541  // ===================================================================
   542  
   543  class HttpRule::_Internal {
   544   public:
   545    using HasBits =
   546        decltype(std::declval<HttpRule>()._impl_._has_bits_);
   547    static constexpr ::int32_t kHasBitsOffset =
   548        8 * PROTOBUF_FIELD_OFFSET(HttpRule, _impl_._has_bits_);
   549    static constexpr ::int32_t kOneofCaseOffset =
   550        PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_._oneof_case_);
   551  };
   552  
   553  void HttpRule::set_allocated_custom(::google::api::CustomHttpPattern* PROTOBUF_NULLABLE custom) {
   554    ::google::protobuf::Arena* message_arena = GetArena();
   555    clear_pattern();
   556    if (custom) {
   557      ::google::protobuf::Arena* submessage_arena = custom->GetArena();
   558      if (message_arena != submessage_arena) {
   559        custom = ::google::protobuf::internal::GetOwnedMessage(message_arena, custom, submessage_arena);
   560      }
   561      set_has_custom();
   562      _impl_.pattern_.custom_ = custom;
   563    }
   564    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.custom)
   565  }
   566  HttpRule::HttpRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
   567  #if defined(PROTOBUF_CUSTOM_VTABLE)
   568      : ::google::protobuf::Message(arena, HttpRule_class_data_.base()) {
   569  #else   // PROTOBUF_CUSTOM_VTABLE
   570      : ::google::protobuf::Message(arena) {
   571  #endif  // PROTOBUF_CUSTOM_VTABLE
   572    SharedCtor(arena);
   573    // @@protoc_insertion_point(arena_constructor:google.api.HttpRule)
   574  }
   575  PROTOBUF_NDEBUG_INLINE HttpRule::Impl_::Impl_(
   576      ::google::protobuf::internal::InternalVisibility visibility,
   577      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
   578      const ::google::api::HttpRule& from_msg)
   579        : _has_bits_{from._has_bits_},
   580          _cached_size_{0},
   581          additional_bindings_{visibility, arena, from.additional_bindings_},
   582          selector_(arena, from.selector_),
   583          body_(arena, from.body_),
   584          response_body_(arena, from.response_body_),
   585          pattern_{},
   586          _oneof_case_{from._oneof_case_[0]} {}
   587  
   588  HttpRule::HttpRule(
   589      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
   590      const HttpRule& from)
   591  #if defined(PROTOBUF_CUSTOM_VTABLE)
   592      : ::google::protobuf::Message(arena, HttpRule_class_data_.base()) {
   593  #else   // PROTOBUF_CUSTOM_VTABLE
   594      : ::google::protobuf::Message(arena) {
   595  #endif  // PROTOBUF_CUSTOM_VTABLE
   596    HttpRule* const _this = this;
   597    (void)_this;
   598    _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
   599        from._internal_metadata_);
   600    new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
   601    switch (pattern_case()) {
   602      case PATTERN_NOT_SET:
   603        break;
   604        case kGet:
   605          new (&_impl_.pattern_.get_) decltype(_impl_.pattern_.get_){arena, from._impl_.pattern_.get_};
   606          break;
   607        case kPut:
   608          new (&_impl_.pattern_.put_) decltype(_impl_.pattern_.put_){arena, from._impl_.pattern_.put_};
   609          break;
   610        case kPost:
   611          new (&_impl_.pattern_.post_) decltype(_impl_.pattern_.post_){arena, from._impl_.pattern_.post_};
   612          break;
   613        case kDelete:
   614          new (&_impl_.pattern_.delete__) decltype(_impl_.pattern_.delete__){arena, from._impl_.pattern_.delete__};
   615          break;
   616        case kPatch:
   617          new (&_impl_.pattern_.patch_) decltype(_impl_.pattern_.patch_){arena, from._impl_.pattern_.patch_};
   618          break;
   619        case kCustom:
   620          _impl_.pattern_.custom_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.pattern_.custom_);
   621          break;
   622    }
   623  
   624    // @@protoc_insertion_point(copy_constructor:google.api.HttpRule)
   625  }
   626  PROTOBUF_NDEBUG_INLINE HttpRule::Impl_::Impl_(
   627      ::google::protobuf::internal::InternalVisibility visibility,
   628      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
   629        : _cached_size_{0},
   630          additional_bindings_{visibility, arena},
   631          selector_(arena),
   632          body_(arena),
   633          response_body_(arena),
   634          pattern_{},
   635          _oneof_case_{} {}
   636  
   637  inline void HttpRule::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
   638    new (&_impl_) Impl_(internal_visibility(), arena);
   639  }
   640  HttpRule::~HttpRule() {
   641    // @@protoc_insertion_point(destructor:google.api.HttpRule)
   642    SharedDtor(*this);
   643  }
   644  inline void HttpRule::SharedDtor(MessageLite& self) {
   645    HttpRule& this_ = static_cast<HttpRule&>(self);
   646    this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
   647    ABSL_DCHECK(this_.GetArena() == nullptr);
   648    this_._impl_.selector_.Destroy();
   649    this_._impl_.body_.Destroy();
   650    this_._impl_.response_body_.Destroy();
   651    if (this_.has_pattern()) {
   652      this_.clear_pattern();
   653    }
   654    this_._impl_.~Impl_();
   655  }
   656  
   657  void HttpRule::clear_pattern() {
   658  // @@protoc_insertion_point(one_of_clear_start:google.api.HttpRule)
   659    ::google::protobuf::internal::TSanWrite(&_impl_);
   660    switch (pattern_case()) {
   661      case kGet: {
   662        _impl_.pattern_.get_.Destroy();
   663        break;
   664      }
   665      case kPut: {
   666        _impl_.pattern_.put_.Destroy();
   667        break;
   668      }
   669      case kPost: {
   670        _impl_.pattern_.post_.Destroy();
   671        break;
   672      }
   673      case kDelete: {
   674        _impl_.pattern_.delete__.Destroy();
   675        break;
   676      }
   677      case kPatch: {
   678        _impl_.pattern_.patch_.Destroy();
   679        break;
   680      }
   681      case kCustom: {
   682        if (GetArena() == nullptr) {
   683          delete _impl_.pattern_.custom_;
   684        } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
   685          ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.pattern_.custom_);
   686        }
   687        break;
   688      }
   689      case PATTERN_NOT_SET: {
   690        break;
   691      }
   692    }
   693    _impl_._oneof_case_[0] = PATTERN_NOT_SET;
   694  }
   695  
   696  
   697  inline void* PROTOBUF_NONNULL HttpRule::PlacementNew_(
   698      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
   699      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
   700    return ::new (mem) HttpRule(arena);
   701  }
   702  constexpr auto HttpRule::InternalNewImpl_() {
   703    constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
   704        PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.additional_bindings_) +
   705            decltype(HttpRule::_impl_.additional_bindings_)::
   706                InternalGetArenaOffset(
   707                    ::google::protobuf::Message::internal_visibility()),
   708    });
   709    if (arena_bits.has_value()) {
   710      return ::google::protobuf::internal::MessageCreator::CopyInit(
   711          sizeof(HttpRule), alignof(HttpRule), *arena_bits);
   712    } else {
   713      return ::google::protobuf::internal::MessageCreator(&HttpRule::PlacementNew_,
   714                                   sizeof(HttpRule),
   715                                   alignof(HttpRule));
   716    }
   717  }
   718  constexpr auto HttpRule::InternalGenerateClassData_() {
   719    return ::google::protobuf::internal::ClassDataFull{
   720        ::google::protobuf::internal::ClassData{
   721            &_HttpRule_default_instance_._instance,
   722            &_table_.header,
   723            nullptr,  // OnDemandRegisterArenaDtor
   724            nullptr,  // IsInitialized
   725            &HttpRule::MergeImpl,
   726            ::google::protobuf::Message::GetNewImpl<HttpRule>(),
   727  #if defined(PROTOBUF_CUSTOM_VTABLE)
   728            &HttpRule::SharedDtor,
   729            ::google::protobuf::Message::GetClearImpl<HttpRule>(), &HttpRule::ByteSizeLong,
   730                &HttpRule::_InternalSerialize,
   731  #endif  // PROTOBUF_CUSTOM_VTABLE
   732            PROTOBUF_FIELD_OFFSET(HttpRule, _impl_._cached_size_),
   733            false,
   734        },
   735        &HttpRule::kDescriptorMethods,
   736        &descriptor_table_google_2fapi_2fhttp_2eproto,
   737        nullptr,  // tracker
   738    };
   739  }
   740  
   741  PROTOBUF_CONSTINIT AGONES_EXPORT
   742      PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
   743          HttpRule_class_data_ =
   744              HttpRule::InternalGenerateClassData_();
   745  
   746  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL HttpRule::GetClassData() const {
   747    ::google::protobuf::internal::PrefetchToLocalCache(&HttpRule_class_data_);
   748    ::google::protobuf::internal::PrefetchToLocalCache(HttpRule_class_data_.tc_table);
   749    return HttpRule_class_data_.base();
   750  }
   751  PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
   752  const ::_pbi::TcParseTable<3, 10, 2, 82, 2>
   753  HttpRule::_table_ = {
   754    {
   755      PROTOBUF_FIELD_OFFSET(HttpRule, _impl_._has_bits_),
   756      0, // no _extensions_
   757      12, 56,  // max_field_number, fast_idx_mask
   758      offsetof(decltype(_table_), field_lookup_table),
   759      4294963968,  // skipmap
   760      offsetof(decltype(_table_), field_entries),
   761      10,  // num_field_entries
   762      2,  // num_aux_entries
   763      offsetof(decltype(_table_), aux_entries),
   764      HttpRule_class_data_.base(),
   765      nullptr,  // post_loop_handler
   766      ::_pbi::TcParser::GenericFallback,  // fallback
   767      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
   768      ::_pbi::TcParser::GetTable<::google::api::HttpRule>(),  // to_prefetch
   769      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
   770    }, {{
   771      {::_pbi::TcParser::MiniParse, {}},
   772      // string selector = 1;
   773      {::_pbi::TcParser::FastUS1,
   774       {10, 0, 0, PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.selector_)}},
   775      {::_pbi::TcParser::MiniParse, {}},
   776      // repeated .google.api.HttpRule additional_bindings = 11;
   777      {::_pbi::TcParser::FastMtR1,
   778       {90, 63, 1, PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.additional_bindings_)}},
   779      // string response_body = 12;
   780      {::_pbi::TcParser::FastUS1,
   781       {98, 2, 0, PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.response_body_)}},
   782      {::_pbi::TcParser::MiniParse, {}},
   783      {::_pbi::TcParser::MiniParse, {}},
   784      // string body = 7;
   785      {::_pbi::TcParser::FastUS1,
   786       {58, 1, 0, PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.body_)}},
   787    }}, {{
   788      65535, 65535
   789    }}, {{
   790      // string selector = 1;
   791      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.selector_), _Internal::kHasBitsOffset + 0, 0,
   792      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
   793      // string get = 2;
   794      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.get_), _Internal::kOneofCaseOffset + 0, 0,
   795      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   796      // string put = 3;
   797      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.put_), _Internal::kOneofCaseOffset + 0, 0,
   798      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   799      // string post = 4;
   800      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.post_), _Internal::kOneofCaseOffset + 0, 0,
   801      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   802      // string delete = 5;
   803      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.delete__), _Internal::kOneofCaseOffset + 0, 0,
   804      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   805      // string patch = 6;
   806      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.patch_), _Internal::kOneofCaseOffset + 0, 0,
   807      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   808      // string body = 7;
   809      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.body_), _Internal::kHasBitsOffset + 1, 0,
   810      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
   811      // .google.api.CustomHttpPattern custom = 8;
   812      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.custom_), _Internal::kOneofCaseOffset + 0, 0,
   813      (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
   814      // repeated .google.api.HttpRule additional_bindings = 11;
   815      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.additional_bindings_), -1, 1,
   816      (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
   817      // string response_body = 12;
   818      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.response_body_), _Internal::kHasBitsOffset + 2, 0,
   819      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
   820    }},
   821    {{
   822        {::_pbi::TcParser::GetTable<::google::api::CustomHttpPattern>()},
   823        {::_pbi::TcParser::GetTable<::google::api::HttpRule>()},
   824    }},
   825    {{
   826      "\23\10\3\3\4\6\5\4\0\0\15\0\0\0\0\0"
   827      "google.api.HttpRule"
   828      "selector"
   829      "get"
   830      "put"
   831      "post"
   832      "delete"
   833      "patch"
   834      "body"
   835      "response_body"
   836    }},
   837  };
   838  PROTOBUF_NOINLINE void HttpRule::Clear() {
   839  // @@protoc_insertion_point(message_clear_start:google.api.HttpRule)
   840    ::google::protobuf::internal::TSanWrite(&_impl_);
   841    ::uint32_t cached_has_bits = 0;
   842    // Prevent compiler warnings about cached_has_bits being unused
   843    (void) cached_has_bits;
   844  
   845    _impl_.additional_bindings_.Clear();
   846    cached_has_bits = _impl_._has_bits_[0];
   847    if ((cached_has_bits & 0x00000007u) != 0) {
   848      if ((cached_has_bits & 0x00000001u) != 0) {
   849        _impl_.selector_.ClearNonDefaultToEmpty();
   850      }
   851      if ((cached_has_bits & 0x00000002u) != 0) {
   852        _impl_.body_.ClearNonDefaultToEmpty();
   853      }
   854      if ((cached_has_bits & 0x00000004u) != 0) {
   855        _impl_.response_body_.ClearNonDefaultToEmpty();
   856      }
   857    }
   858    clear_pattern();
   859    _impl_._has_bits_.Clear();
   860    _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
   861  }
   862  
   863  #if defined(PROTOBUF_CUSTOM_VTABLE)
   864  ::uint8_t* PROTOBUF_NONNULL HttpRule::_InternalSerialize(
   865      const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
   866      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
   867    const HttpRule& this_ = static_cast<const HttpRule&>(base);
   868  #else   // PROTOBUF_CUSTOM_VTABLE
   869  ::uint8_t* PROTOBUF_NONNULL HttpRule::_InternalSerialize(
   870      ::uint8_t* PROTOBUF_NONNULL target,
   871      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
   872    const HttpRule& this_ = *this;
   873  #endif  // PROTOBUF_CUSTOM_VTABLE
   874    // @@protoc_insertion_point(serialize_to_array_start:google.api.HttpRule)
   875    ::uint32_t cached_has_bits = 0;
   876    (void)cached_has_bits;
   877  
   878    // string selector = 1;
   879    if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
   880      if (!this_._internal_selector().empty()) {
   881        const std::string& _s = this_._internal_selector();
   882        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   883            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.selector");
   884        target = stream->WriteStringMaybeAliased(1, _s, target);
   885      }
   886    }
   887  
   888    switch (this_.pattern_case()) {
   889      case kGet: {
   890        const std::string& _s = this_._internal_get();
   891        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   892            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.get");
   893        target = stream->WriteStringMaybeAliased(2, _s, target);
   894        break;
   895      }
   896      case kPut: {
   897        const std::string& _s = this_._internal_put();
   898        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   899            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.put");
   900        target = stream->WriteStringMaybeAliased(3, _s, target);
   901        break;
   902      }
   903      case kPost: {
   904        const std::string& _s = this_._internal_post();
   905        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   906            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.post");
   907        target = stream->WriteStringMaybeAliased(4, _s, target);
   908        break;
   909      }
   910      case kDelete: {
   911        const std::string& _s = this_._internal_delete_();
   912        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   913            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.delete");
   914        target = stream->WriteStringMaybeAliased(5, _s, target);
   915        break;
   916      }
   917      case kPatch: {
   918        const std::string& _s = this_._internal_patch();
   919        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   920            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.patch");
   921        target = stream->WriteStringMaybeAliased(6, _s, target);
   922        break;
   923      }
   924      default:
   925        break;
   926    }
   927    // string body = 7;
   928    if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
   929      if (!this_._internal_body().empty()) {
   930        const std::string& _s = this_._internal_body();
   931        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   932            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.body");
   933        target = stream->WriteStringMaybeAliased(7, _s, target);
   934      }
   935    }
   936  
   937    // .google.api.CustomHttpPattern custom = 8;
   938    if (this_.pattern_case() == kCustom) {
   939      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
   940          8, *this_._impl_.pattern_.custom_, this_._impl_.pattern_.custom_->GetCachedSize(), target,
   941          stream);
   942    }
   943  
   944    // repeated .google.api.HttpRule additional_bindings = 11;
   945    for (unsigned i = 0, n = static_cast<unsigned>(
   946                             this_._internal_additional_bindings_size());
   947         i < n; i++) {
   948      const auto& repfield = this_._internal_additional_bindings().Get(i);
   949      target =
   950          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
   951              11, repfield, repfield.GetCachedSize(),
   952              target, stream);
   953    }
   954  
   955    // string response_body = 12;
   956    if ((this_._impl_._has_bits_[0] & 0x00000004u) != 0) {
   957      if (!this_._internal_response_body().empty()) {
   958        const std::string& _s = this_._internal_response_body();
   959        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   960            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.response_body");
   961        target = stream->WriteStringMaybeAliased(12, _s, target);
   962      }
   963    }
   964  
   965    if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
   966      target =
   967          ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
   968              this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
   969    }
   970    // @@protoc_insertion_point(serialize_to_array_end:google.api.HttpRule)
   971    return target;
   972  }
   973  
   974  #if defined(PROTOBUF_CUSTOM_VTABLE)
   975  ::size_t HttpRule::ByteSizeLong(const MessageLite& base) {
   976    const HttpRule& this_ = static_cast<const HttpRule&>(base);
   977  #else   // PROTOBUF_CUSTOM_VTABLE
   978  ::size_t HttpRule::ByteSizeLong() const {
   979    const HttpRule& this_ = *this;
   980  #endif  // PROTOBUF_CUSTOM_VTABLE
   981    // @@protoc_insertion_point(message_byte_size_start:google.api.HttpRule)
   982    ::size_t total_size = 0;
   983  
   984    ::uint32_t cached_has_bits = 0;
   985    // Prevent compiler warnings about cached_has_bits being unused
   986    (void)cached_has_bits;
   987  
   988    ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   989     {
   990      // repeated .google.api.HttpRule additional_bindings = 11;
   991      {
   992        total_size += 1UL * this_._internal_additional_bindings_size();
   993        for (const auto& msg : this_._internal_additional_bindings()) {
   994          total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
   995        }
   996      }
   997    }
   998    cached_has_bits = this_._impl_._has_bits_[0];
   999    if ((cached_has_bits & 0x00000007u) != 0) {
  1000      // string selector = 1;
  1001      if ((cached_has_bits & 0x00000001u) != 0) {
  1002        if (!this_._internal_selector().empty()) {
  1003          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1004                                          this_._internal_selector());
  1005        }
  1006      }
  1007      // string body = 7;
  1008      if ((cached_has_bits & 0x00000002u) != 0) {
  1009        if (!this_._internal_body().empty()) {
  1010          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1011                                          this_._internal_body());
  1012        }
  1013      }
  1014      // string response_body = 12;
  1015      if ((cached_has_bits & 0x00000004u) != 0) {
  1016        if (!this_._internal_response_body().empty()) {
  1017          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1018                                          this_._internal_response_body());
  1019        }
  1020      }
  1021    }
  1022    switch (this_.pattern_case()) {
  1023      // string get = 2;
  1024      case kGet: {
  1025        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1026                                        this_._internal_get());
  1027        break;
  1028      }
  1029      // string put = 3;
  1030      case kPut: {
  1031        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1032                                        this_._internal_put());
  1033        break;
  1034      }
  1035      // string post = 4;
  1036      case kPost: {
  1037        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1038                                        this_._internal_post());
  1039        break;
  1040      }
  1041      // string delete = 5;
  1042      case kDelete: {
  1043        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1044                                        this_._internal_delete_());
  1045        break;
  1046      }
  1047      // string patch = 6;
  1048      case kPatch: {
  1049        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1050                                        this_._internal_patch());
  1051        break;
  1052      }
  1053      // .google.api.CustomHttpPattern custom = 8;
  1054      case kCustom: {
  1055        total_size += 1 +
  1056                      ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.pattern_.custom_);
  1057        break;
  1058      }
  1059      case PATTERN_NOT_SET: {
  1060        break;
  1061      }
  1062    }
  1063    return this_.MaybeComputeUnknownFieldsSize(total_size,
  1064                                               &this_._impl_._cached_size_);
  1065  }
  1066  
  1067  void HttpRule::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  1068    auto* const _this = static_cast<HttpRule*>(&to_msg);
  1069    auto& from = static_cast<const HttpRule&>(from_msg);
  1070    ::google::protobuf::Arena* arena = _this->GetArena();
  1071    // @@protoc_insertion_point(class_specific_merge_from_start:google.api.HttpRule)
  1072    ABSL_DCHECK_NE(&from, _this);
  1073    ::uint32_t cached_has_bits = 0;
  1074    (void) cached_has_bits;
  1075  
  1076    _this->_internal_mutable_additional_bindings()->MergeFrom(
  1077        from._internal_additional_bindings());
  1078    cached_has_bits = from._impl_._has_bits_[0];
  1079    if ((cached_has_bits & 0x00000007u) != 0) {
  1080      if ((cached_has_bits & 0x00000001u) != 0) {
  1081        if (!from._internal_selector().empty()) {
  1082          _this->_internal_set_selector(from._internal_selector());
  1083        } else {
  1084          if (_this->_impl_.selector_.IsDefault()) {
  1085            _this->_internal_set_selector("");
  1086          }
  1087        }
  1088      }
  1089      if ((cached_has_bits & 0x00000002u) != 0) {
  1090        if (!from._internal_body().empty()) {
  1091          _this->_internal_set_body(from._internal_body());
  1092        } else {
  1093          if (_this->_impl_.body_.IsDefault()) {
  1094            _this->_internal_set_body("");
  1095          }
  1096        }
  1097      }
  1098      if ((cached_has_bits & 0x00000004u) != 0) {
  1099        if (!from._internal_response_body().empty()) {
  1100          _this->_internal_set_response_body(from._internal_response_body());
  1101        } else {
  1102          if (_this->_impl_.response_body_.IsDefault()) {
  1103            _this->_internal_set_response_body("");
  1104          }
  1105        }
  1106      }
  1107    }
  1108    _this->_impl_._has_bits_[0] |= cached_has_bits;
  1109    if (const uint32_t oneof_from_case = from._impl_._oneof_case_[0]) {
  1110      const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
  1111      const bool oneof_needs_init = oneof_to_case != oneof_from_case;
  1112      if (oneof_needs_init) {
  1113        if (oneof_to_case != 0) {
  1114          _this->clear_pattern();
  1115        }
  1116        _this->_impl_._oneof_case_[0] = oneof_from_case;
  1117      }
  1118  
  1119      switch (oneof_from_case) {
  1120        case kGet: {
  1121          if (oneof_needs_init) {
  1122            _this->_impl_.pattern_.get_.InitDefault();
  1123          }
  1124          _this->_impl_.pattern_.get_.Set(from._internal_get(), arena);
  1125          break;
  1126        }
  1127        case kPut: {
  1128          if (oneof_needs_init) {
  1129            _this->_impl_.pattern_.put_.InitDefault();
  1130          }
  1131          _this->_impl_.pattern_.put_.Set(from._internal_put(), arena);
  1132          break;
  1133        }
  1134        case kPost: {
  1135          if (oneof_needs_init) {
  1136            _this->_impl_.pattern_.post_.InitDefault();
  1137          }
  1138          _this->_impl_.pattern_.post_.Set(from._internal_post(), arena);
  1139          break;
  1140        }
  1141        case kDelete: {
  1142          if (oneof_needs_init) {
  1143            _this->_impl_.pattern_.delete__.InitDefault();
  1144          }
  1145          _this->_impl_.pattern_.delete__.Set(from._internal_delete_(), arena);
  1146          break;
  1147        }
  1148        case kPatch: {
  1149          if (oneof_needs_init) {
  1150            _this->_impl_.pattern_.patch_.InitDefault();
  1151          }
  1152          _this->_impl_.pattern_.patch_.Set(from._internal_patch(), arena);
  1153          break;
  1154        }
  1155        case kCustom: {
  1156          if (oneof_needs_init) {
  1157            _this->_impl_.pattern_.custom_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.pattern_.custom_);
  1158          } else {
  1159            _this->_impl_.pattern_.custom_->MergeFrom(*from._impl_.pattern_.custom_);
  1160          }
  1161          break;
  1162        }
  1163        case PATTERN_NOT_SET:
  1164          break;
  1165      }
  1166    }
  1167    _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
  1168  }
  1169  
  1170  void HttpRule::CopyFrom(const HttpRule& from) {
  1171  // @@protoc_insertion_point(class_specific_copy_from_start:google.api.HttpRule)
  1172    if (&from == this) return;
  1173    Clear();
  1174    MergeFrom(from);
  1175  }
  1176  
  1177  
  1178  void HttpRule::InternalSwap(HttpRule* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  1179    using std::swap;
  1180    auto* arena = GetArena();
  1181    ABSL_DCHECK_EQ(arena, other->GetArena());
  1182    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  1183    swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  1184    _impl_.additional_bindings_.InternalSwap(&other->_impl_.additional_bindings_);
  1185    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.selector_, &other->_impl_.selector_, arena);
  1186    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.body_, &other->_impl_.body_, arena);
  1187    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.response_body_, &other->_impl_.response_body_, arena);
  1188    swap(_impl_.pattern_, other->_impl_.pattern_);
  1189    swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
  1190  }
  1191  
  1192  ::google::protobuf::Metadata HttpRule::GetMetadata() const {
  1193    return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
  1194  }
  1195  // ===================================================================
  1196  
  1197  class CustomHttpPattern::_Internal {
  1198   public:
  1199    using HasBits =
  1200        decltype(std::declval<CustomHttpPattern>()._impl_._has_bits_);
  1201    static constexpr ::int32_t kHasBitsOffset =
  1202        8 * PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_._has_bits_);
  1203  };
  1204  
  1205  CustomHttpPattern::CustomHttpPattern(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
  1206  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1207      : ::google::protobuf::Message(arena, CustomHttpPattern_class_data_.base()) {
  1208  #else   // PROTOBUF_CUSTOM_VTABLE
  1209      : ::google::protobuf::Message(arena) {
  1210  #endif  // PROTOBUF_CUSTOM_VTABLE
  1211    SharedCtor(arena);
  1212    // @@protoc_insertion_point(arena_constructor:google.api.CustomHttpPattern)
  1213  }
  1214  PROTOBUF_NDEBUG_INLINE CustomHttpPattern::Impl_::Impl_(
  1215      ::google::protobuf::internal::InternalVisibility visibility,
  1216      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
  1217      const ::google::api::CustomHttpPattern& from_msg)
  1218        : _has_bits_{from._has_bits_},
  1219          _cached_size_{0},
  1220          kind_(arena, from.kind_),
  1221          path_(arena, from.path_) {}
  1222  
  1223  CustomHttpPattern::CustomHttpPattern(
  1224      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
  1225      const CustomHttpPattern& from)
  1226  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1227      : ::google::protobuf::Message(arena, CustomHttpPattern_class_data_.base()) {
  1228  #else   // PROTOBUF_CUSTOM_VTABLE
  1229      : ::google::protobuf::Message(arena) {
  1230  #endif  // PROTOBUF_CUSTOM_VTABLE
  1231    CustomHttpPattern* const _this = this;
  1232    (void)_this;
  1233    _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
  1234        from._internal_metadata_);
  1235    new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  1236  
  1237    // @@protoc_insertion_point(copy_constructor:google.api.CustomHttpPattern)
  1238  }
  1239  PROTOBUF_NDEBUG_INLINE CustomHttpPattern::Impl_::Impl_(
  1240      ::google::protobuf::internal::InternalVisibility visibility,
  1241      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
  1242        : _cached_size_{0},
  1243          kind_(arena),
  1244          path_(arena) {}
  1245  
  1246  inline void CustomHttpPattern::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  1247    new (&_impl_) Impl_(internal_visibility(), arena);
  1248  }
  1249  CustomHttpPattern::~CustomHttpPattern() {
  1250    // @@protoc_insertion_point(destructor:google.api.CustomHttpPattern)
  1251    SharedDtor(*this);
  1252  }
  1253  inline void CustomHttpPattern::SharedDtor(MessageLite& self) {
  1254    CustomHttpPattern& this_ = static_cast<CustomHttpPattern&>(self);
  1255    this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  1256    ABSL_DCHECK(this_.GetArena() == nullptr);
  1257    this_._impl_.kind_.Destroy();
  1258    this_._impl_.path_.Destroy();
  1259    this_._impl_.~Impl_();
  1260  }
  1261  
  1262  inline void* PROTOBUF_NONNULL CustomHttpPattern::PlacementNew_(
  1263      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
  1264      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  1265    return ::new (mem) CustomHttpPattern(arena);
  1266  }
  1267  constexpr auto CustomHttpPattern::InternalNewImpl_() {
  1268    return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(CustomHttpPattern),
  1269                                              alignof(CustomHttpPattern));
  1270  }
  1271  constexpr auto CustomHttpPattern::InternalGenerateClassData_() {
  1272    return ::google::protobuf::internal::ClassDataFull{
  1273        ::google::protobuf::internal::ClassData{
  1274            &_CustomHttpPattern_default_instance_._instance,
  1275            &_table_.header,
  1276            nullptr,  // OnDemandRegisterArenaDtor
  1277            nullptr,  // IsInitialized
  1278            &CustomHttpPattern::MergeImpl,
  1279            ::google::protobuf::Message::GetNewImpl<CustomHttpPattern>(),
  1280  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1281            &CustomHttpPattern::SharedDtor,
  1282            ::google::protobuf::Message::GetClearImpl<CustomHttpPattern>(), &CustomHttpPattern::ByteSizeLong,
  1283                &CustomHttpPattern::_InternalSerialize,
  1284  #endif  // PROTOBUF_CUSTOM_VTABLE
  1285            PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_._cached_size_),
  1286            false,
  1287        },
  1288        &CustomHttpPattern::kDescriptorMethods,
  1289        &descriptor_table_google_2fapi_2fhttp_2eproto,
  1290        nullptr,  // tracker
  1291    };
  1292  }
  1293  
  1294  PROTOBUF_CONSTINIT AGONES_EXPORT
  1295      PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
  1296          CustomHttpPattern_class_data_ =
  1297              CustomHttpPattern::InternalGenerateClassData_();
  1298  
  1299  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL CustomHttpPattern::GetClassData() const {
  1300    ::google::protobuf::internal::PrefetchToLocalCache(&CustomHttpPattern_class_data_);
  1301    ::google::protobuf::internal::PrefetchToLocalCache(CustomHttpPattern_class_data_.tc_table);
  1302    return CustomHttpPattern_class_data_.base();
  1303  }
  1304  PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
  1305  const ::_pbi::TcParseTable<1, 2, 0, 45, 2>
  1306  CustomHttpPattern::_table_ = {
  1307    {
  1308      PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_._has_bits_),
  1309      0, // no _extensions_
  1310      2, 8,  // max_field_number, fast_idx_mask
  1311      offsetof(decltype(_table_), field_lookup_table),
  1312      4294967292,  // skipmap
  1313      offsetof(decltype(_table_), field_entries),
  1314      2,  // num_field_entries
  1315      0,  // num_aux_entries
  1316      offsetof(decltype(_table_), field_names),  // no aux_entries
  1317      CustomHttpPattern_class_data_.base(),
  1318      nullptr,  // post_loop_handler
  1319      ::_pbi::TcParser::GenericFallback,  // fallback
  1320      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
  1321      ::_pbi::TcParser::GetTable<::google::api::CustomHttpPattern>(),  // to_prefetch
  1322      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  1323    }, {{
  1324      // string path = 2;
  1325      {::_pbi::TcParser::FastUS1,
  1326       {18, 1, 0, PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_.path_)}},
  1327      // string kind = 1;
  1328      {::_pbi::TcParser::FastUS1,
  1329       {10, 0, 0, PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_.kind_)}},
  1330    }}, {{
  1331      65535, 65535
  1332    }}, {{
  1333      // string kind = 1;
  1334      {PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_.kind_), _Internal::kHasBitsOffset + 0, 0,
  1335      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
  1336      // string path = 2;
  1337      {PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_.path_), _Internal::kHasBitsOffset + 1, 0,
  1338      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
  1339    }},
  1340    // no aux_entries
  1341    {{
  1342      "\34\4\4\0\0\0\0\0"
  1343      "google.api.CustomHttpPattern"
  1344      "kind"
  1345      "path"
  1346    }},
  1347  };
  1348  PROTOBUF_NOINLINE void CustomHttpPattern::Clear() {
  1349  // @@protoc_insertion_point(message_clear_start:google.api.CustomHttpPattern)
  1350    ::google::protobuf::internal::TSanWrite(&_impl_);
  1351    ::uint32_t cached_has_bits = 0;
  1352    // Prevent compiler warnings about cached_has_bits being unused
  1353    (void) cached_has_bits;
  1354  
  1355    cached_has_bits = _impl_._has_bits_[0];
  1356    if ((cached_has_bits & 0x00000003u) != 0) {
  1357      if ((cached_has_bits & 0x00000001u) != 0) {
  1358        _impl_.kind_.ClearNonDefaultToEmpty();
  1359      }
  1360      if ((cached_has_bits & 0x00000002u) != 0) {
  1361        _impl_.path_.ClearNonDefaultToEmpty();
  1362      }
  1363    }
  1364    _impl_._has_bits_.Clear();
  1365    _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
  1366  }
  1367  
  1368  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1369  ::uint8_t* PROTOBUF_NONNULL CustomHttpPattern::_InternalSerialize(
  1370      const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
  1371      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  1372    const CustomHttpPattern& this_ = static_cast<const CustomHttpPattern&>(base);
  1373  #else   // PROTOBUF_CUSTOM_VTABLE
  1374  ::uint8_t* PROTOBUF_NONNULL CustomHttpPattern::_InternalSerialize(
  1375      ::uint8_t* PROTOBUF_NONNULL target,
  1376      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  1377    const CustomHttpPattern& this_ = *this;
  1378  #endif  // PROTOBUF_CUSTOM_VTABLE
  1379    // @@protoc_insertion_point(serialize_to_array_start:google.api.CustomHttpPattern)
  1380    ::uint32_t cached_has_bits = 0;
  1381    (void)cached_has_bits;
  1382  
  1383    // string kind = 1;
  1384    if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
  1385      if (!this_._internal_kind().empty()) {
  1386        const std::string& _s = this_._internal_kind();
  1387        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
  1388            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.CustomHttpPattern.kind");
  1389        target = stream->WriteStringMaybeAliased(1, _s, target);
  1390      }
  1391    }
  1392  
  1393    // string path = 2;
  1394    if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
  1395      if (!this_._internal_path().empty()) {
  1396        const std::string& _s = this_._internal_path();
  1397        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
  1398            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.CustomHttpPattern.path");
  1399        target = stream->WriteStringMaybeAliased(2, _s, target);
  1400      }
  1401    }
  1402  
  1403    if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
  1404      target =
  1405          ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
  1406              this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  1407    }
  1408    // @@protoc_insertion_point(serialize_to_array_end:google.api.CustomHttpPattern)
  1409    return target;
  1410  }
  1411  
  1412  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1413  ::size_t CustomHttpPattern::ByteSizeLong(const MessageLite& base) {
  1414    const CustomHttpPattern& this_ = static_cast<const CustomHttpPattern&>(base);
  1415  #else   // PROTOBUF_CUSTOM_VTABLE
  1416  ::size_t CustomHttpPattern::ByteSizeLong() const {
  1417    const CustomHttpPattern& this_ = *this;
  1418  #endif  // PROTOBUF_CUSTOM_VTABLE
  1419    // @@protoc_insertion_point(message_byte_size_start:google.api.CustomHttpPattern)
  1420    ::size_t total_size = 0;
  1421  
  1422    ::uint32_t cached_has_bits = 0;
  1423    // Prevent compiler warnings about cached_has_bits being unused
  1424    (void)cached_has_bits;
  1425  
  1426    ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  1427    cached_has_bits = this_._impl_._has_bits_[0];
  1428    if ((cached_has_bits & 0x00000003u) != 0) {
  1429      // string kind = 1;
  1430      if ((cached_has_bits & 0x00000001u) != 0) {
  1431        if (!this_._internal_kind().empty()) {
  1432          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1433                                          this_._internal_kind());
  1434        }
  1435      }
  1436      // string path = 2;
  1437      if ((cached_has_bits & 0x00000002u) != 0) {
  1438        if (!this_._internal_path().empty()) {
  1439          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1440                                          this_._internal_path());
  1441        }
  1442      }
  1443    }
  1444    return this_.MaybeComputeUnknownFieldsSize(total_size,
  1445                                               &this_._impl_._cached_size_);
  1446  }
  1447  
  1448  void CustomHttpPattern::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  1449    auto* const _this = static_cast<CustomHttpPattern*>(&to_msg);
  1450    auto& from = static_cast<const CustomHttpPattern&>(from_msg);
  1451    // @@protoc_insertion_point(class_specific_merge_from_start:google.api.CustomHttpPattern)
  1452    ABSL_DCHECK_NE(&from, _this);
  1453    ::uint32_t cached_has_bits = 0;
  1454    (void) cached_has_bits;
  1455  
  1456    cached_has_bits = from._impl_._has_bits_[0];
  1457    if ((cached_has_bits & 0x00000003u) != 0) {
  1458      if ((cached_has_bits & 0x00000001u) != 0) {
  1459        if (!from._internal_kind().empty()) {
  1460          _this->_internal_set_kind(from._internal_kind());
  1461        } else {
  1462          if (_this->_impl_.kind_.IsDefault()) {
  1463            _this->_internal_set_kind("");
  1464          }
  1465        }
  1466      }
  1467      if ((cached_has_bits & 0x00000002u) != 0) {
  1468        if (!from._internal_path().empty()) {
  1469          _this->_internal_set_path(from._internal_path());
  1470        } else {
  1471          if (_this->_impl_.path_.IsDefault()) {
  1472            _this->_internal_set_path("");
  1473          }
  1474        }
  1475      }
  1476    }
  1477    _this->_impl_._has_bits_[0] |= cached_has_bits;
  1478    _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
  1479  }
  1480  
  1481  void CustomHttpPattern::CopyFrom(const CustomHttpPattern& from) {
  1482  // @@protoc_insertion_point(class_specific_copy_from_start:google.api.CustomHttpPattern)
  1483    if (&from == this) return;
  1484    Clear();
  1485    MergeFrom(from);
  1486  }
  1487  
  1488  
  1489  void CustomHttpPattern::InternalSwap(CustomHttpPattern* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  1490    using std::swap;
  1491    auto* arena = GetArena();
  1492    ABSL_DCHECK_EQ(arena, other->GetArena());
  1493    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  1494    swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  1495    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.kind_, &other->_impl_.kind_, arena);
  1496    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.path_, &other->_impl_.path_, arena);
  1497  }
  1498  
  1499  ::google::protobuf::Metadata CustomHttpPattern::GetMetadata() const {
  1500    return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
  1501  }
  1502  // @@protoc_insertion_point(namespace_scope)
  1503  }  // namespace api
  1504  }  // namespace google
  1505  namespace google {
  1506  namespace protobuf {
  1507  }  // namespace protobuf
  1508  }  // namespace google
  1509  // @@protoc_insertion_point(global_scope)
  1510  PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
  1511      _static_init2_ [[maybe_unused]] =
  1512          (::_pbi::AddDescriptors(&descriptor_table_google_2fapi_2fhttp_2eproto),
  1513           ::std::false_type{});
  1514  #include "google/protobuf/port_undef.inc"