• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
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 
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // NO CHECKED-IN PROTOBUF GENCODE
18 // source: geocoding_data.proto
19 // Protobuf C++ Version: 5.29.4
20 
21 #include "geocoding_data.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/io/zero_copy_stream_impl_lite.h"
31 // @@protoc_insertion_point(includes)
32 
33 // Must be included last.
34 #include "google/protobuf/port_def.inc"
35 PROTOBUF_PRAGMA_INIT_SEG
36 namespace _pb = ::google::protobuf;
37 namespace _pbi = ::google::protobuf::internal;
38 namespace _fl = ::google::protobuf::internal::field_layout;
39 namespace i18n {
40 namespace phonenumbers {
41 
Impl_(::_pbi::ConstantInitialized)42 inline constexpr PrefixesInfo::Impl_::Impl_(
43     ::_pbi::ConstantInitialized) noexcept
44       : _cached_size_{0},
45         prefixes_{},
46         descriptions_{},
47         lengths_{},
48         prefixes_num_{0},
49         lengths_num_{0} {}
50 
51 template <typename>
PrefixesInfo(::_pbi::ConstantInitialized)52 PROTOBUF_CONSTEXPR PrefixesInfo::PrefixesInfo(::_pbi::ConstantInitialized)
53 #if defined(PROTOBUF_CUSTOM_VTABLE)
54     : ::google::protobuf::MessageLite(_class_data_.base()),
55 #else   // PROTOBUF_CUSTOM_VTABLE
56     : ::google::protobuf::MessageLite(),
57 #endif  // PROTOBUF_CUSTOM_VTABLE
58       _impl_(::_pbi::ConstantInitialized()) {
59 }
60 struct PrefixesInfoDefaultTypeInternal {
PrefixesInfoDefaultTypeInternali18n::phonenumbers::PrefixesInfoDefaultTypeInternal61   PROTOBUF_CONSTEXPR PrefixesInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~PrefixesInfoDefaultTypeInternali18n::phonenumbers::PrefixesInfoDefaultTypeInternal62   ~PrefixesInfoDefaultTypeInternal() {}
63   union {
64     PrefixesInfo _instance;
65   };
66 };
67 
68 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
69     PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PrefixesInfoDefaultTypeInternal _PrefixesInfo_default_instance_;
70 
Impl_(::_pbi::ConstantInitialized)71 inline constexpr LanguageCodeInfo::Impl_::Impl_(
72     ::_pbi::ConstantInitialized) noexcept
73       : _cached_size_{0},
74         language_codes_{},
75         language_codes_num_{0} {}
76 
77 template <typename>
LanguageCodeInfo(::_pbi::ConstantInitialized)78 PROTOBUF_CONSTEXPR LanguageCodeInfo::LanguageCodeInfo(::_pbi::ConstantInitialized)
79 #if defined(PROTOBUF_CUSTOM_VTABLE)
80     : ::google::protobuf::MessageLite(_class_data_.base()),
81 #else   // PROTOBUF_CUSTOM_VTABLE
82     : ::google::protobuf::MessageLite(),
83 #endif  // PROTOBUF_CUSTOM_VTABLE
84       _impl_(::_pbi::ConstantInitialized()) {
85 }
86 struct LanguageCodeInfoDefaultTypeInternal {
LanguageCodeInfoDefaultTypeInternali18n::phonenumbers::LanguageCodeInfoDefaultTypeInternal87   PROTOBUF_CONSTEXPR LanguageCodeInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~LanguageCodeInfoDefaultTypeInternali18n::phonenumbers::LanguageCodeInfoDefaultTypeInternal88   ~LanguageCodeInfoDefaultTypeInternal() {}
89   union {
90     LanguageCodeInfo _instance;
91   };
92 };
93 
94 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
95     PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LanguageCodeInfoDefaultTypeInternal _LanguageCodeInfo_default_instance_;
96 
Impl_(::_pbi::ConstantInitialized)97 inline constexpr CountryCodeInfo::Impl_::Impl_(
98     ::_pbi::ConstantInitialized) noexcept
99       : _cached_size_{0},
100         country_codes_{},
101         country_codes_num_{0} {}
102 
103 template <typename>
CountryCodeInfo(::_pbi::ConstantInitialized)104 PROTOBUF_CONSTEXPR CountryCodeInfo::CountryCodeInfo(::_pbi::ConstantInitialized)
105 #if defined(PROTOBUF_CUSTOM_VTABLE)
106     : ::google::protobuf::MessageLite(_class_data_.base()),
107 #else   // PROTOBUF_CUSTOM_VTABLE
108     : ::google::protobuf::MessageLite(),
109 #endif  // PROTOBUF_CUSTOM_VTABLE
110       _impl_(::_pbi::ConstantInitialized()) {
111 }
112 struct CountryCodeInfoDefaultTypeInternal {
CountryCodeInfoDefaultTypeInternali18n::phonenumbers::CountryCodeInfoDefaultTypeInternal113   PROTOBUF_CONSTEXPR CountryCodeInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~CountryCodeInfoDefaultTypeInternali18n::phonenumbers::CountryCodeInfoDefaultTypeInternal114   ~CountryCodeInfoDefaultTypeInternal() {}
115   union {
116     CountryCodeInfo _instance;
117   };
118 };
119 
120 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
121     PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CountryCodeInfoDefaultTypeInternal _CountryCodeInfo_default_instance_;
122 
Impl_(::_pbi::ConstantInitialized)123 inline constexpr CountriesInfo::Impl_::Impl_(
124     ::_pbi::ConstantInitialized) noexcept
125       : _cached_size_{0},
126         country_languages_{},
127         country_languages_num_{0} {}
128 
129 template <typename>
CountriesInfo(::_pbi::ConstantInitialized)130 PROTOBUF_CONSTEXPR CountriesInfo::CountriesInfo(::_pbi::ConstantInitialized)
131 #if defined(PROTOBUF_CUSTOM_VTABLE)
132     : ::google::protobuf::MessageLite(_class_data_.base()),
133 #else   // PROTOBUF_CUSTOM_VTABLE
134     : ::google::protobuf::MessageLite(),
135 #endif  // PROTOBUF_CUSTOM_VTABLE
136       _impl_(::_pbi::ConstantInitialized()) {
137 }
138 struct CountriesInfoDefaultTypeInternal {
CountriesInfoDefaultTypeInternali18n::phonenumbers::CountriesInfoDefaultTypeInternal139   PROTOBUF_CONSTEXPR CountriesInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~CountriesInfoDefaultTypeInternali18n::phonenumbers::CountriesInfoDefaultTypeInternal140   ~CountriesInfoDefaultTypeInternal() {}
141   union {
142     CountriesInfo _instance;
143   };
144 };
145 
146 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
147     PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CountriesInfoDefaultTypeInternal _CountriesInfo_default_instance_;
148 
Impl_(::_pbi::ConstantInitialized)149 inline constexpr GeocodingInfo::Impl_::Impl_(
150     ::_pbi::ConstantInitialized) noexcept
151       : _cached_size_{0},
152         prefixes_info_{},
153         languages_{},
154         countries_info_{},
155         countries_{},
156         language_code_info_{nullptr},
157         country_code_info_{nullptr} {}
158 
159 template <typename>
GeocodingInfo(::_pbi::ConstantInitialized)160 PROTOBUF_CONSTEXPR GeocodingInfo::GeocodingInfo(::_pbi::ConstantInitialized)
161 #if defined(PROTOBUF_CUSTOM_VTABLE)
162     : ::google::protobuf::MessageLite(_class_data_.base()),
163 #else   // PROTOBUF_CUSTOM_VTABLE
164     : ::google::protobuf::MessageLite(),
165 #endif  // PROTOBUF_CUSTOM_VTABLE
166       _impl_(::_pbi::ConstantInitialized()) {
167 }
168 struct GeocodingInfoDefaultTypeInternal {
GeocodingInfoDefaultTypeInternali18n::phonenumbers::GeocodingInfoDefaultTypeInternal169   PROTOBUF_CONSTEXPR GeocodingInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~GeocodingInfoDefaultTypeInternali18n::phonenumbers::GeocodingInfoDefaultTypeInternal170   ~GeocodingInfoDefaultTypeInternal() {}
171   union {
172     GeocodingInfo _instance;
173   };
174 };
175 
176 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
177     PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GeocodingInfoDefaultTypeInternal _GeocodingInfo_default_instance_;
178 }  // namespace phonenumbers
179 }  // namespace i18n
180 namespace i18n {
181 namespace phonenumbers {
182 // ===================================================================
183 
184 class GeocodingInfo::_Internal {
185  public:
186   using HasBits =
187       decltype(std::declval<GeocodingInfo>()._impl_._has_bits_);
188   static constexpr ::int32_t kHasBitsOffset =
189       8 * PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_._has_bits_);
MissingRequiredFields(const HasBits & has_bits)190   static bool MissingRequiredFields(const HasBits& has_bits) {
191     return ((has_bits[0] & 0x00000003) ^ 0x00000003) != 0;
192   }
193 };
194 
GeocodingInfo(::google::protobuf::Arena * arena)195 GeocodingInfo::GeocodingInfo(::google::protobuf::Arena* arena)
196 #if defined(PROTOBUF_CUSTOM_VTABLE)
197     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
198 #else   // PROTOBUF_CUSTOM_VTABLE
199     : ::google::protobuf::MessageLite(arena) {
200 #endif  // PROTOBUF_CUSTOM_VTABLE
201   SharedCtor(arena);
202   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.GeocodingInfo)
203 }
204 inline PROTOBUF_NDEBUG_INLINE GeocodingInfo::Impl_::Impl_(
205     ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
206     const Impl_& from, const ::i18n::phonenumbers::GeocodingInfo& from_msg)
207       : _has_bits_{from._has_bits_},
208         _cached_size_{0},
209         prefixes_info_{visibility, arena, from.prefixes_info_},
210         languages_{visibility, arena, from.languages_},
211         countries_info_{visibility, arena, from.countries_info_},
212         countries_{visibility, arena, from.countries_} {}
213 
214 GeocodingInfo::GeocodingInfo(
215     ::google::protobuf::Arena* arena,
216     const GeocodingInfo& from)
217 #if defined(PROTOBUF_CUSTOM_VTABLE)
218     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
219 #else   // PROTOBUF_CUSTOM_VTABLE
220     : ::google::protobuf::MessageLite(arena) {
221 #endif  // PROTOBUF_CUSTOM_VTABLE
222   GeocodingInfo* const _this = this;
223   (void)_this;
224   _internal_metadata_.MergeFrom<std::string>(
225       from._internal_metadata_);
226   new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
227   ::uint32_t cached_has_bits = _impl_._has_bits_[0];
228   _impl_.language_code_info_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::MessageLite::CopyConstruct<::i18n::phonenumbers::LanguageCodeInfo>(
229                               arena, *from._impl_.language_code_info_)
230                         : nullptr;
231   _impl_.country_code_info_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::MessageLite::CopyConstruct<::i18n::phonenumbers::CountryCodeInfo>(
232                               arena, *from._impl_.country_code_info_)
233                         : nullptr;
234 
235   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.GeocodingInfo)
236 }
237 inline PROTOBUF_NDEBUG_INLINE GeocodingInfo::Impl_::Impl_(
238     ::google::protobuf::internal::InternalVisibility visibility,
239     ::google::protobuf::Arena* arena)
240       : _cached_size_{0},
241         prefixes_info_{visibility, arena},
242         languages_{visibility, arena},
243         countries_info_{visibility, arena},
244         countries_{visibility, arena} {}
245 
246 inline void GeocodingInfo::SharedCtor(::_pb::Arena* arena) {
247   new (&_impl_) Impl_(internal_visibility(), arena);
248   ::memset(reinterpret_cast<char *>(&_impl_) +
249                offsetof(Impl_, language_code_info_),
250            0,
251            offsetof(Impl_, country_code_info_) -
252                offsetof(Impl_, language_code_info_) +
253                sizeof(Impl_::country_code_info_));
254 }
255 GeocodingInfo::~GeocodingInfo() {
256   // @@protoc_insertion_point(destructor:i18n.phonenumbers.GeocodingInfo)
257   SharedDtor(*this);
258 }
259 inline void GeocodingInfo::SharedDtor(MessageLite& self) {
260   GeocodingInfo& this_ = static_cast<GeocodingInfo&>(self);
261   this_._internal_metadata_.Delete<std::string>();
262   ABSL_DCHECK(this_.GetArena() == nullptr);
263   delete this_._impl_.language_code_info_;
264   delete this_._impl_.country_code_info_;
265   this_._impl_.~Impl_();
266 }
267 
268 inline void* GeocodingInfo::PlacementNew_(const void*, void* mem,
269                                         ::google::protobuf::Arena* arena) {
270   return ::new (mem) GeocodingInfo(arena);
271 }
272 constexpr auto GeocodingInfo::InternalNewImpl_() {
273   constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
274       PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.prefixes_info_) +
275           decltype(GeocodingInfo::_impl_.prefixes_info_)::
276               InternalGetArenaOffset(
277                   ::google::protobuf::MessageLite::internal_visibility()),
278       PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.languages_) +
279           decltype(GeocodingInfo::_impl_.languages_)::
280               InternalGetArenaOffset(
281                   ::google::protobuf::MessageLite::internal_visibility()),
282       PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.countries_info_) +
283           decltype(GeocodingInfo::_impl_.countries_info_)::
284               InternalGetArenaOffset(
285                   ::google::protobuf::MessageLite::internal_visibility()),
286       PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.countries_) +
287           decltype(GeocodingInfo::_impl_.countries_)::
288               InternalGetArenaOffset(
289                   ::google::protobuf::MessageLite::internal_visibility()),
290   });
291   if (arena_bits.has_value()) {
292     return ::google::protobuf::internal::MessageCreator::ZeroInit(
293         sizeof(GeocodingInfo), alignof(GeocodingInfo), *arena_bits);
294   } else {
295     return ::google::protobuf::internal::MessageCreator(&GeocodingInfo::PlacementNew_,
296                                  sizeof(GeocodingInfo),
297                                  alignof(GeocodingInfo));
298   }
299 }
300 PROTOBUF_CONSTINIT
301 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
302 const ::google::protobuf::internal::ClassDataLite<32> GeocodingInfo::_class_data_ = {
303     {
304         &_GeocodingInfo_default_instance_._instance,
305         &_table_.header,
306         nullptr,  // OnDemandRegisterArenaDtor
307         GeocodingInfo::IsInitializedImpl,
308         &GeocodingInfo::MergeImpl,
309         ::google::protobuf::MessageLite::GetNewImpl<GeocodingInfo>(),
310 #if defined(PROTOBUF_CUSTOM_VTABLE)
311         &GeocodingInfo::SharedDtor,
312         ::google::protobuf::MessageLite::GetClearImpl<GeocodingInfo>(), &GeocodingInfo::ByteSizeLong,
313             &GeocodingInfo::_InternalSerialize,
314 #endif  // PROTOBUF_CUSTOM_VTABLE
315         PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_._cached_size_),
316         true,
317     },
318     "i18n.phonenumbers.GeocodingInfo",
319 };
320 const ::google::protobuf::internal::ClassData* GeocodingInfo::GetClassData() const {
321   return _class_data_.base();
322 }
323 PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
324 const ::_pbi::TcParseTable<3, 6, 4, 0, 2> GeocodingInfo::_table_ = {
325   {
326     PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_._has_bits_),
327     0, // no _extensions_
328     6, 56,  // max_field_number, fast_idx_mask
329     offsetof(decltype(_table_), field_lookup_table),
330     4294967232,  // skipmap
331     offsetof(decltype(_table_), field_entries),
332     6,  // num_field_entries
333     4,  // num_aux_entries
334     offsetof(decltype(_table_), aux_entries),
335     _class_data_.base(),
336     nullptr,  // post_loop_handler
337     ::_pbi::TcParser::GenericFallbackLite,  // fallback
338     #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
339     ::_pbi::TcParser::GetTable<::i18n::phonenumbers::GeocodingInfo>(),  // to_prefetch
340     #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
341   }, {{
342     {::_pbi::TcParser::MiniParse, {}},
343     // repeated .i18n.phonenumbers.PrefixesInfo prefixes_info = 1;
344     {::_pbi::TcParser::FastMtR1,
345      {10, 63, 0, PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.prefixes_info_)}},
346     // repeated string languages = 2;
347     {::_pbi::TcParser::FastBR1,
348      {18, 63, 0, PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.languages_)}},
349     // required .i18n.phonenumbers.LanguageCodeInfo language_code_info = 3;
350     {::_pbi::TcParser::FastMtS1,
351      {26, 0, 1, PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.language_code_info_)}},
352     // repeated .i18n.phonenumbers.CountriesInfo countries_info = 4;
353     {::_pbi::TcParser::FastMtR1,
354      {34, 63, 2, PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.countries_info_)}},
355     // repeated int32 countries = 5;
356     {::_pbi::TcParser::FastV32R1,
357      {40, 63, 0, PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.countries_)}},
358     // required .i18n.phonenumbers.CountryCodeInfo country_code_info = 6;
359     {::_pbi::TcParser::FastMtS1,
360      {50, 1, 3, PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.country_code_info_)}},
361     {::_pbi::TcParser::MiniParse, {}},
362   }}, {{
363     65535, 65535
364   }}, {{
365     // repeated .i18n.phonenumbers.PrefixesInfo prefixes_info = 1;
366     {PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.prefixes_info_), -1, 0,
367     (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
368     // repeated string languages = 2;
369     {PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.languages_), -1, 0,
370     (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
371     // required .i18n.phonenumbers.LanguageCodeInfo language_code_info = 3;
372     {PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.language_code_info_), _Internal::kHasBitsOffset + 0, 1,
373     (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
374     // repeated .i18n.phonenumbers.CountriesInfo countries_info = 4;
375     {PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.countries_info_), -1, 2,
376     (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
377     // repeated int32 countries = 5;
378     {PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.countries_), -1, 0,
379     (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
380     // required .i18n.phonenumbers.CountryCodeInfo country_code_info = 6;
381     {PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.country_code_info_), _Internal::kHasBitsOffset + 1, 3,
382     (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
383   }}, {{
384     {::_pbi::TcParser::GetTable<::i18n::phonenumbers::PrefixesInfo>()},
385     {::_pbi::TcParser::GetTable<::i18n::phonenumbers::LanguageCodeInfo>()},
386     {::_pbi::TcParser::GetTable<::i18n::phonenumbers::CountriesInfo>()},
387     {::_pbi::TcParser::GetTable<::i18n::phonenumbers::CountryCodeInfo>()},
388   }}, {{
389   }},
390 };
391 
392 PROTOBUF_NOINLINE void GeocodingInfo::Clear() {
393 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.GeocodingInfo)
394   ::google::protobuf::internal::TSanWrite(&_impl_);
395   ::uint32_t cached_has_bits = 0;
396   // Prevent compiler warnings about cached_has_bits being unused
397   (void) cached_has_bits;
398 
399   _impl_.prefixes_info_.Clear();
400   _impl_.languages_.Clear();
401   _impl_.countries_info_.Clear();
402   _impl_.countries_.Clear();
403   cached_has_bits = _impl_._has_bits_[0];
404   if (cached_has_bits & 0x00000003u) {
405     if (cached_has_bits & 0x00000001u) {
406       ABSL_DCHECK(_impl_.language_code_info_ != nullptr);
407       _impl_.language_code_info_->Clear();
408     }
409     if (cached_has_bits & 0x00000002u) {
410       ABSL_DCHECK(_impl_.country_code_info_ != nullptr);
411       _impl_.country_code_info_->Clear();
412     }
413   }
414   _impl_._has_bits_.Clear();
415   _internal_metadata_.Clear<std::string>();
416 }
417 
418 #if defined(PROTOBUF_CUSTOM_VTABLE)
419         ::uint8_t* GeocodingInfo::_InternalSerialize(
420             const MessageLite& base, ::uint8_t* target,
421             ::google::protobuf::io::EpsCopyOutputStream* stream) {
422           const GeocodingInfo& this_ = static_cast<const GeocodingInfo&>(base);
423 #else   // PROTOBUF_CUSTOM_VTABLE
424         ::uint8_t* GeocodingInfo::_InternalSerialize(
425             ::uint8_t* target,
426             ::google::protobuf::io::EpsCopyOutputStream* stream) const {
427           const GeocodingInfo& this_ = *this;
428 #endif  // PROTOBUF_CUSTOM_VTABLE
429           // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.GeocodingInfo)
430           ::uint32_t cached_has_bits = 0;
431           (void)cached_has_bits;
432 
433           // repeated .i18n.phonenumbers.PrefixesInfo prefixes_info = 1;
434           for (unsigned i = 0, n = static_cast<unsigned>(
435                                    this_._internal_prefixes_info_size());
436                i < n; i++) {
437             const auto& repfield = this_._internal_prefixes_info().Get(i);
438             target =
439                 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
440                     1, repfield, repfield.GetCachedSize(),
441                     target, stream);
442           }
443 
444           // repeated string languages = 2;
445           for (int i = 0, n = this_._internal_languages_size(); i < n; ++i) {
446             const auto& s = this_._internal_languages().Get(i);
447             target = stream->WriteString(2, s, target);
448           }
449 
450           cached_has_bits = this_._impl_._has_bits_[0];
451           // required .i18n.phonenumbers.LanguageCodeInfo language_code_info = 3;
452           if (cached_has_bits & 0x00000001u) {
453             target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
454                 3, *this_._impl_.language_code_info_, this_._impl_.language_code_info_->GetCachedSize(), target,
455                 stream);
456           }
457 
458           // repeated .i18n.phonenumbers.CountriesInfo countries_info = 4;
459           for (unsigned i = 0, n = static_cast<unsigned>(
460                                    this_._internal_countries_info_size());
461                i < n; i++) {
462             const auto& repfield = this_._internal_countries_info().Get(i);
463             target =
464                 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
465                     4, repfield, repfield.GetCachedSize(),
466                     target, stream);
467           }
468 
469           // repeated int32 countries = 5;
470           for (int i = 0, n = this_._internal_countries_size(); i < n; ++i) {
471             target = stream->EnsureSpace(target);
472             target = ::_pbi::WireFormatLite::WriteInt32ToArray(
473                 5, this_._internal_countries().Get(i), target);
474           }
475 
476           // required .i18n.phonenumbers.CountryCodeInfo country_code_info = 6;
477           if (cached_has_bits & 0x00000002u) {
478             target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
479                 6, *this_._impl_.country_code_info_, this_._impl_.country_code_info_->GetCachedSize(), target,
480                 stream);
481           }
482 
483           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
484             target = stream->WriteRaw(
485                 this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).data(),
486                 static_cast<int>(this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
487           }
488           // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.GeocodingInfo)
489           return target;
490         }
491 
492 #if defined(PROTOBUF_CUSTOM_VTABLE)
493         ::size_t GeocodingInfo::ByteSizeLong(const MessageLite& base) {
494           const GeocodingInfo& this_ = static_cast<const GeocodingInfo&>(base);
495 #else   // PROTOBUF_CUSTOM_VTABLE
496         ::size_t GeocodingInfo::ByteSizeLong() const {
497           const GeocodingInfo& this_ = *this;
498 #endif  // PROTOBUF_CUSTOM_VTABLE
499           // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.GeocodingInfo)
500           ::size_t total_size = 0;
501 
502           ::uint32_t cached_has_bits = 0;
503           // Prevent compiler warnings about cached_has_bits being unused
504           (void)cached_has_bits;
505 
506           ::_pbi::Prefetch5LinesFrom7Lines(&this_);
507            {
508             // repeated .i18n.phonenumbers.PrefixesInfo prefixes_info = 1;
509             {
510               total_size += 1UL * this_._internal_prefixes_info_size();
511               for (const auto& msg : this_._internal_prefixes_info()) {
512                 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
513               }
514             }
515             // repeated string languages = 2;
516             {
517               total_size +=
518                   1 * ::google::protobuf::internal::FromIntSize(this_._internal_languages().size());
519               for (int i = 0, n = this_._internal_languages().size(); i < n; ++i) {
520                 total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
521                     this_._internal_languages().Get(i));
522               }
523             }
524             // repeated .i18n.phonenumbers.CountriesInfo countries_info = 4;
525             {
526               total_size += 1UL * this_._internal_countries_info_size();
527               for (const auto& msg : this_._internal_countries_info()) {
528                 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
529               }
530             }
531             // repeated int32 countries = 5;
532             {
533               std::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
534                   this_._internal_countries());
535               std::size_t tag_size = std::size_t{1} *
536                   ::_pbi::FromIntSize(this_._internal_countries_size());
537               total_size += tag_size + data_size;
538             }
539           }
540           cached_has_bits = this_._impl_._has_bits_[0];
541           if (cached_has_bits & 0x00000003u) {
542             // required .i18n.phonenumbers.LanguageCodeInfo language_code_info = 3;
543             if (cached_has_bits & 0x00000001u) {
544               total_size += 1 +
545                             ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.language_code_info_);
546             }
547             // required .i18n.phonenumbers.CountryCodeInfo country_code_info = 6;
548             if (cached_has_bits & 0x00000002u) {
549               total_size += 1 +
550                             ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.country_code_info_);
551             }
552           }
553           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
554             total_size += this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size();
555           }
556           this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
557           return total_size;
558         }
559 
560 void GeocodingInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
561   auto* const _this = static_cast<GeocodingInfo*>(&to_msg);
562   auto& from = static_cast<const GeocodingInfo&>(from_msg);
563   ::google::protobuf::Arena* arena = _this->GetArena();
564   // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.GeocodingInfo)
565   ABSL_DCHECK_NE(&from, _this);
566   ::uint32_t cached_has_bits = 0;
567   (void) cached_has_bits;
568 
569   _this->_internal_mutable_prefixes_info()->MergeFrom(
570       from._internal_prefixes_info());
571   _this->_internal_mutable_languages()->MergeFrom(from._internal_languages());
572   _this->_internal_mutable_countries_info()->MergeFrom(
573       from._internal_countries_info());
574   _this->_internal_mutable_countries()->MergeFrom(from._internal_countries());
575   cached_has_bits = from._impl_._has_bits_[0];
576   if (cached_has_bits & 0x00000003u) {
577     if (cached_has_bits & 0x00000001u) {
578       ABSL_DCHECK(from._impl_.language_code_info_ != nullptr);
579       if (_this->_impl_.language_code_info_ == nullptr) {
580         _this->_impl_.language_code_info_ =
581             ::google::protobuf::MessageLite::CopyConstruct<::i18n::phonenumbers::LanguageCodeInfo>(arena, *from._impl_.language_code_info_);
582       } else {
583         _this->_impl_.language_code_info_->MergeFrom(*from._impl_.language_code_info_);
584       }
585     }
586     if (cached_has_bits & 0x00000002u) {
587       ABSL_DCHECK(from._impl_.country_code_info_ != nullptr);
588       if (_this->_impl_.country_code_info_ == nullptr) {
589         _this->_impl_.country_code_info_ =
590             ::google::protobuf::MessageLite::CopyConstruct<::i18n::phonenumbers::CountryCodeInfo>(arena, *from._impl_.country_code_info_);
591       } else {
592         _this->_impl_.country_code_info_->MergeFrom(*from._impl_.country_code_info_);
593       }
594     }
595   }
596   _this->_impl_._has_bits_[0] |= cached_has_bits;
597   _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
598 }
599 
600 void GeocodingInfo::CopyFrom(const GeocodingInfo& from) {
601 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.GeocodingInfo)
602   if (&from == this) return;
603   Clear();
604   MergeFrom(from);
605 }
606 
607 PROTOBUF_NOINLINE bool GeocodingInfo::IsInitializedImpl(
608     const MessageLite& msg) {
609   auto& this_ = static_cast<const GeocodingInfo&>(msg);
610   if (_Internal::MissingRequiredFields(this_._impl_._has_bits_)) {
611     return false;
612   }
613   if (!::google::protobuf::internal::AllAreInitialized(this_._internal_prefixes_info()))
614     return false;
615   if (!::google::protobuf::internal::AllAreInitialized(this_._internal_countries_info()))
616     return false;
617   if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
618     if (!this_._impl_.language_code_info_->IsInitialized()) return false;
619   }
620   if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
621     if (!this_._impl_.country_code_info_->IsInitialized()) return false;
622   }
623   return true;
624 }
625 
626 void GeocodingInfo::InternalSwap(GeocodingInfo* PROTOBUF_RESTRICT other) {
627   using std::swap;
628   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
629   swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
630   _impl_.prefixes_info_.InternalSwap(&other->_impl_.prefixes_info_);
631   _impl_.languages_.InternalSwap(&other->_impl_.languages_);
632   _impl_.countries_info_.InternalSwap(&other->_impl_.countries_info_);
633   _impl_.countries_.InternalSwap(&other->_impl_.countries_);
634   ::google::protobuf::internal::memswap<
635       PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.country_code_info_)
636       + sizeof(GeocodingInfo::_impl_.country_code_info_)
637       - PROTOBUF_FIELD_OFFSET(GeocodingInfo, _impl_.language_code_info_)>(
638           reinterpret_cast<char*>(&_impl_.language_code_info_),
639           reinterpret_cast<char*>(&other->_impl_.language_code_info_));
640 }
641 
642 // ===================================================================
643 
644 class PrefixesInfo::_Internal {
645  public:
646   using HasBits =
647       decltype(std::declval<PrefixesInfo>()._impl_._has_bits_);
648   static constexpr ::int32_t kHasBitsOffset =
649       8 * PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_._has_bits_);
650   static bool MissingRequiredFields(const HasBits& has_bits) {
651     return ((has_bits[0] & 0x00000003) ^ 0x00000003) != 0;
652   }
653 };
654 
655 PrefixesInfo::PrefixesInfo(::google::protobuf::Arena* arena)
656 #if defined(PROTOBUF_CUSTOM_VTABLE)
657     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
658 #else   // PROTOBUF_CUSTOM_VTABLE
659     : ::google::protobuf::MessageLite(arena) {
660 #endif  // PROTOBUF_CUSTOM_VTABLE
661   SharedCtor(arena);
662   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.PrefixesInfo)
663 }
664 inline PROTOBUF_NDEBUG_INLINE PrefixesInfo::Impl_::Impl_(
665     ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
666     const Impl_& from, const ::i18n::phonenumbers::PrefixesInfo& from_msg)
667       : _has_bits_{from._has_bits_},
668         _cached_size_{0},
669         prefixes_{visibility, arena, from.prefixes_},
670         descriptions_{visibility, arena, from.descriptions_},
671         lengths_{visibility, arena, from.lengths_} {}
672 
673 PrefixesInfo::PrefixesInfo(
674     ::google::protobuf::Arena* arena,
675     const PrefixesInfo& from)
676 #if defined(PROTOBUF_CUSTOM_VTABLE)
677     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
678 #else   // PROTOBUF_CUSTOM_VTABLE
679     : ::google::protobuf::MessageLite(arena) {
680 #endif  // PROTOBUF_CUSTOM_VTABLE
681   PrefixesInfo* const _this = this;
682   (void)_this;
683   _internal_metadata_.MergeFrom<std::string>(
684       from._internal_metadata_);
685   new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
686   ::memcpy(reinterpret_cast<char *>(&_impl_) +
687                offsetof(Impl_, prefixes_num_),
688            reinterpret_cast<const char *>(&from._impl_) +
689                offsetof(Impl_, prefixes_num_),
690            offsetof(Impl_, lengths_num_) -
691                offsetof(Impl_, prefixes_num_) +
692                sizeof(Impl_::lengths_num_));
693 
694   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.PrefixesInfo)
695 }
696 inline PROTOBUF_NDEBUG_INLINE PrefixesInfo::Impl_::Impl_(
697     ::google::protobuf::internal::InternalVisibility visibility,
698     ::google::protobuf::Arena* arena)
699       : _cached_size_{0},
700         prefixes_{visibility, arena},
701         descriptions_{visibility, arena},
702         lengths_{visibility, arena} {}
703 
704 inline void PrefixesInfo::SharedCtor(::_pb::Arena* arena) {
705   new (&_impl_) Impl_(internal_visibility(), arena);
706   ::memset(reinterpret_cast<char *>(&_impl_) +
707                offsetof(Impl_, prefixes_num_),
708            0,
709            offsetof(Impl_, lengths_num_) -
710                offsetof(Impl_, prefixes_num_) +
711                sizeof(Impl_::lengths_num_));
712 }
713 PrefixesInfo::~PrefixesInfo() {
714   // @@protoc_insertion_point(destructor:i18n.phonenumbers.PrefixesInfo)
715   SharedDtor(*this);
716 }
717 inline void PrefixesInfo::SharedDtor(MessageLite& self) {
718   PrefixesInfo& this_ = static_cast<PrefixesInfo&>(self);
719   this_._internal_metadata_.Delete<std::string>();
720   ABSL_DCHECK(this_.GetArena() == nullptr);
721   this_._impl_.~Impl_();
722 }
723 
724 inline void* PrefixesInfo::PlacementNew_(const void*, void* mem,
725                                         ::google::protobuf::Arena* arena) {
726   return ::new (mem) PrefixesInfo(arena);
727 }
728 constexpr auto PrefixesInfo::InternalNewImpl_() {
729   constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
730       PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.prefixes_) +
731           decltype(PrefixesInfo::_impl_.prefixes_)::
732               InternalGetArenaOffset(
733                   ::google::protobuf::MessageLite::internal_visibility()),
734       PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.descriptions_) +
735           decltype(PrefixesInfo::_impl_.descriptions_)::
736               InternalGetArenaOffset(
737                   ::google::protobuf::MessageLite::internal_visibility()),
738       PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.lengths_) +
739           decltype(PrefixesInfo::_impl_.lengths_)::
740               InternalGetArenaOffset(
741                   ::google::protobuf::MessageLite::internal_visibility()),
742   });
743   if (arena_bits.has_value()) {
744     return ::google::protobuf::internal::MessageCreator::ZeroInit(
745         sizeof(PrefixesInfo), alignof(PrefixesInfo), *arena_bits);
746   } else {
747     return ::google::protobuf::internal::MessageCreator(&PrefixesInfo::PlacementNew_,
748                                  sizeof(PrefixesInfo),
749                                  alignof(PrefixesInfo));
750   }
751 }
752 PROTOBUF_CONSTINIT
753 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
754 const ::google::protobuf::internal::ClassDataLite<31> PrefixesInfo::_class_data_ = {
755     {
756         &_PrefixesInfo_default_instance_._instance,
757         &_table_.header,
758         nullptr,  // OnDemandRegisterArenaDtor
759         PrefixesInfo::IsInitializedImpl,
760         &PrefixesInfo::MergeImpl,
761         ::google::protobuf::MessageLite::GetNewImpl<PrefixesInfo>(),
762 #if defined(PROTOBUF_CUSTOM_VTABLE)
763         &PrefixesInfo::SharedDtor,
764         ::google::protobuf::MessageLite::GetClearImpl<PrefixesInfo>(), &PrefixesInfo::ByteSizeLong,
765             &PrefixesInfo::_InternalSerialize,
766 #endif  // PROTOBUF_CUSTOM_VTABLE
767         PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_._cached_size_),
768         true,
769     },
770     "i18n.phonenumbers.PrefixesInfo",
771 };
772 const ::google::protobuf::internal::ClassData* PrefixesInfo::GetClassData() const {
773   return _class_data_.base();
774 }
775 PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
776 const ::_pbi::TcParseTable<3, 5, 0, 0, 2> PrefixesInfo::_table_ = {
777   {
778     PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_._has_bits_),
779     0, // no _extensions_
780     5, 56,  // max_field_number, fast_idx_mask
781     offsetof(decltype(_table_), field_lookup_table),
782     4294967264,  // skipmap
783     offsetof(decltype(_table_), field_entries),
784     5,  // num_field_entries
785     0,  // num_aux_entries
786     offsetof(decltype(_table_), field_names),  // no aux_entries
787     _class_data_.base(),
788     nullptr,  // post_loop_handler
789     ::_pbi::TcParser::GenericFallbackLite,  // fallback
790     #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
791     ::_pbi::TcParser::GetTable<::i18n::phonenumbers::PrefixesInfo>(),  // to_prefetch
792     #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
793   }, {{
794     {::_pbi::TcParser::MiniParse, {}},
795     // required int32 prefixes_num = 1;
796     {::_pbi::TcParser::FastV32S1,
797      {8, 0, 0, PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.prefixes_num_)}},
798     // repeated int32 prefixes = 2;
799     {::_pbi::TcParser::FastV32R1,
800      {16, 63, 0, PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.prefixes_)}},
801     // repeated string descriptions = 3;
802     {::_pbi::TcParser::FastBR1,
803      {26, 63, 0, PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.descriptions_)}},
804     // required int32 lengths_num = 4;
805     {::_pbi::TcParser::FastV32S1,
806      {32, 1, 0, PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.lengths_num_)}},
807     // repeated int32 lengths = 5;
808     {::_pbi::TcParser::FastV32R1,
809      {40, 63, 0, PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.lengths_)}},
810     {::_pbi::TcParser::MiniParse, {}},
811     {::_pbi::TcParser::MiniParse, {}},
812   }}, {{
813     65535, 65535
814   }}, {{
815     // required int32 prefixes_num = 1;
816     {PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.prefixes_num_), _Internal::kHasBitsOffset + 0, 0,
817     (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
818     // repeated int32 prefixes = 2;
819     {PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.prefixes_), -1, 0,
820     (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
821     // repeated string descriptions = 3;
822     {PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.descriptions_), -1, 0,
823     (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
824     // required int32 lengths_num = 4;
825     {PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.lengths_num_), _Internal::kHasBitsOffset + 1, 0,
826     (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
827     // repeated int32 lengths = 5;
828     {PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.lengths_), -1, 0,
829     (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
830   }},
831   // no aux_entries
832   {{
833   }},
834 };
835 
836 PROTOBUF_NOINLINE void PrefixesInfo::Clear() {
837 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.PrefixesInfo)
838   ::google::protobuf::internal::TSanWrite(&_impl_);
839   ::uint32_t cached_has_bits = 0;
840   // Prevent compiler warnings about cached_has_bits being unused
841   (void) cached_has_bits;
842 
843   _impl_.prefixes_.Clear();
844   _impl_.descriptions_.Clear();
845   _impl_.lengths_.Clear();
846   cached_has_bits = _impl_._has_bits_[0];
847   if (cached_has_bits & 0x00000003u) {
848     ::memset(&_impl_.prefixes_num_, 0, static_cast<::size_t>(
849         reinterpret_cast<char*>(&_impl_.lengths_num_) -
850         reinterpret_cast<char*>(&_impl_.prefixes_num_)) + sizeof(_impl_.lengths_num_));
851   }
852   _impl_._has_bits_.Clear();
853   _internal_metadata_.Clear<std::string>();
854 }
855 
856 #if defined(PROTOBUF_CUSTOM_VTABLE)
857         ::uint8_t* PrefixesInfo::_InternalSerialize(
858             const MessageLite& base, ::uint8_t* target,
859             ::google::protobuf::io::EpsCopyOutputStream* stream) {
860           const PrefixesInfo& this_ = static_cast<const PrefixesInfo&>(base);
861 #else   // PROTOBUF_CUSTOM_VTABLE
862         ::uint8_t* PrefixesInfo::_InternalSerialize(
863             ::uint8_t* target,
864             ::google::protobuf::io::EpsCopyOutputStream* stream) const {
865           const PrefixesInfo& this_ = *this;
866 #endif  // PROTOBUF_CUSTOM_VTABLE
867           // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.PrefixesInfo)
868           ::uint32_t cached_has_bits = 0;
869           (void)cached_has_bits;
870 
871           cached_has_bits = this_._impl_._has_bits_[0];
872           // required int32 prefixes_num = 1;
873           if (cached_has_bits & 0x00000001u) {
874             target = ::google::protobuf::internal::WireFormatLite::
875                 WriteInt32ToArrayWithField<1>(
876                     stream, this_._internal_prefixes_num(), target);
877           }
878 
879           // repeated int32 prefixes = 2;
880           for (int i = 0, n = this_._internal_prefixes_size(); i < n; ++i) {
881             target = stream->EnsureSpace(target);
882             target = ::_pbi::WireFormatLite::WriteInt32ToArray(
883                 2, this_._internal_prefixes().Get(i), target);
884           }
885 
886           // repeated string descriptions = 3;
887           for (int i = 0, n = this_._internal_descriptions_size(); i < n; ++i) {
888             const auto& s = this_._internal_descriptions().Get(i);
889             target = stream->WriteString(3, s, target);
890           }
891 
892           // required int32 lengths_num = 4;
893           if (cached_has_bits & 0x00000002u) {
894             target = ::google::protobuf::internal::WireFormatLite::
895                 WriteInt32ToArrayWithField<4>(
896                     stream, this_._internal_lengths_num(), target);
897           }
898 
899           // repeated int32 lengths = 5;
900           for (int i = 0, n = this_._internal_lengths_size(); i < n; ++i) {
901             target = stream->EnsureSpace(target);
902             target = ::_pbi::WireFormatLite::WriteInt32ToArray(
903                 5, this_._internal_lengths().Get(i), target);
904           }
905 
906           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
907             target = stream->WriteRaw(
908                 this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).data(),
909                 static_cast<int>(this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
910           }
911           // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.PrefixesInfo)
912           return target;
913         }
914 
915 #if defined(PROTOBUF_CUSTOM_VTABLE)
916         ::size_t PrefixesInfo::ByteSizeLong(const MessageLite& base) {
917           const PrefixesInfo& this_ = static_cast<const PrefixesInfo&>(base);
918 #else   // PROTOBUF_CUSTOM_VTABLE
919         ::size_t PrefixesInfo::ByteSizeLong() const {
920           const PrefixesInfo& this_ = *this;
921 #endif  // PROTOBUF_CUSTOM_VTABLE
922           // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.PrefixesInfo)
923           ::size_t total_size = 0;
924 
925           ::uint32_t cached_has_bits = 0;
926           // Prevent compiler warnings about cached_has_bits being unused
927           (void)cached_has_bits;
928 
929           ::_pbi::Prefetch5LinesFrom7Lines(&this_);
930            {
931             // repeated int32 prefixes = 2;
932             {
933               std::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
934                   this_._internal_prefixes());
935               std::size_t tag_size = std::size_t{1} *
936                   ::_pbi::FromIntSize(this_._internal_prefixes_size());
937               total_size += tag_size + data_size;
938             }
939             // repeated string descriptions = 3;
940             {
941               total_size +=
942                   1 * ::google::protobuf::internal::FromIntSize(this_._internal_descriptions().size());
943               for (int i = 0, n = this_._internal_descriptions().size(); i < n; ++i) {
944                 total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
945                     this_._internal_descriptions().Get(i));
946               }
947             }
948             // repeated int32 lengths = 5;
949             {
950               std::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
951                   this_._internal_lengths());
952               std::size_t tag_size = std::size_t{1} *
953                   ::_pbi::FromIntSize(this_._internal_lengths_size());
954               total_size += tag_size + data_size;
955             }
956           }
957           cached_has_bits = this_._impl_._has_bits_[0];
958           if (cached_has_bits & 0x00000003u) {
959             // required int32 prefixes_num = 1;
960             if (cached_has_bits & 0x00000001u) {
961               total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
962                   this_._internal_prefixes_num());
963             }
964             // required int32 lengths_num = 4;
965             if (cached_has_bits & 0x00000002u) {
966               total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
967                   this_._internal_lengths_num());
968             }
969           }
970           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
971             total_size += this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size();
972           }
973           this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
974           return total_size;
975         }
976 
977 void PrefixesInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
978   auto* const _this = static_cast<PrefixesInfo*>(&to_msg);
979   auto& from = static_cast<const PrefixesInfo&>(from_msg);
980   // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.PrefixesInfo)
981   ABSL_DCHECK_NE(&from, _this);
982   ::uint32_t cached_has_bits = 0;
983   (void) cached_has_bits;
984 
985   _this->_internal_mutable_prefixes()->MergeFrom(from._internal_prefixes());
986   _this->_internal_mutable_descriptions()->MergeFrom(from._internal_descriptions());
987   _this->_internal_mutable_lengths()->MergeFrom(from._internal_lengths());
988   cached_has_bits = from._impl_._has_bits_[0];
989   if (cached_has_bits & 0x00000003u) {
990     if (cached_has_bits & 0x00000001u) {
991       _this->_impl_.prefixes_num_ = from._impl_.prefixes_num_;
992     }
993     if (cached_has_bits & 0x00000002u) {
994       _this->_impl_.lengths_num_ = from._impl_.lengths_num_;
995     }
996   }
997   _this->_impl_._has_bits_[0] |= cached_has_bits;
998   _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
999 }
1000 
1001 void PrefixesInfo::CopyFrom(const PrefixesInfo& from) {
1002 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.PrefixesInfo)
1003   if (&from == this) return;
1004   Clear();
1005   MergeFrom(from);
1006 }
1007 
1008 PROTOBUF_NOINLINE bool PrefixesInfo::IsInitializedImpl(
1009     const MessageLite& msg) {
1010   auto& this_ = static_cast<const PrefixesInfo&>(msg);
1011   if (_Internal::MissingRequiredFields(this_._impl_._has_bits_)) {
1012     return false;
1013   }
1014   return true;
1015 }
1016 
1017 void PrefixesInfo::InternalSwap(PrefixesInfo* PROTOBUF_RESTRICT other) {
1018   using std::swap;
1019   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1020   swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1021   _impl_.prefixes_.InternalSwap(&other->_impl_.prefixes_);
1022   _impl_.descriptions_.InternalSwap(&other->_impl_.descriptions_);
1023   _impl_.lengths_.InternalSwap(&other->_impl_.lengths_);
1024   ::google::protobuf::internal::memswap<
1025       PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.lengths_num_)
1026       + sizeof(PrefixesInfo::_impl_.lengths_num_)
1027       - PROTOBUF_FIELD_OFFSET(PrefixesInfo, _impl_.prefixes_num_)>(
1028           reinterpret_cast<char*>(&_impl_.prefixes_num_),
1029           reinterpret_cast<char*>(&other->_impl_.prefixes_num_));
1030 }
1031 
1032 // ===================================================================
1033 
1034 class LanguageCodeInfo::_Internal {
1035  public:
1036   using HasBits =
1037       decltype(std::declval<LanguageCodeInfo>()._impl_._has_bits_);
1038   static constexpr ::int32_t kHasBitsOffset =
1039       8 * PROTOBUF_FIELD_OFFSET(LanguageCodeInfo, _impl_._has_bits_);
1040   static bool MissingRequiredFields(const HasBits& has_bits) {
1041     return ((has_bits[0] & 0x00000001) ^ 0x00000001) != 0;
1042   }
1043 };
1044 
1045 LanguageCodeInfo::LanguageCodeInfo(::google::protobuf::Arena* arena)
1046 #if defined(PROTOBUF_CUSTOM_VTABLE)
1047     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
1048 #else   // PROTOBUF_CUSTOM_VTABLE
1049     : ::google::protobuf::MessageLite(arena) {
1050 #endif  // PROTOBUF_CUSTOM_VTABLE
1051   SharedCtor(arena);
1052   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.LanguageCodeInfo)
1053 }
1054 inline PROTOBUF_NDEBUG_INLINE LanguageCodeInfo::Impl_::Impl_(
1055     ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
1056     const Impl_& from, const ::i18n::phonenumbers::LanguageCodeInfo& from_msg)
1057       : _has_bits_{from._has_bits_},
1058         _cached_size_{0},
1059         language_codes_{visibility, arena, from.language_codes_} {}
1060 
1061 LanguageCodeInfo::LanguageCodeInfo(
1062     ::google::protobuf::Arena* arena,
1063     const LanguageCodeInfo& from)
1064 #if defined(PROTOBUF_CUSTOM_VTABLE)
1065     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
1066 #else   // PROTOBUF_CUSTOM_VTABLE
1067     : ::google::protobuf::MessageLite(arena) {
1068 #endif  // PROTOBUF_CUSTOM_VTABLE
1069   LanguageCodeInfo* const _this = this;
1070   (void)_this;
1071   _internal_metadata_.MergeFrom<std::string>(
1072       from._internal_metadata_);
1073   new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1074   _impl_.language_codes_num_ = from._impl_.language_codes_num_;
1075 
1076   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.LanguageCodeInfo)
1077 }
1078 inline PROTOBUF_NDEBUG_INLINE LanguageCodeInfo::Impl_::Impl_(
1079     ::google::protobuf::internal::InternalVisibility visibility,
1080     ::google::protobuf::Arena* arena)
1081       : _cached_size_{0},
1082         language_codes_{visibility, arena} {}
1083 
1084 inline void LanguageCodeInfo::SharedCtor(::_pb::Arena* arena) {
1085   new (&_impl_) Impl_(internal_visibility(), arena);
1086   _impl_.language_codes_num_ = {};
1087 }
1088 LanguageCodeInfo::~LanguageCodeInfo() {
1089   // @@protoc_insertion_point(destructor:i18n.phonenumbers.LanguageCodeInfo)
1090   SharedDtor(*this);
1091 }
1092 inline void LanguageCodeInfo::SharedDtor(MessageLite& self) {
1093   LanguageCodeInfo& this_ = static_cast<LanguageCodeInfo&>(self);
1094   this_._internal_metadata_.Delete<std::string>();
1095   ABSL_DCHECK(this_.GetArena() == nullptr);
1096   this_._impl_.~Impl_();
1097 }
1098 
1099 inline void* LanguageCodeInfo::PlacementNew_(const void*, void* mem,
1100                                         ::google::protobuf::Arena* arena) {
1101   return ::new (mem) LanguageCodeInfo(arena);
1102 }
1103 constexpr auto LanguageCodeInfo::InternalNewImpl_() {
1104   constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1105       PROTOBUF_FIELD_OFFSET(LanguageCodeInfo, _impl_.language_codes_) +
1106           decltype(LanguageCodeInfo::_impl_.language_codes_)::
1107               InternalGetArenaOffset(
1108                   ::google::protobuf::MessageLite::internal_visibility()),
1109   });
1110   if (arena_bits.has_value()) {
1111     return ::google::protobuf::internal::MessageCreator::ZeroInit(
1112         sizeof(LanguageCodeInfo), alignof(LanguageCodeInfo), *arena_bits);
1113   } else {
1114     return ::google::protobuf::internal::MessageCreator(&LanguageCodeInfo::PlacementNew_,
1115                                  sizeof(LanguageCodeInfo),
1116                                  alignof(LanguageCodeInfo));
1117   }
1118 }
1119 PROTOBUF_CONSTINIT
1120 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1121 const ::google::protobuf::internal::ClassDataLite<35> LanguageCodeInfo::_class_data_ = {
1122     {
1123         &_LanguageCodeInfo_default_instance_._instance,
1124         &_table_.header,
1125         nullptr,  // OnDemandRegisterArenaDtor
1126         LanguageCodeInfo::IsInitializedImpl,
1127         &LanguageCodeInfo::MergeImpl,
1128         ::google::protobuf::MessageLite::GetNewImpl<LanguageCodeInfo>(),
1129 #if defined(PROTOBUF_CUSTOM_VTABLE)
1130         &LanguageCodeInfo::SharedDtor,
1131         ::google::protobuf::MessageLite::GetClearImpl<LanguageCodeInfo>(), &LanguageCodeInfo::ByteSizeLong,
1132             &LanguageCodeInfo::_InternalSerialize,
1133 #endif  // PROTOBUF_CUSTOM_VTABLE
1134         PROTOBUF_FIELD_OFFSET(LanguageCodeInfo, _impl_._cached_size_),
1135         true,
1136     },
1137     "i18n.phonenumbers.LanguageCodeInfo",
1138 };
1139 const ::google::protobuf::internal::ClassData* LanguageCodeInfo::GetClassData() const {
1140   return _class_data_.base();
1141 }
1142 PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1143 const ::_pbi::TcParseTable<1, 2, 0, 0, 2> LanguageCodeInfo::_table_ = {
1144   {
1145     PROTOBUF_FIELD_OFFSET(LanguageCodeInfo, _impl_._has_bits_),
1146     0, // no _extensions_
1147     2, 8,  // max_field_number, fast_idx_mask
1148     offsetof(decltype(_table_), field_lookup_table),
1149     4294967292,  // skipmap
1150     offsetof(decltype(_table_), field_entries),
1151     2,  // num_field_entries
1152     0,  // num_aux_entries
1153     offsetof(decltype(_table_), field_names),  // no aux_entries
1154     _class_data_.base(),
1155     nullptr,  // post_loop_handler
1156     ::_pbi::TcParser::GenericFallbackLite,  // fallback
1157     #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1158     ::_pbi::TcParser::GetTable<::i18n::phonenumbers::LanguageCodeInfo>(),  // to_prefetch
1159     #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
1160   }, {{
1161     // repeated string language_codes = 2;
1162     {::_pbi::TcParser::FastBR1,
1163      {18, 63, 0, PROTOBUF_FIELD_OFFSET(LanguageCodeInfo, _impl_.language_codes_)}},
1164     // required int32 language_codes_num = 1;
1165     {::_pbi::TcParser::FastV32S1,
1166      {8, 0, 0, PROTOBUF_FIELD_OFFSET(LanguageCodeInfo, _impl_.language_codes_num_)}},
1167   }}, {{
1168     65535, 65535
1169   }}, {{
1170     // required int32 language_codes_num = 1;
1171     {PROTOBUF_FIELD_OFFSET(LanguageCodeInfo, _impl_.language_codes_num_), _Internal::kHasBitsOffset + 0, 0,
1172     (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1173     // repeated string language_codes = 2;
1174     {PROTOBUF_FIELD_OFFSET(LanguageCodeInfo, _impl_.language_codes_), -1, 0,
1175     (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
1176   }},
1177   // no aux_entries
1178   {{
1179   }},
1180 };
1181 
1182 PROTOBUF_NOINLINE void LanguageCodeInfo::Clear() {
1183 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.LanguageCodeInfo)
1184   ::google::protobuf::internal::TSanWrite(&_impl_);
1185   ::uint32_t cached_has_bits = 0;
1186   // Prevent compiler warnings about cached_has_bits being unused
1187   (void) cached_has_bits;
1188 
1189   _impl_.language_codes_.Clear();
1190   _impl_.language_codes_num_ = 0;
1191   _impl_._has_bits_.Clear();
1192   _internal_metadata_.Clear<std::string>();
1193 }
1194 
1195 #if defined(PROTOBUF_CUSTOM_VTABLE)
1196         ::uint8_t* LanguageCodeInfo::_InternalSerialize(
1197             const MessageLite& base, ::uint8_t* target,
1198             ::google::protobuf::io::EpsCopyOutputStream* stream) {
1199           const LanguageCodeInfo& this_ = static_cast<const LanguageCodeInfo&>(base);
1200 #else   // PROTOBUF_CUSTOM_VTABLE
1201         ::uint8_t* LanguageCodeInfo::_InternalSerialize(
1202             ::uint8_t* target,
1203             ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1204           const LanguageCodeInfo& this_ = *this;
1205 #endif  // PROTOBUF_CUSTOM_VTABLE
1206           // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.LanguageCodeInfo)
1207           ::uint32_t cached_has_bits = 0;
1208           (void)cached_has_bits;
1209 
1210           cached_has_bits = this_._impl_._has_bits_[0];
1211           // required int32 language_codes_num = 1;
1212           if (cached_has_bits & 0x00000001u) {
1213             target = ::google::protobuf::internal::WireFormatLite::
1214                 WriteInt32ToArrayWithField<1>(
1215                     stream, this_._internal_language_codes_num(), target);
1216           }
1217 
1218           // repeated string language_codes = 2;
1219           for (int i = 0, n = this_._internal_language_codes_size(); i < n; ++i) {
1220             const auto& s = this_._internal_language_codes().Get(i);
1221             target = stream->WriteString(2, s, target);
1222           }
1223 
1224           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1225             target = stream->WriteRaw(
1226                 this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).data(),
1227                 static_cast<int>(this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
1228           }
1229           // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.LanguageCodeInfo)
1230           return target;
1231         }
1232 
1233 #if defined(PROTOBUF_CUSTOM_VTABLE)
1234         ::size_t LanguageCodeInfo::ByteSizeLong(const MessageLite& base) {
1235           const LanguageCodeInfo& this_ = static_cast<const LanguageCodeInfo&>(base);
1236 #else   // PROTOBUF_CUSTOM_VTABLE
1237         ::size_t LanguageCodeInfo::ByteSizeLong() const {
1238           const LanguageCodeInfo& this_ = *this;
1239 #endif  // PROTOBUF_CUSTOM_VTABLE
1240           // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.LanguageCodeInfo)
1241           ::size_t total_size = 0;
1242 
1243           ::uint32_t cached_has_bits = 0;
1244           // Prevent compiler warnings about cached_has_bits being unused
1245           (void)cached_has_bits;
1246 
1247           ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1248            {
1249             // repeated string language_codes = 2;
1250             {
1251               total_size +=
1252                   1 * ::google::protobuf::internal::FromIntSize(this_._internal_language_codes().size());
1253               for (int i = 0, n = this_._internal_language_codes().size(); i < n; ++i) {
1254                 total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
1255                     this_._internal_language_codes().Get(i));
1256               }
1257             }
1258           }
1259            {
1260             // required int32 language_codes_num = 1;
1261             cached_has_bits = this_._impl_._has_bits_[0];
1262             if (cached_has_bits & 0x00000001u) {
1263               total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1264                   this_._internal_language_codes_num());
1265             }
1266           }
1267           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1268             total_size += this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size();
1269           }
1270           this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
1271           return total_size;
1272         }
1273 
1274 void LanguageCodeInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1275   auto* const _this = static_cast<LanguageCodeInfo*>(&to_msg);
1276   auto& from = static_cast<const LanguageCodeInfo&>(from_msg);
1277   // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.LanguageCodeInfo)
1278   ABSL_DCHECK_NE(&from, _this);
1279   ::uint32_t cached_has_bits = 0;
1280   (void) cached_has_bits;
1281 
1282   _this->_internal_mutable_language_codes()->MergeFrom(from._internal_language_codes());
1283   cached_has_bits = from._impl_._has_bits_[0];
1284   if (cached_has_bits & 0x00000001u) {
1285     _this->_impl_.language_codes_num_ = from._impl_.language_codes_num_;
1286   }
1287   _this->_impl_._has_bits_[0] |= cached_has_bits;
1288   _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
1289 }
1290 
1291 void LanguageCodeInfo::CopyFrom(const LanguageCodeInfo& from) {
1292 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.LanguageCodeInfo)
1293   if (&from == this) return;
1294   Clear();
1295   MergeFrom(from);
1296 }
1297 
1298 PROTOBUF_NOINLINE bool LanguageCodeInfo::IsInitializedImpl(
1299     const MessageLite& msg) {
1300   auto& this_ = static_cast<const LanguageCodeInfo&>(msg);
1301   if (_Internal::MissingRequiredFields(this_._impl_._has_bits_)) {
1302     return false;
1303   }
1304   return true;
1305 }
1306 
1307 void LanguageCodeInfo::InternalSwap(LanguageCodeInfo* PROTOBUF_RESTRICT other) {
1308   using std::swap;
1309   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1310   swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1311   _impl_.language_codes_.InternalSwap(&other->_impl_.language_codes_);
1312         swap(_impl_.language_codes_num_, other->_impl_.language_codes_num_);
1313 }
1314 
1315 // ===================================================================
1316 
1317 class CountriesInfo::_Internal {
1318  public:
1319   using HasBits =
1320       decltype(std::declval<CountriesInfo>()._impl_._has_bits_);
1321   static constexpr ::int32_t kHasBitsOffset =
1322       8 * PROTOBUF_FIELD_OFFSET(CountriesInfo, _impl_._has_bits_);
1323   static bool MissingRequiredFields(const HasBits& has_bits) {
1324     return ((has_bits[0] & 0x00000001) ^ 0x00000001) != 0;
1325   }
1326 };
1327 
1328 CountriesInfo::CountriesInfo(::google::protobuf::Arena* arena)
1329 #if defined(PROTOBUF_CUSTOM_VTABLE)
1330     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
1331 #else   // PROTOBUF_CUSTOM_VTABLE
1332     : ::google::protobuf::MessageLite(arena) {
1333 #endif  // PROTOBUF_CUSTOM_VTABLE
1334   SharedCtor(arena);
1335   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.CountriesInfo)
1336 }
1337 inline PROTOBUF_NDEBUG_INLINE CountriesInfo::Impl_::Impl_(
1338     ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
1339     const Impl_& from, const ::i18n::phonenumbers::CountriesInfo& from_msg)
1340       : _has_bits_{from._has_bits_},
1341         _cached_size_{0},
1342         country_languages_{visibility, arena, from.country_languages_} {}
1343 
1344 CountriesInfo::CountriesInfo(
1345     ::google::protobuf::Arena* arena,
1346     const CountriesInfo& from)
1347 #if defined(PROTOBUF_CUSTOM_VTABLE)
1348     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
1349 #else   // PROTOBUF_CUSTOM_VTABLE
1350     : ::google::protobuf::MessageLite(arena) {
1351 #endif  // PROTOBUF_CUSTOM_VTABLE
1352   CountriesInfo* const _this = this;
1353   (void)_this;
1354   _internal_metadata_.MergeFrom<std::string>(
1355       from._internal_metadata_);
1356   new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1357   _impl_.country_languages_num_ = from._impl_.country_languages_num_;
1358 
1359   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.CountriesInfo)
1360 }
1361 inline PROTOBUF_NDEBUG_INLINE CountriesInfo::Impl_::Impl_(
1362     ::google::protobuf::internal::InternalVisibility visibility,
1363     ::google::protobuf::Arena* arena)
1364       : _cached_size_{0},
1365         country_languages_{visibility, arena} {}
1366 
1367 inline void CountriesInfo::SharedCtor(::_pb::Arena* arena) {
1368   new (&_impl_) Impl_(internal_visibility(), arena);
1369   _impl_.country_languages_num_ = {};
1370 }
1371 CountriesInfo::~CountriesInfo() {
1372   // @@protoc_insertion_point(destructor:i18n.phonenumbers.CountriesInfo)
1373   SharedDtor(*this);
1374 }
1375 inline void CountriesInfo::SharedDtor(MessageLite& self) {
1376   CountriesInfo& this_ = static_cast<CountriesInfo&>(self);
1377   this_._internal_metadata_.Delete<std::string>();
1378   ABSL_DCHECK(this_.GetArena() == nullptr);
1379   this_._impl_.~Impl_();
1380 }
1381 
1382 inline void* CountriesInfo::PlacementNew_(const void*, void* mem,
1383                                         ::google::protobuf::Arena* arena) {
1384   return ::new (mem) CountriesInfo(arena);
1385 }
1386 constexpr auto CountriesInfo::InternalNewImpl_() {
1387   constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1388       PROTOBUF_FIELD_OFFSET(CountriesInfo, _impl_.country_languages_) +
1389           decltype(CountriesInfo::_impl_.country_languages_)::
1390               InternalGetArenaOffset(
1391                   ::google::protobuf::MessageLite::internal_visibility()),
1392   });
1393   if (arena_bits.has_value()) {
1394     return ::google::protobuf::internal::MessageCreator::ZeroInit(
1395         sizeof(CountriesInfo), alignof(CountriesInfo), *arena_bits);
1396   } else {
1397     return ::google::protobuf::internal::MessageCreator(&CountriesInfo::PlacementNew_,
1398                                  sizeof(CountriesInfo),
1399                                  alignof(CountriesInfo));
1400   }
1401 }
1402 PROTOBUF_CONSTINIT
1403 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1404 const ::google::protobuf::internal::ClassDataLite<32> CountriesInfo::_class_data_ = {
1405     {
1406         &_CountriesInfo_default_instance_._instance,
1407         &_table_.header,
1408         nullptr,  // OnDemandRegisterArenaDtor
1409         CountriesInfo::IsInitializedImpl,
1410         &CountriesInfo::MergeImpl,
1411         ::google::protobuf::MessageLite::GetNewImpl<CountriesInfo>(),
1412 #if defined(PROTOBUF_CUSTOM_VTABLE)
1413         &CountriesInfo::SharedDtor,
1414         ::google::protobuf::MessageLite::GetClearImpl<CountriesInfo>(), &CountriesInfo::ByteSizeLong,
1415             &CountriesInfo::_InternalSerialize,
1416 #endif  // PROTOBUF_CUSTOM_VTABLE
1417         PROTOBUF_FIELD_OFFSET(CountriesInfo, _impl_._cached_size_),
1418         true,
1419     },
1420     "i18n.phonenumbers.CountriesInfo",
1421 };
1422 const ::google::protobuf::internal::ClassData* CountriesInfo::GetClassData() const {
1423   return _class_data_.base();
1424 }
1425 PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1426 const ::_pbi::TcParseTable<1, 2, 0, 0, 2> CountriesInfo::_table_ = {
1427   {
1428     PROTOBUF_FIELD_OFFSET(CountriesInfo, _impl_._has_bits_),
1429     0, // no _extensions_
1430     2, 8,  // max_field_number, fast_idx_mask
1431     offsetof(decltype(_table_), field_lookup_table),
1432     4294967292,  // skipmap
1433     offsetof(decltype(_table_), field_entries),
1434     2,  // num_field_entries
1435     0,  // num_aux_entries
1436     offsetof(decltype(_table_), field_names),  // no aux_entries
1437     _class_data_.base(),
1438     nullptr,  // post_loop_handler
1439     ::_pbi::TcParser::GenericFallbackLite,  // fallback
1440     #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1441     ::_pbi::TcParser::GetTable<::i18n::phonenumbers::CountriesInfo>(),  // to_prefetch
1442     #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
1443   }, {{
1444     // repeated string country_languages = 2;
1445     {::_pbi::TcParser::FastBR1,
1446      {18, 63, 0, PROTOBUF_FIELD_OFFSET(CountriesInfo, _impl_.country_languages_)}},
1447     // required int32 country_languages_num = 1;
1448     {::_pbi::TcParser::FastV32S1,
1449      {8, 0, 0, PROTOBUF_FIELD_OFFSET(CountriesInfo, _impl_.country_languages_num_)}},
1450   }}, {{
1451     65535, 65535
1452   }}, {{
1453     // required int32 country_languages_num = 1;
1454     {PROTOBUF_FIELD_OFFSET(CountriesInfo, _impl_.country_languages_num_), _Internal::kHasBitsOffset + 0, 0,
1455     (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1456     // repeated string country_languages = 2;
1457     {PROTOBUF_FIELD_OFFSET(CountriesInfo, _impl_.country_languages_), -1, 0,
1458     (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
1459   }},
1460   // no aux_entries
1461   {{
1462   }},
1463 };
1464 
1465 PROTOBUF_NOINLINE void CountriesInfo::Clear() {
1466 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.CountriesInfo)
1467   ::google::protobuf::internal::TSanWrite(&_impl_);
1468   ::uint32_t cached_has_bits = 0;
1469   // Prevent compiler warnings about cached_has_bits being unused
1470   (void) cached_has_bits;
1471 
1472   _impl_.country_languages_.Clear();
1473   _impl_.country_languages_num_ = 0;
1474   _impl_._has_bits_.Clear();
1475   _internal_metadata_.Clear<std::string>();
1476 }
1477 
1478 #if defined(PROTOBUF_CUSTOM_VTABLE)
1479         ::uint8_t* CountriesInfo::_InternalSerialize(
1480             const MessageLite& base, ::uint8_t* target,
1481             ::google::protobuf::io::EpsCopyOutputStream* stream) {
1482           const CountriesInfo& this_ = static_cast<const CountriesInfo&>(base);
1483 #else   // PROTOBUF_CUSTOM_VTABLE
1484         ::uint8_t* CountriesInfo::_InternalSerialize(
1485             ::uint8_t* target,
1486             ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1487           const CountriesInfo& this_ = *this;
1488 #endif  // PROTOBUF_CUSTOM_VTABLE
1489           // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.CountriesInfo)
1490           ::uint32_t cached_has_bits = 0;
1491           (void)cached_has_bits;
1492 
1493           cached_has_bits = this_._impl_._has_bits_[0];
1494           // required int32 country_languages_num = 1;
1495           if (cached_has_bits & 0x00000001u) {
1496             target = ::google::protobuf::internal::WireFormatLite::
1497                 WriteInt32ToArrayWithField<1>(
1498                     stream, this_._internal_country_languages_num(), target);
1499           }
1500 
1501           // repeated string country_languages = 2;
1502           for (int i = 0, n = this_._internal_country_languages_size(); i < n; ++i) {
1503             const auto& s = this_._internal_country_languages().Get(i);
1504             target = stream->WriteString(2, s, target);
1505           }
1506 
1507           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1508             target = stream->WriteRaw(
1509                 this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).data(),
1510                 static_cast<int>(this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
1511           }
1512           // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.CountriesInfo)
1513           return target;
1514         }
1515 
1516 #if defined(PROTOBUF_CUSTOM_VTABLE)
1517         ::size_t CountriesInfo::ByteSizeLong(const MessageLite& base) {
1518           const CountriesInfo& this_ = static_cast<const CountriesInfo&>(base);
1519 #else   // PROTOBUF_CUSTOM_VTABLE
1520         ::size_t CountriesInfo::ByteSizeLong() const {
1521           const CountriesInfo& this_ = *this;
1522 #endif  // PROTOBUF_CUSTOM_VTABLE
1523           // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.CountriesInfo)
1524           ::size_t total_size = 0;
1525 
1526           ::uint32_t cached_has_bits = 0;
1527           // Prevent compiler warnings about cached_has_bits being unused
1528           (void)cached_has_bits;
1529 
1530           ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1531            {
1532             // repeated string country_languages = 2;
1533             {
1534               total_size +=
1535                   1 * ::google::protobuf::internal::FromIntSize(this_._internal_country_languages().size());
1536               for (int i = 0, n = this_._internal_country_languages().size(); i < n; ++i) {
1537                 total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
1538                     this_._internal_country_languages().Get(i));
1539               }
1540             }
1541           }
1542            {
1543             // required int32 country_languages_num = 1;
1544             cached_has_bits = this_._impl_._has_bits_[0];
1545             if (cached_has_bits & 0x00000001u) {
1546               total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1547                   this_._internal_country_languages_num());
1548             }
1549           }
1550           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1551             total_size += this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size();
1552           }
1553           this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
1554           return total_size;
1555         }
1556 
1557 void CountriesInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1558   auto* const _this = static_cast<CountriesInfo*>(&to_msg);
1559   auto& from = static_cast<const CountriesInfo&>(from_msg);
1560   // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.CountriesInfo)
1561   ABSL_DCHECK_NE(&from, _this);
1562   ::uint32_t cached_has_bits = 0;
1563   (void) cached_has_bits;
1564 
1565   _this->_internal_mutable_country_languages()->MergeFrom(from._internal_country_languages());
1566   cached_has_bits = from._impl_._has_bits_[0];
1567   if (cached_has_bits & 0x00000001u) {
1568     _this->_impl_.country_languages_num_ = from._impl_.country_languages_num_;
1569   }
1570   _this->_impl_._has_bits_[0] |= cached_has_bits;
1571   _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
1572 }
1573 
1574 void CountriesInfo::CopyFrom(const CountriesInfo& from) {
1575 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.CountriesInfo)
1576   if (&from == this) return;
1577   Clear();
1578   MergeFrom(from);
1579 }
1580 
1581 PROTOBUF_NOINLINE bool CountriesInfo::IsInitializedImpl(
1582     const MessageLite& msg) {
1583   auto& this_ = static_cast<const CountriesInfo&>(msg);
1584   if (_Internal::MissingRequiredFields(this_._impl_._has_bits_)) {
1585     return false;
1586   }
1587   return true;
1588 }
1589 
1590 void CountriesInfo::InternalSwap(CountriesInfo* PROTOBUF_RESTRICT other) {
1591   using std::swap;
1592   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1593   swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1594   _impl_.country_languages_.InternalSwap(&other->_impl_.country_languages_);
1595         swap(_impl_.country_languages_num_, other->_impl_.country_languages_num_);
1596 }
1597 
1598 // ===================================================================
1599 
1600 class CountryCodeInfo::_Internal {
1601  public:
1602   using HasBits =
1603       decltype(std::declval<CountryCodeInfo>()._impl_._has_bits_);
1604   static constexpr ::int32_t kHasBitsOffset =
1605       8 * PROTOBUF_FIELD_OFFSET(CountryCodeInfo, _impl_._has_bits_);
1606   static bool MissingRequiredFields(const HasBits& has_bits) {
1607     return ((has_bits[0] & 0x00000001) ^ 0x00000001) != 0;
1608   }
1609 };
1610 
1611 CountryCodeInfo::CountryCodeInfo(::google::protobuf::Arena* arena)
1612 #if defined(PROTOBUF_CUSTOM_VTABLE)
1613     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
1614 #else   // PROTOBUF_CUSTOM_VTABLE
1615     : ::google::protobuf::MessageLite(arena) {
1616 #endif  // PROTOBUF_CUSTOM_VTABLE
1617   SharedCtor(arena);
1618   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.CountryCodeInfo)
1619 }
1620 inline PROTOBUF_NDEBUG_INLINE CountryCodeInfo::Impl_::Impl_(
1621     ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
1622     const Impl_& from, const ::i18n::phonenumbers::CountryCodeInfo& from_msg)
1623       : _has_bits_{from._has_bits_},
1624         _cached_size_{0},
1625         country_codes_{visibility, arena, from.country_codes_} {}
1626 
1627 CountryCodeInfo::CountryCodeInfo(
1628     ::google::protobuf::Arena* arena,
1629     const CountryCodeInfo& from)
1630 #if defined(PROTOBUF_CUSTOM_VTABLE)
1631     : ::google::protobuf::MessageLite(arena, _class_data_.base()) {
1632 #else   // PROTOBUF_CUSTOM_VTABLE
1633     : ::google::protobuf::MessageLite(arena) {
1634 #endif  // PROTOBUF_CUSTOM_VTABLE
1635   CountryCodeInfo* const _this = this;
1636   (void)_this;
1637   _internal_metadata_.MergeFrom<std::string>(
1638       from._internal_metadata_);
1639   new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1640   _impl_.country_codes_num_ = from._impl_.country_codes_num_;
1641 
1642   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.CountryCodeInfo)
1643 }
1644 inline PROTOBUF_NDEBUG_INLINE CountryCodeInfo::Impl_::Impl_(
1645     ::google::protobuf::internal::InternalVisibility visibility,
1646     ::google::protobuf::Arena* arena)
1647       : _cached_size_{0},
1648         country_codes_{visibility, arena} {}
1649 
1650 inline void CountryCodeInfo::SharedCtor(::_pb::Arena* arena) {
1651   new (&_impl_) Impl_(internal_visibility(), arena);
1652   _impl_.country_codes_num_ = {};
1653 }
1654 CountryCodeInfo::~CountryCodeInfo() {
1655   // @@protoc_insertion_point(destructor:i18n.phonenumbers.CountryCodeInfo)
1656   SharedDtor(*this);
1657 }
1658 inline void CountryCodeInfo::SharedDtor(MessageLite& self) {
1659   CountryCodeInfo& this_ = static_cast<CountryCodeInfo&>(self);
1660   this_._internal_metadata_.Delete<std::string>();
1661   ABSL_DCHECK(this_.GetArena() == nullptr);
1662   this_._impl_.~Impl_();
1663 }
1664 
1665 inline void* CountryCodeInfo::PlacementNew_(const void*, void* mem,
1666                                         ::google::protobuf::Arena* arena) {
1667   return ::new (mem) CountryCodeInfo(arena);
1668 }
1669 constexpr auto CountryCodeInfo::InternalNewImpl_() {
1670   constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1671       PROTOBUF_FIELD_OFFSET(CountryCodeInfo, _impl_.country_codes_) +
1672           decltype(CountryCodeInfo::_impl_.country_codes_)::
1673               InternalGetArenaOffset(
1674                   ::google::protobuf::MessageLite::internal_visibility()),
1675   });
1676   if (arena_bits.has_value()) {
1677     return ::google::protobuf::internal::MessageCreator::ZeroInit(
1678         sizeof(CountryCodeInfo), alignof(CountryCodeInfo), *arena_bits);
1679   } else {
1680     return ::google::protobuf::internal::MessageCreator(&CountryCodeInfo::PlacementNew_,
1681                                  sizeof(CountryCodeInfo),
1682                                  alignof(CountryCodeInfo));
1683   }
1684 }
1685 PROTOBUF_CONSTINIT
1686 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1687 const ::google::protobuf::internal::ClassDataLite<34> CountryCodeInfo::_class_data_ = {
1688     {
1689         &_CountryCodeInfo_default_instance_._instance,
1690         &_table_.header,
1691         nullptr,  // OnDemandRegisterArenaDtor
1692         CountryCodeInfo::IsInitializedImpl,
1693         &CountryCodeInfo::MergeImpl,
1694         ::google::protobuf::MessageLite::GetNewImpl<CountryCodeInfo>(),
1695 #if defined(PROTOBUF_CUSTOM_VTABLE)
1696         &CountryCodeInfo::SharedDtor,
1697         ::google::protobuf::MessageLite::GetClearImpl<CountryCodeInfo>(), &CountryCodeInfo::ByteSizeLong,
1698             &CountryCodeInfo::_InternalSerialize,
1699 #endif  // PROTOBUF_CUSTOM_VTABLE
1700         PROTOBUF_FIELD_OFFSET(CountryCodeInfo, _impl_._cached_size_),
1701         true,
1702     },
1703     "i18n.phonenumbers.CountryCodeInfo",
1704 };
1705 const ::google::protobuf::internal::ClassData* CountryCodeInfo::GetClassData() const {
1706   return _class_data_.base();
1707 }
1708 PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1709 const ::_pbi::TcParseTable<1, 2, 0, 0, 2> CountryCodeInfo::_table_ = {
1710   {
1711     PROTOBUF_FIELD_OFFSET(CountryCodeInfo, _impl_._has_bits_),
1712     0, // no _extensions_
1713     2, 8,  // max_field_number, fast_idx_mask
1714     offsetof(decltype(_table_), field_lookup_table),
1715     4294967292,  // skipmap
1716     offsetof(decltype(_table_), field_entries),
1717     2,  // num_field_entries
1718     0,  // num_aux_entries
1719     offsetof(decltype(_table_), field_names),  // no aux_entries
1720     _class_data_.base(),
1721     nullptr,  // post_loop_handler
1722     ::_pbi::TcParser::GenericFallbackLite,  // fallback
1723     #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1724     ::_pbi::TcParser::GetTable<::i18n::phonenumbers::CountryCodeInfo>(),  // to_prefetch
1725     #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
1726   }, {{
1727     // repeated int32 country_codes = 2;
1728     {::_pbi::TcParser::FastV32R1,
1729      {16, 63, 0, PROTOBUF_FIELD_OFFSET(CountryCodeInfo, _impl_.country_codes_)}},
1730     // required int32 country_codes_num = 1;
1731     {::_pbi::TcParser::FastV32S1,
1732      {8, 0, 0, PROTOBUF_FIELD_OFFSET(CountryCodeInfo, _impl_.country_codes_num_)}},
1733   }}, {{
1734     65535, 65535
1735   }}, {{
1736     // required int32 country_codes_num = 1;
1737     {PROTOBUF_FIELD_OFFSET(CountryCodeInfo, _impl_.country_codes_num_), _Internal::kHasBitsOffset + 0, 0,
1738     (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1739     // repeated int32 country_codes = 2;
1740     {PROTOBUF_FIELD_OFFSET(CountryCodeInfo, _impl_.country_codes_), -1, 0,
1741     (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
1742   }},
1743   // no aux_entries
1744   {{
1745   }},
1746 };
1747 
1748 PROTOBUF_NOINLINE void CountryCodeInfo::Clear() {
1749 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.CountryCodeInfo)
1750   ::google::protobuf::internal::TSanWrite(&_impl_);
1751   ::uint32_t cached_has_bits = 0;
1752   // Prevent compiler warnings about cached_has_bits being unused
1753   (void) cached_has_bits;
1754 
1755   _impl_.country_codes_.Clear();
1756   _impl_.country_codes_num_ = 0;
1757   _impl_._has_bits_.Clear();
1758   _internal_metadata_.Clear<std::string>();
1759 }
1760 
1761 #if defined(PROTOBUF_CUSTOM_VTABLE)
1762         ::uint8_t* CountryCodeInfo::_InternalSerialize(
1763             const MessageLite& base, ::uint8_t* target,
1764             ::google::protobuf::io::EpsCopyOutputStream* stream) {
1765           const CountryCodeInfo& this_ = static_cast<const CountryCodeInfo&>(base);
1766 #else   // PROTOBUF_CUSTOM_VTABLE
1767         ::uint8_t* CountryCodeInfo::_InternalSerialize(
1768             ::uint8_t* target,
1769             ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1770           const CountryCodeInfo& this_ = *this;
1771 #endif  // PROTOBUF_CUSTOM_VTABLE
1772           // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.CountryCodeInfo)
1773           ::uint32_t cached_has_bits = 0;
1774           (void)cached_has_bits;
1775 
1776           cached_has_bits = this_._impl_._has_bits_[0];
1777           // required int32 country_codes_num = 1;
1778           if (cached_has_bits & 0x00000001u) {
1779             target = ::google::protobuf::internal::WireFormatLite::
1780                 WriteInt32ToArrayWithField<1>(
1781                     stream, this_._internal_country_codes_num(), target);
1782           }
1783 
1784           // repeated int32 country_codes = 2;
1785           for (int i = 0, n = this_._internal_country_codes_size(); i < n; ++i) {
1786             target = stream->EnsureSpace(target);
1787             target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1788                 2, this_._internal_country_codes().Get(i), target);
1789           }
1790 
1791           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1792             target = stream->WriteRaw(
1793                 this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).data(),
1794                 static_cast<int>(this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
1795           }
1796           // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.CountryCodeInfo)
1797           return target;
1798         }
1799 
1800 #if defined(PROTOBUF_CUSTOM_VTABLE)
1801         ::size_t CountryCodeInfo::ByteSizeLong(const MessageLite& base) {
1802           const CountryCodeInfo& this_ = static_cast<const CountryCodeInfo&>(base);
1803 #else   // PROTOBUF_CUSTOM_VTABLE
1804         ::size_t CountryCodeInfo::ByteSizeLong() const {
1805           const CountryCodeInfo& this_ = *this;
1806 #endif  // PROTOBUF_CUSTOM_VTABLE
1807           // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.CountryCodeInfo)
1808           ::size_t total_size = 0;
1809 
1810           ::uint32_t cached_has_bits = 0;
1811           // Prevent compiler warnings about cached_has_bits being unused
1812           (void)cached_has_bits;
1813 
1814           ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1815            {
1816             // repeated int32 country_codes = 2;
1817             {
1818               std::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
1819                   this_._internal_country_codes());
1820               std::size_t tag_size = std::size_t{1} *
1821                   ::_pbi::FromIntSize(this_._internal_country_codes_size());
1822               total_size += tag_size + data_size;
1823             }
1824           }
1825            {
1826             // required int32 country_codes_num = 1;
1827             cached_has_bits = this_._impl_._has_bits_[0];
1828             if (cached_has_bits & 0x00000001u) {
1829               total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1830                   this_._internal_country_codes_num());
1831             }
1832           }
1833           if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1834             total_size += this_._internal_metadata_.unknown_fields<std::string>(::google::protobuf::internal::GetEmptyString).size();
1835           }
1836           this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
1837           return total_size;
1838         }
1839 
1840 void CountryCodeInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1841   auto* const _this = static_cast<CountryCodeInfo*>(&to_msg);
1842   auto& from = static_cast<const CountryCodeInfo&>(from_msg);
1843   // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.CountryCodeInfo)
1844   ABSL_DCHECK_NE(&from, _this);
1845   ::uint32_t cached_has_bits = 0;
1846   (void) cached_has_bits;
1847 
1848   _this->_internal_mutable_country_codes()->MergeFrom(from._internal_country_codes());
1849   cached_has_bits = from._impl_._has_bits_[0];
1850   if (cached_has_bits & 0x00000001u) {
1851     _this->_impl_.country_codes_num_ = from._impl_.country_codes_num_;
1852   }
1853   _this->_impl_._has_bits_[0] |= cached_has_bits;
1854   _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
1855 }
1856 
1857 void CountryCodeInfo::CopyFrom(const CountryCodeInfo& from) {
1858 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.CountryCodeInfo)
1859   if (&from == this) return;
1860   Clear();
1861   MergeFrom(from);
1862 }
1863 
1864 PROTOBUF_NOINLINE bool CountryCodeInfo::IsInitializedImpl(
1865     const MessageLite& msg) {
1866   auto& this_ = static_cast<const CountryCodeInfo&>(msg);
1867   if (_Internal::MissingRequiredFields(this_._impl_._has_bits_)) {
1868     return false;
1869   }
1870   return true;
1871 }
1872 
1873 void CountryCodeInfo::InternalSwap(CountryCodeInfo* PROTOBUF_RESTRICT other) {
1874   using std::swap;
1875   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1876   swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1877   _impl_.country_codes_.InternalSwap(&other->_impl_.country_codes_);
1878         swap(_impl_.country_codes_num_, other->_impl_.country_codes_num_);
1879 }
1880 
1881 // @@protoc_insertion_point(namespace_scope)
1882 }  // namespace phonenumbers
1883 }  // namespace i18n
1884 namespace google {
1885 namespace protobuf {
1886 }  // namespace protobuf
1887 }  // namespace google
1888 // @@protoc_insertion_point(global_scope)
1889 #include "google/protobuf/port_undef.inc"
1890