protobuf/well_known_types/
type_pb.rs

1// This file is generated by rust-protobuf 2.27.1. Do not edit
2// @generated
3
4// https://github.com/rust-lang/rust-clippy/issues/702
5#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `google/protobuf/type.proto`
21
22#[derive(PartialEq,Clone,Default)]
23#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
24pub struct Type {
25    // message fields
26    pub name: ::std::string::String,
27    pub fields: crate::RepeatedField<Field>,
28    pub oneofs: crate::RepeatedField<::std::string::String>,
29    pub options: crate::RepeatedField<Option>,
30    pub source_context: crate::SingularPtrField<crate::well_known_types::SourceContext>,
31    pub syntax: Syntax,
32    // special fields
33    #[cfg_attr(feature = "with-serde", serde(skip))]
34    pub unknown_fields: crate::UnknownFields,
35    #[cfg_attr(feature = "with-serde", serde(skip))]
36    pub cached_size: crate::CachedSize,
37}
38
39impl<'a> ::std::default::Default for &'a Type {
40    fn default() -> &'a Type {
41        <Type as crate::Message>::default_instance()
42    }
43}
44
45impl Type {
46    pub fn new() -> Type {
47        ::std::default::Default::default()
48    }
49
50    // string name = 1;
51
52
53    pub fn get_name(&self) -> &str {
54        &self.name
55    }
56    pub fn clear_name(&mut self) {
57        self.name.clear();
58    }
59
60    // Param is passed by value, moved
61    pub fn set_name(&mut self, v: ::std::string::String) {
62        self.name = v;
63    }
64
65    // Mutable pointer to the field.
66    // If field is not initialized, it is initialized with default value first.
67    pub fn mut_name(&mut self) -> &mut ::std::string::String {
68        &mut self.name
69    }
70
71    // Take field
72    pub fn take_name(&mut self) -> ::std::string::String {
73        ::std::mem::replace(&mut self.name, ::std::string::String::new())
74    }
75
76    // repeated .google.protobuf.Field fields = 2;
77
78
79    pub fn get_fields(&self) -> &[Field] {
80        &self.fields
81    }
82    pub fn clear_fields(&mut self) {
83        self.fields.clear();
84    }
85
86    // Param is passed by value, moved
87    pub fn set_fields(&mut self, v: crate::RepeatedField<Field>) {
88        self.fields = v;
89    }
90
91    // Mutable pointer to the field.
92    pub fn mut_fields(&mut self) -> &mut crate::RepeatedField<Field> {
93        &mut self.fields
94    }
95
96    // Take field
97    pub fn take_fields(&mut self) -> crate::RepeatedField<Field> {
98        ::std::mem::replace(&mut self.fields, crate::RepeatedField::new())
99    }
100
101    // repeated string oneofs = 3;
102
103
104    pub fn get_oneofs(&self) -> &[::std::string::String] {
105        &self.oneofs
106    }
107    pub fn clear_oneofs(&mut self) {
108        self.oneofs.clear();
109    }
110
111    // Param is passed by value, moved
112    pub fn set_oneofs(&mut self, v: crate::RepeatedField<::std::string::String>) {
113        self.oneofs = v;
114    }
115
116    // Mutable pointer to the field.
117    pub fn mut_oneofs(&mut self) -> &mut crate::RepeatedField<::std::string::String> {
118        &mut self.oneofs
119    }
120
121    // Take field
122    pub fn take_oneofs(&mut self) -> crate::RepeatedField<::std::string::String> {
123        ::std::mem::replace(&mut self.oneofs, crate::RepeatedField::new())
124    }
125
126    // repeated .google.protobuf.Option options = 4;
127
128
129    pub fn get_options(&self) -> &[Option] {
130        &self.options
131    }
132    pub fn clear_options(&mut self) {
133        self.options.clear();
134    }
135
136    // Param is passed by value, moved
137    pub fn set_options(&mut self, v: crate::RepeatedField<Option>) {
138        self.options = v;
139    }
140
141    // Mutable pointer to the field.
142    pub fn mut_options(&mut self) -> &mut crate::RepeatedField<Option> {
143        &mut self.options
144    }
145
146    // Take field
147    pub fn take_options(&mut self) -> crate::RepeatedField<Option> {
148        ::std::mem::replace(&mut self.options, crate::RepeatedField::new())
149    }
150
151    // .google.protobuf.SourceContext source_context = 5;
152
153
154    pub fn get_source_context(&self) -> &crate::well_known_types::SourceContext {
155        self.source_context.as_ref().unwrap_or_else(|| <crate::well_known_types::SourceContext as crate::Message>::default_instance())
156    }
157    pub fn clear_source_context(&mut self) {
158        self.source_context.clear();
159    }
160
161    pub fn has_source_context(&self) -> bool {
162        self.source_context.is_some()
163    }
164
165    // Param is passed by value, moved
166    pub fn set_source_context(&mut self, v: crate::well_known_types::SourceContext) {
167        self.source_context = crate::SingularPtrField::some(v);
168    }
169
170    // Mutable pointer to the field.
171    // If field is not initialized, it is initialized with default value first.
172    pub fn mut_source_context(&mut self) -> &mut crate::well_known_types::SourceContext {
173        if self.source_context.is_none() {
174            self.source_context.set_default();
175        }
176        self.source_context.as_mut().unwrap()
177    }
178
179    // Take field
180    pub fn take_source_context(&mut self) -> crate::well_known_types::SourceContext {
181        self.source_context.take().unwrap_or_else(|| crate::well_known_types::SourceContext::new())
182    }
183
184    // .google.protobuf.Syntax syntax = 6;
185
186
187    pub fn get_syntax(&self) -> Syntax {
188        self.syntax
189    }
190    pub fn clear_syntax(&mut self) {
191        self.syntax = Syntax::SYNTAX_PROTO2;
192    }
193
194    // Param is passed by value, moved
195    pub fn set_syntax(&mut self, v: Syntax) {
196        self.syntax = v;
197    }
198}
199
200impl crate::Message for Type {
201    fn is_initialized(&self) -> bool {
202        for v in &self.fields {
203            if !v.is_initialized() {
204                return false;
205            }
206        };
207        for v in &self.options {
208            if !v.is_initialized() {
209                return false;
210            }
211        };
212        for v in &self.source_context {
213            if !v.is_initialized() {
214                return false;
215            }
216        };
217        true
218    }
219
220    fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> {
221        while !is.eof()? {
222            let (field_number, wire_type) = is.read_tag_unpack()?;
223            match field_number {
224                1 => {
225                    crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
226                },
227                2 => {
228                    crate::rt::read_repeated_message_into(wire_type, is, &mut self.fields)?;
229                },
230                3 => {
231                    crate::rt::read_repeated_string_into(wire_type, is, &mut self.oneofs)?;
232                },
233                4 => {
234                    crate::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
235                },
236                5 => {
237                    crate::rt::read_singular_message_into(wire_type, is, &mut self.source_context)?;
238                },
239                6 => {
240                    crate::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.syntax, 6, &mut self.unknown_fields)?
241                },
242                _ => {
243                    crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
244                },
245            };
246        }
247        ::std::result::Result::Ok(())
248    }
249
250    // Compute sizes of nested messages
251    #[allow(unused_variables)]
252    fn compute_size(&self) -> u32 {
253        let mut my_size = 0;
254        if !self.name.is_empty() {
255            my_size += crate::rt::string_size(1, &self.name);
256        }
257        for value in &self.fields {
258            let len = value.compute_size();
259            my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
260        };
261        for value in &self.oneofs {
262            my_size += crate::rt::string_size(3, &value);
263        };
264        for value in &self.options {
265            let len = value.compute_size();
266            my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
267        };
268        if let Some(ref v) = self.source_context.as_ref() {
269            let len = v.compute_size();
270            my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
271        }
272        if self.syntax != Syntax::SYNTAX_PROTO2 {
273            my_size += crate::rt::enum_size(6, self.syntax);
274        }
275        my_size += crate::rt::unknown_fields_size(self.get_unknown_fields());
276        self.cached_size.set(my_size);
277        my_size
278    }
279
280    fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> {
281        if !self.name.is_empty() {
282            os.write_string(1, &self.name)?;
283        }
284        for v in &self.fields {
285            os.write_tag(2, crate::wire_format::WireTypeLengthDelimited)?;
286            os.write_raw_varint32(v.get_cached_size())?;
287            v.write_to_with_cached_sizes(os)?;
288        };
289        for v in &self.oneofs {
290            os.write_string(3, &v)?;
291        };
292        for v in &self.options {
293            os.write_tag(4, crate::wire_format::WireTypeLengthDelimited)?;
294            os.write_raw_varint32(v.get_cached_size())?;
295            v.write_to_with_cached_sizes(os)?;
296        };
297        if let Some(ref v) = self.source_context.as_ref() {
298            os.write_tag(5, crate::wire_format::WireTypeLengthDelimited)?;
299            os.write_raw_varint32(v.get_cached_size())?;
300            v.write_to_with_cached_sizes(os)?;
301        }
302        if self.syntax != Syntax::SYNTAX_PROTO2 {
303            os.write_enum(6, crate::ProtobufEnum::value(&self.syntax))?;
304        }
305        os.write_unknown_fields(self.get_unknown_fields())?;
306        ::std::result::Result::Ok(())
307    }
308
309    fn get_cached_size(&self) -> u32 {
310        self.cached_size.get()
311    }
312
313    fn get_unknown_fields(&self) -> &crate::UnknownFields {
314        &self.unknown_fields
315    }
316
317    fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields {
318        &mut self.unknown_fields
319    }
320
321    fn as_any(&self) -> &dyn (::std::any::Any) {
322        self as &dyn (::std::any::Any)
323    }
324    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
325        self as &mut dyn (::std::any::Any)
326    }
327    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
328        self
329    }
330
331    fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor {
332        Self::descriptor_static()
333    }
334
335    fn new() -> Type {
336        Type::new()
337    }
338
339    fn descriptor_static() -> &'static crate::reflect::MessageDescriptor {
340        static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT;
341        descriptor.get(|| {
342            let mut fields = ::std::vec::Vec::new();
343            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
344                "name",
345                |m: &Type| { &m.name },
346                |m: &mut Type| { &mut m.name },
347            ));
348            fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<Field>>(
349                "fields",
350                |m: &Type| { &m.fields },
351                |m: &mut Type| { &mut m.fields },
352            ));
353            fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeString>(
354                "oneofs",
355                |m: &Type| { &m.oneofs },
356                |m: &mut Type| { &mut m.oneofs },
357            ));
358            fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<Option>>(
359                "options",
360                |m: &Type| { &m.options },
361                |m: &mut Type| { &mut m.options },
362            ));
363            fields.push(crate::reflect::accessor::make_singular_ptr_field_accessor::<_, crate::types::ProtobufTypeMessage<crate::well_known_types::SourceContext>>(
364                "source_context",
365                |m: &Type| { &m.source_context },
366                |m: &mut Type| { &mut m.source_context },
367            ));
368            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeEnum<Syntax>>(
369                "syntax",
370                |m: &Type| { &m.syntax },
371                |m: &mut Type| { &mut m.syntax },
372            ));
373            crate::reflect::MessageDescriptor::new_pb_name::<Type>(
374                "Type",
375                fields,
376                file_descriptor_proto()
377            )
378        })
379    }
380
381    fn default_instance() -> &'static Type {
382        static instance: crate::rt::LazyV2<Type> = crate::rt::LazyV2::INIT;
383        instance.get(Type::new)
384    }
385}
386
387impl crate::Clear for Type {
388    fn clear(&mut self) {
389        self.name.clear();
390        self.fields.clear();
391        self.oneofs.clear();
392        self.options.clear();
393        self.source_context.clear();
394        self.syntax = Syntax::SYNTAX_PROTO2;
395        self.unknown_fields.clear();
396    }
397}
398
399impl ::std::fmt::Debug for Type {
400    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
401        crate::text_format::fmt(self, f)
402    }
403}
404
405impl crate::reflect::ProtobufValue for Type {
406    fn as_ref(&self) -> crate::reflect::ReflectValueRef {
407        crate::reflect::ReflectValueRef::Message(self)
408    }
409}
410
411#[derive(PartialEq,Clone,Default)]
412#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
413pub struct Field {
414    // message fields
415    pub kind: Field_Kind,
416    pub cardinality: Field_Cardinality,
417    pub number: i32,
418    pub name: ::std::string::String,
419    pub type_url: ::std::string::String,
420    pub oneof_index: i32,
421    pub packed: bool,
422    pub options: crate::RepeatedField<Option>,
423    pub json_name: ::std::string::String,
424    pub default_value: ::std::string::String,
425    // special fields
426    #[cfg_attr(feature = "with-serde", serde(skip))]
427    pub unknown_fields: crate::UnknownFields,
428    #[cfg_attr(feature = "with-serde", serde(skip))]
429    pub cached_size: crate::CachedSize,
430}
431
432impl<'a> ::std::default::Default for &'a Field {
433    fn default() -> &'a Field {
434        <Field as crate::Message>::default_instance()
435    }
436}
437
438impl Field {
439    pub fn new() -> Field {
440        ::std::default::Default::default()
441    }
442
443    // .google.protobuf.Field.Kind kind = 1;
444
445
446    pub fn get_kind(&self) -> Field_Kind {
447        self.kind
448    }
449    pub fn clear_kind(&mut self) {
450        self.kind = Field_Kind::TYPE_UNKNOWN;
451    }
452
453    // Param is passed by value, moved
454    pub fn set_kind(&mut self, v: Field_Kind) {
455        self.kind = v;
456    }
457
458    // .google.protobuf.Field.Cardinality cardinality = 2;
459
460
461    pub fn get_cardinality(&self) -> Field_Cardinality {
462        self.cardinality
463    }
464    pub fn clear_cardinality(&mut self) {
465        self.cardinality = Field_Cardinality::CARDINALITY_UNKNOWN;
466    }
467
468    // Param is passed by value, moved
469    pub fn set_cardinality(&mut self, v: Field_Cardinality) {
470        self.cardinality = v;
471    }
472
473    // int32 number = 3;
474
475
476    pub fn get_number(&self) -> i32 {
477        self.number
478    }
479    pub fn clear_number(&mut self) {
480        self.number = 0;
481    }
482
483    // Param is passed by value, moved
484    pub fn set_number(&mut self, v: i32) {
485        self.number = v;
486    }
487
488    // string name = 4;
489
490
491    pub fn get_name(&self) -> &str {
492        &self.name
493    }
494    pub fn clear_name(&mut self) {
495        self.name.clear();
496    }
497
498    // Param is passed by value, moved
499    pub fn set_name(&mut self, v: ::std::string::String) {
500        self.name = v;
501    }
502
503    // Mutable pointer to the field.
504    // If field is not initialized, it is initialized with default value first.
505    pub fn mut_name(&mut self) -> &mut ::std::string::String {
506        &mut self.name
507    }
508
509    // Take field
510    pub fn take_name(&mut self) -> ::std::string::String {
511        ::std::mem::replace(&mut self.name, ::std::string::String::new())
512    }
513
514    // string type_url = 6;
515
516
517    pub fn get_type_url(&self) -> &str {
518        &self.type_url
519    }
520    pub fn clear_type_url(&mut self) {
521        self.type_url.clear();
522    }
523
524    // Param is passed by value, moved
525    pub fn set_type_url(&mut self, v: ::std::string::String) {
526        self.type_url = v;
527    }
528
529    // Mutable pointer to the field.
530    // If field is not initialized, it is initialized with default value first.
531    pub fn mut_type_url(&mut self) -> &mut ::std::string::String {
532        &mut self.type_url
533    }
534
535    // Take field
536    pub fn take_type_url(&mut self) -> ::std::string::String {
537        ::std::mem::replace(&mut self.type_url, ::std::string::String::new())
538    }
539
540    // int32 oneof_index = 7;
541
542
543    pub fn get_oneof_index(&self) -> i32 {
544        self.oneof_index
545    }
546    pub fn clear_oneof_index(&mut self) {
547        self.oneof_index = 0;
548    }
549
550    // Param is passed by value, moved
551    pub fn set_oneof_index(&mut self, v: i32) {
552        self.oneof_index = v;
553    }
554
555    // bool packed = 8;
556
557
558    pub fn get_packed(&self) -> bool {
559        self.packed
560    }
561    pub fn clear_packed(&mut self) {
562        self.packed = false;
563    }
564
565    // Param is passed by value, moved
566    pub fn set_packed(&mut self, v: bool) {
567        self.packed = v;
568    }
569
570    // repeated .google.protobuf.Option options = 9;
571
572
573    pub fn get_options(&self) -> &[Option] {
574        &self.options
575    }
576    pub fn clear_options(&mut self) {
577        self.options.clear();
578    }
579
580    // Param is passed by value, moved
581    pub fn set_options(&mut self, v: crate::RepeatedField<Option>) {
582        self.options = v;
583    }
584
585    // Mutable pointer to the field.
586    pub fn mut_options(&mut self) -> &mut crate::RepeatedField<Option> {
587        &mut self.options
588    }
589
590    // Take field
591    pub fn take_options(&mut self) -> crate::RepeatedField<Option> {
592        ::std::mem::replace(&mut self.options, crate::RepeatedField::new())
593    }
594
595    // string json_name = 10;
596
597
598    pub fn get_json_name(&self) -> &str {
599        &self.json_name
600    }
601    pub fn clear_json_name(&mut self) {
602        self.json_name.clear();
603    }
604
605    // Param is passed by value, moved
606    pub fn set_json_name(&mut self, v: ::std::string::String) {
607        self.json_name = v;
608    }
609
610    // Mutable pointer to the field.
611    // If field is not initialized, it is initialized with default value first.
612    pub fn mut_json_name(&mut self) -> &mut ::std::string::String {
613        &mut self.json_name
614    }
615
616    // Take field
617    pub fn take_json_name(&mut self) -> ::std::string::String {
618        ::std::mem::replace(&mut self.json_name, ::std::string::String::new())
619    }
620
621    // string default_value = 11;
622
623
624    pub fn get_default_value(&self) -> &str {
625        &self.default_value
626    }
627    pub fn clear_default_value(&mut self) {
628        self.default_value.clear();
629    }
630
631    // Param is passed by value, moved
632    pub fn set_default_value(&mut self, v: ::std::string::String) {
633        self.default_value = v;
634    }
635
636    // Mutable pointer to the field.
637    // If field is not initialized, it is initialized with default value first.
638    pub fn mut_default_value(&mut self) -> &mut ::std::string::String {
639        &mut self.default_value
640    }
641
642    // Take field
643    pub fn take_default_value(&mut self) -> ::std::string::String {
644        ::std::mem::replace(&mut self.default_value, ::std::string::String::new())
645    }
646}
647
648impl crate::Message for Field {
649    fn is_initialized(&self) -> bool {
650        for v in &self.options {
651            if !v.is_initialized() {
652                return false;
653            }
654        };
655        true
656    }
657
658    fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> {
659        while !is.eof()? {
660            let (field_number, wire_type) = is.read_tag_unpack()?;
661            match field_number {
662                1 => {
663                    crate::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.kind, 1, &mut self.unknown_fields)?
664                },
665                2 => {
666                    crate::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.cardinality, 2, &mut self.unknown_fields)?
667                },
668                3 => {
669                    if wire_type != crate::wire_format::WireTypeVarint {
670                        return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type));
671                    }
672                    let tmp = is.read_int32()?;
673                    self.number = tmp;
674                },
675                4 => {
676                    crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
677                },
678                6 => {
679                    crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.type_url)?;
680                },
681                7 => {
682                    if wire_type != crate::wire_format::WireTypeVarint {
683                        return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type));
684                    }
685                    let tmp = is.read_int32()?;
686                    self.oneof_index = tmp;
687                },
688                8 => {
689                    if wire_type != crate::wire_format::WireTypeVarint {
690                        return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type));
691                    }
692                    let tmp = is.read_bool()?;
693                    self.packed = tmp;
694                },
695                9 => {
696                    crate::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
697                },
698                10 => {
699                    crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.json_name)?;
700                },
701                11 => {
702                    crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.default_value)?;
703                },
704                _ => {
705                    crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
706                },
707            };
708        }
709        ::std::result::Result::Ok(())
710    }
711
712    // Compute sizes of nested messages
713    #[allow(unused_variables)]
714    fn compute_size(&self) -> u32 {
715        let mut my_size = 0;
716        if self.kind != Field_Kind::TYPE_UNKNOWN {
717            my_size += crate::rt::enum_size(1, self.kind);
718        }
719        if self.cardinality != Field_Cardinality::CARDINALITY_UNKNOWN {
720            my_size += crate::rt::enum_size(2, self.cardinality);
721        }
722        if self.number != 0 {
723            my_size += crate::rt::value_size(3, self.number, crate::wire_format::WireTypeVarint);
724        }
725        if !self.name.is_empty() {
726            my_size += crate::rt::string_size(4, &self.name);
727        }
728        if !self.type_url.is_empty() {
729            my_size += crate::rt::string_size(6, &self.type_url);
730        }
731        if self.oneof_index != 0 {
732            my_size += crate::rt::value_size(7, self.oneof_index, crate::wire_format::WireTypeVarint);
733        }
734        if self.packed != false {
735            my_size += 2;
736        }
737        for value in &self.options {
738            let len = value.compute_size();
739            my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
740        };
741        if !self.json_name.is_empty() {
742            my_size += crate::rt::string_size(10, &self.json_name);
743        }
744        if !self.default_value.is_empty() {
745            my_size += crate::rt::string_size(11, &self.default_value);
746        }
747        my_size += crate::rt::unknown_fields_size(self.get_unknown_fields());
748        self.cached_size.set(my_size);
749        my_size
750    }
751
752    fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> {
753        if self.kind != Field_Kind::TYPE_UNKNOWN {
754            os.write_enum(1, crate::ProtobufEnum::value(&self.kind))?;
755        }
756        if self.cardinality != Field_Cardinality::CARDINALITY_UNKNOWN {
757            os.write_enum(2, crate::ProtobufEnum::value(&self.cardinality))?;
758        }
759        if self.number != 0 {
760            os.write_int32(3, self.number)?;
761        }
762        if !self.name.is_empty() {
763            os.write_string(4, &self.name)?;
764        }
765        if !self.type_url.is_empty() {
766            os.write_string(6, &self.type_url)?;
767        }
768        if self.oneof_index != 0 {
769            os.write_int32(7, self.oneof_index)?;
770        }
771        if self.packed != false {
772            os.write_bool(8, self.packed)?;
773        }
774        for v in &self.options {
775            os.write_tag(9, crate::wire_format::WireTypeLengthDelimited)?;
776            os.write_raw_varint32(v.get_cached_size())?;
777            v.write_to_with_cached_sizes(os)?;
778        };
779        if !self.json_name.is_empty() {
780            os.write_string(10, &self.json_name)?;
781        }
782        if !self.default_value.is_empty() {
783            os.write_string(11, &self.default_value)?;
784        }
785        os.write_unknown_fields(self.get_unknown_fields())?;
786        ::std::result::Result::Ok(())
787    }
788
789    fn get_cached_size(&self) -> u32 {
790        self.cached_size.get()
791    }
792
793    fn get_unknown_fields(&self) -> &crate::UnknownFields {
794        &self.unknown_fields
795    }
796
797    fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields {
798        &mut self.unknown_fields
799    }
800
801    fn as_any(&self) -> &dyn (::std::any::Any) {
802        self as &dyn (::std::any::Any)
803    }
804    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
805        self as &mut dyn (::std::any::Any)
806    }
807    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
808        self
809    }
810
811    fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor {
812        Self::descriptor_static()
813    }
814
815    fn new() -> Field {
816        Field::new()
817    }
818
819    fn descriptor_static() -> &'static crate::reflect::MessageDescriptor {
820        static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT;
821        descriptor.get(|| {
822            let mut fields = ::std::vec::Vec::new();
823            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeEnum<Field_Kind>>(
824                "kind",
825                |m: &Field| { &m.kind },
826                |m: &mut Field| { &mut m.kind },
827            ));
828            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeEnum<Field_Cardinality>>(
829                "cardinality",
830                |m: &Field| { &m.cardinality },
831                |m: &mut Field| { &mut m.cardinality },
832            ));
833            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeInt32>(
834                "number",
835                |m: &Field| { &m.number },
836                |m: &mut Field| { &mut m.number },
837            ));
838            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
839                "name",
840                |m: &Field| { &m.name },
841                |m: &mut Field| { &mut m.name },
842            ));
843            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
844                "type_url",
845                |m: &Field| { &m.type_url },
846                |m: &mut Field| { &mut m.type_url },
847            ));
848            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeInt32>(
849                "oneof_index",
850                |m: &Field| { &m.oneof_index },
851                |m: &mut Field| { &mut m.oneof_index },
852            ));
853            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeBool>(
854                "packed",
855                |m: &Field| { &m.packed },
856                |m: &mut Field| { &mut m.packed },
857            ));
858            fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<Option>>(
859                "options",
860                |m: &Field| { &m.options },
861                |m: &mut Field| { &mut m.options },
862            ));
863            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
864                "json_name",
865                |m: &Field| { &m.json_name },
866                |m: &mut Field| { &mut m.json_name },
867            ));
868            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
869                "default_value",
870                |m: &Field| { &m.default_value },
871                |m: &mut Field| { &mut m.default_value },
872            ));
873            crate::reflect::MessageDescriptor::new_pb_name::<Field>(
874                "Field",
875                fields,
876                file_descriptor_proto()
877            )
878        })
879    }
880
881    fn default_instance() -> &'static Field {
882        static instance: crate::rt::LazyV2<Field> = crate::rt::LazyV2::INIT;
883        instance.get(Field::new)
884    }
885}
886
887impl crate::Clear for Field {
888    fn clear(&mut self) {
889        self.kind = Field_Kind::TYPE_UNKNOWN;
890        self.cardinality = Field_Cardinality::CARDINALITY_UNKNOWN;
891        self.number = 0;
892        self.name.clear();
893        self.type_url.clear();
894        self.oneof_index = 0;
895        self.packed = false;
896        self.options.clear();
897        self.json_name.clear();
898        self.default_value.clear();
899        self.unknown_fields.clear();
900    }
901}
902
903impl ::std::fmt::Debug for Field {
904    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
905        crate::text_format::fmt(self, f)
906    }
907}
908
909impl crate::reflect::ProtobufValue for Field {
910    fn as_ref(&self) -> crate::reflect::ReflectValueRef {
911        crate::reflect::ReflectValueRef::Message(self)
912    }
913}
914
915#[derive(Clone,PartialEq,Eq,Debug,Hash)]
916#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
917pub enum Field_Kind {
918    TYPE_UNKNOWN = 0,
919    TYPE_DOUBLE = 1,
920    TYPE_FLOAT = 2,
921    TYPE_INT64 = 3,
922    TYPE_UINT64 = 4,
923    TYPE_INT32 = 5,
924    TYPE_FIXED64 = 6,
925    TYPE_FIXED32 = 7,
926    TYPE_BOOL = 8,
927    TYPE_STRING = 9,
928    TYPE_GROUP = 10,
929    TYPE_MESSAGE = 11,
930    TYPE_BYTES = 12,
931    TYPE_UINT32 = 13,
932    TYPE_ENUM = 14,
933    TYPE_SFIXED32 = 15,
934    TYPE_SFIXED64 = 16,
935    TYPE_SINT32 = 17,
936    TYPE_SINT64 = 18,
937}
938
939impl crate::ProtobufEnum for Field_Kind {
940    fn value(&self) -> i32 {
941        *self as i32
942    }
943
944    fn from_i32(value: i32) -> ::std::option::Option<Field_Kind> {
945        match value {
946            0 => ::std::option::Option::Some(Field_Kind::TYPE_UNKNOWN),
947            1 => ::std::option::Option::Some(Field_Kind::TYPE_DOUBLE),
948            2 => ::std::option::Option::Some(Field_Kind::TYPE_FLOAT),
949            3 => ::std::option::Option::Some(Field_Kind::TYPE_INT64),
950            4 => ::std::option::Option::Some(Field_Kind::TYPE_UINT64),
951            5 => ::std::option::Option::Some(Field_Kind::TYPE_INT32),
952            6 => ::std::option::Option::Some(Field_Kind::TYPE_FIXED64),
953            7 => ::std::option::Option::Some(Field_Kind::TYPE_FIXED32),
954            8 => ::std::option::Option::Some(Field_Kind::TYPE_BOOL),
955            9 => ::std::option::Option::Some(Field_Kind::TYPE_STRING),
956            10 => ::std::option::Option::Some(Field_Kind::TYPE_GROUP),
957            11 => ::std::option::Option::Some(Field_Kind::TYPE_MESSAGE),
958            12 => ::std::option::Option::Some(Field_Kind::TYPE_BYTES),
959            13 => ::std::option::Option::Some(Field_Kind::TYPE_UINT32),
960            14 => ::std::option::Option::Some(Field_Kind::TYPE_ENUM),
961            15 => ::std::option::Option::Some(Field_Kind::TYPE_SFIXED32),
962            16 => ::std::option::Option::Some(Field_Kind::TYPE_SFIXED64),
963            17 => ::std::option::Option::Some(Field_Kind::TYPE_SINT32),
964            18 => ::std::option::Option::Some(Field_Kind::TYPE_SINT64),
965            _ => ::std::option::Option::None
966        }
967    }
968
969    fn values() -> &'static [Self] {
970        static values: &'static [Field_Kind] = &[
971            Field_Kind::TYPE_UNKNOWN,
972            Field_Kind::TYPE_DOUBLE,
973            Field_Kind::TYPE_FLOAT,
974            Field_Kind::TYPE_INT64,
975            Field_Kind::TYPE_UINT64,
976            Field_Kind::TYPE_INT32,
977            Field_Kind::TYPE_FIXED64,
978            Field_Kind::TYPE_FIXED32,
979            Field_Kind::TYPE_BOOL,
980            Field_Kind::TYPE_STRING,
981            Field_Kind::TYPE_GROUP,
982            Field_Kind::TYPE_MESSAGE,
983            Field_Kind::TYPE_BYTES,
984            Field_Kind::TYPE_UINT32,
985            Field_Kind::TYPE_ENUM,
986            Field_Kind::TYPE_SFIXED32,
987            Field_Kind::TYPE_SFIXED64,
988            Field_Kind::TYPE_SINT32,
989            Field_Kind::TYPE_SINT64,
990        ];
991        values
992    }
993
994    fn enum_descriptor_static() -> &'static crate::reflect::EnumDescriptor {
995        static descriptor: crate::rt::LazyV2<crate::reflect::EnumDescriptor> = crate::rt::LazyV2::INIT;
996        descriptor.get(|| {
997            crate::reflect::EnumDescriptor::new_pb_name::<Field_Kind>("Field.Kind", file_descriptor_proto())
998        })
999    }
1000}
1001
1002impl ::std::marker::Copy for Field_Kind {
1003}
1004
1005impl ::std::default::Default for Field_Kind {
1006    fn default() -> Self {
1007        Field_Kind::TYPE_UNKNOWN
1008    }
1009}
1010
1011impl crate::reflect::ProtobufValue for Field_Kind {
1012    fn as_ref(&self) -> crate::reflect::ReflectValueRef {
1013        crate::reflect::ReflectValueRef::Enum(crate::ProtobufEnum::descriptor(self))
1014    }
1015}
1016
1017#[derive(Clone,PartialEq,Eq,Debug,Hash)]
1018#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
1019pub enum Field_Cardinality {
1020    CARDINALITY_UNKNOWN = 0,
1021    CARDINALITY_OPTIONAL = 1,
1022    CARDINALITY_REQUIRED = 2,
1023    CARDINALITY_REPEATED = 3,
1024}
1025
1026impl crate::ProtobufEnum for Field_Cardinality {
1027    fn value(&self) -> i32 {
1028        *self as i32
1029    }
1030
1031    fn from_i32(value: i32) -> ::std::option::Option<Field_Cardinality> {
1032        match value {
1033            0 => ::std::option::Option::Some(Field_Cardinality::CARDINALITY_UNKNOWN),
1034            1 => ::std::option::Option::Some(Field_Cardinality::CARDINALITY_OPTIONAL),
1035            2 => ::std::option::Option::Some(Field_Cardinality::CARDINALITY_REQUIRED),
1036            3 => ::std::option::Option::Some(Field_Cardinality::CARDINALITY_REPEATED),
1037            _ => ::std::option::Option::None
1038        }
1039    }
1040
1041    fn values() -> &'static [Self] {
1042        static values: &'static [Field_Cardinality] = &[
1043            Field_Cardinality::CARDINALITY_UNKNOWN,
1044            Field_Cardinality::CARDINALITY_OPTIONAL,
1045            Field_Cardinality::CARDINALITY_REQUIRED,
1046            Field_Cardinality::CARDINALITY_REPEATED,
1047        ];
1048        values
1049    }
1050
1051    fn enum_descriptor_static() -> &'static crate::reflect::EnumDescriptor {
1052        static descriptor: crate::rt::LazyV2<crate::reflect::EnumDescriptor> = crate::rt::LazyV2::INIT;
1053        descriptor.get(|| {
1054            crate::reflect::EnumDescriptor::new_pb_name::<Field_Cardinality>("Field.Cardinality", file_descriptor_proto())
1055        })
1056    }
1057}
1058
1059impl ::std::marker::Copy for Field_Cardinality {
1060}
1061
1062impl ::std::default::Default for Field_Cardinality {
1063    fn default() -> Self {
1064        Field_Cardinality::CARDINALITY_UNKNOWN
1065    }
1066}
1067
1068impl crate::reflect::ProtobufValue for Field_Cardinality {
1069    fn as_ref(&self) -> crate::reflect::ReflectValueRef {
1070        crate::reflect::ReflectValueRef::Enum(crate::ProtobufEnum::descriptor(self))
1071    }
1072}
1073
1074#[derive(PartialEq,Clone,Default)]
1075#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
1076pub struct Enum {
1077    // message fields
1078    pub name: ::std::string::String,
1079    pub enumvalue: crate::RepeatedField<EnumValue>,
1080    pub options: crate::RepeatedField<Option>,
1081    pub source_context: crate::SingularPtrField<crate::well_known_types::SourceContext>,
1082    pub syntax: Syntax,
1083    // special fields
1084    #[cfg_attr(feature = "with-serde", serde(skip))]
1085    pub unknown_fields: crate::UnknownFields,
1086    #[cfg_attr(feature = "with-serde", serde(skip))]
1087    pub cached_size: crate::CachedSize,
1088}
1089
1090impl<'a> ::std::default::Default for &'a Enum {
1091    fn default() -> &'a Enum {
1092        <Enum as crate::Message>::default_instance()
1093    }
1094}
1095
1096impl Enum {
1097    pub fn new() -> Enum {
1098        ::std::default::Default::default()
1099    }
1100
1101    // string name = 1;
1102
1103
1104    pub fn get_name(&self) -> &str {
1105        &self.name
1106    }
1107    pub fn clear_name(&mut self) {
1108        self.name.clear();
1109    }
1110
1111    // Param is passed by value, moved
1112    pub fn set_name(&mut self, v: ::std::string::String) {
1113        self.name = v;
1114    }
1115
1116    // Mutable pointer to the field.
1117    // If field is not initialized, it is initialized with default value first.
1118    pub fn mut_name(&mut self) -> &mut ::std::string::String {
1119        &mut self.name
1120    }
1121
1122    // Take field
1123    pub fn take_name(&mut self) -> ::std::string::String {
1124        ::std::mem::replace(&mut self.name, ::std::string::String::new())
1125    }
1126
1127    // repeated .google.protobuf.EnumValue enumvalue = 2;
1128
1129
1130    pub fn get_enumvalue(&self) -> &[EnumValue] {
1131        &self.enumvalue
1132    }
1133    pub fn clear_enumvalue(&mut self) {
1134        self.enumvalue.clear();
1135    }
1136
1137    // Param is passed by value, moved
1138    pub fn set_enumvalue(&mut self, v: crate::RepeatedField<EnumValue>) {
1139        self.enumvalue = v;
1140    }
1141
1142    // Mutable pointer to the field.
1143    pub fn mut_enumvalue(&mut self) -> &mut crate::RepeatedField<EnumValue> {
1144        &mut self.enumvalue
1145    }
1146
1147    // Take field
1148    pub fn take_enumvalue(&mut self) -> crate::RepeatedField<EnumValue> {
1149        ::std::mem::replace(&mut self.enumvalue, crate::RepeatedField::new())
1150    }
1151
1152    // repeated .google.protobuf.Option options = 3;
1153
1154
1155    pub fn get_options(&self) -> &[Option] {
1156        &self.options
1157    }
1158    pub fn clear_options(&mut self) {
1159        self.options.clear();
1160    }
1161
1162    // Param is passed by value, moved
1163    pub fn set_options(&mut self, v: crate::RepeatedField<Option>) {
1164        self.options = v;
1165    }
1166
1167    // Mutable pointer to the field.
1168    pub fn mut_options(&mut self) -> &mut crate::RepeatedField<Option> {
1169        &mut self.options
1170    }
1171
1172    // Take field
1173    pub fn take_options(&mut self) -> crate::RepeatedField<Option> {
1174        ::std::mem::replace(&mut self.options, crate::RepeatedField::new())
1175    }
1176
1177    // .google.protobuf.SourceContext source_context = 4;
1178
1179
1180    pub fn get_source_context(&self) -> &crate::well_known_types::SourceContext {
1181        self.source_context.as_ref().unwrap_or_else(|| <crate::well_known_types::SourceContext as crate::Message>::default_instance())
1182    }
1183    pub fn clear_source_context(&mut self) {
1184        self.source_context.clear();
1185    }
1186
1187    pub fn has_source_context(&self) -> bool {
1188        self.source_context.is_some()
1189    }
1190
1191    // Param is passed by value, moved
1192    pub fn set_source_context(&mut self, v: crate::well_known_types::SourceContext) {
1193        self.source_context = crate::SingularPtrField::some(v);
1194    }
1195
1196    // Mutable pointer to the field.
1197    // If field is not initialized, it is initialized with default value first.
1198    pub fn mut_source_context(&mut self) -> &mut crate::well_known_types::SourceContext {
1199        if self.source_context.is_none() {
1200            self.source_context.set_default();
1201        }
1202        self.source_context.as_mut().unwrap()
1203    }
1204
1205    // Take field
1206    pub fn take_source_context(&mut self) -> crate::well_known_types::SourceContext {
1207        self.source_context.take().unwrap_or_else(|| crate::well_known_types::SourceContext::new())
1208    }
1209
1210    // .google.protobuf.Syntax syntax = 5;
1211
1212
1213    pub fn get_syntax(&self) -> Syntax {
1214        self.syntax
1215    }
1216    pub fn clear_syntax(&mut self) {
1217        self.syntax = Syntax::SYNTAX_PROTO2;
1218    }
1219
1220    // Param is passed by value, moved
1221    pub fn set_syntax(&mut self, v: Syntax) {
1222        self.syntax = v;
1223    }
1224}
1225
1226impl crate::Message for Enum {
1227    fn is_initialized(&self) -> bool {
1228        for v in &self.enumvalue {
1229            if !v.is_initialized() {
1230                return false;
1231            }
1232        };
1233        for v in &self.options {
1234            if !v.is_initialized() {
1235                return false;
1236            }
1237        };
1238        for v in &self.source_context {
1239            if !v.is_initialized() {
1240                return false;
1241            }
1242        };
1243        true
1244    }
1245
1246    fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> {
1247        while !is.eof()? {
1248            let (field_number, wire_type) = is.read_tag_unpack()?;
1249            match field_number {
1250                1 => {
1251                    crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1252                },
1253                2 => {
1254                    crate::rt::read_repeated_message_into(wire_type, is, &mut self.enumvalue)?;
1255                },
1256                3 => {
1257                    crate::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
1258                },
1259                4 => {
1260                    crate::rt::read_singular_message_into(wire_type, is, &mut self.source_context)?;
1261                },
1262                5 => {
1263                    crate::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.syntax, 5, &mut self.unknown_fields)?
1264                },
1265                _ => {
1266                    crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1267                },
1268            };
1269        }
1270        ::std::result::Result::Ok(())
1271    }
1272
1273    // Compute sizes of nested messages
1274    #[allow(unused_variables)]
1275    fn compute_size(&self) -> u32 {
1276        let mut my_size = 0;
1277        if !self.name.is_empty() {
1278            my_size += crate::rt::string_size(1, &self.name);
1279        }
1280        for value in &self.enumvalue {
1281            let len = value.compute_size();
1282            my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
1283        };
1284        for value in &self.options {
1285            let len = value.compute_size();
1286            my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
1287        };
1288        if let Some(ref v) = self.source_context.as_ref() {
1289            let len = v.compute_size();
1290            my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
1291        }
1292        if self.syntax != Syntax::SYNTAX_PROTO2 {
1293            my_size += crate::rt::enum_size(5, self.syntax);
1294        }
1295        my_size += crate::rt::unknown_fields_size(self.get_unknown_fields());
1296        self.cached_size.set(my_size);
1297        my_size
1298    }
1299
1300    fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> {
1301        if !self.name.is_empty() {
1302            os.write_string(1, &self.name)?;
1303        }
1304        for v in &self.enumvalue {
1305            os.write_tag(2, crate::wire_format::WireTypeLengthDelimited)?;
1306            os.write_raw_varint32(v.get_cached_size())?;
1307            v.write_to_with_cached_sizes(os)?;
1308        };
1309        for v in &self.options {
1310            os.write_tag(3, crate::wire_format::WireTypeLengthDelimited)?;
1311            os.write_raw_varint32(v.get_cached_size())?;
1312            v.write_to_with_cached_sizes(os)?;
1313        };
1314        if let Some(ref v) = self.source_context.as_ref() {
1315            os.write_tag(4, crate::wire_format::WireTypeLengthDelimited)?;
1316            os.write_raw_varint32(v.get_cached_size())?;
1317            v.write_to_with_cached_sizes(os)?;
1318        }
1319        if self.syntax != Syntax::SYNTAX_PROTO2 {
1320            os.write_enum(5, crate::ProtobufEnum::value(&self.syntax))?;
1321        }
1322        os.write_unknown_fields(self.get_unknown_fields())?;
1323        ::std::result::Result::Ok(())
1324    }
1325
1326    fn get_cached_size(&self) -> u32 {
1327        self.cached_size.get()
1328    }
1329
1330    fn get_unknown_fields(&self) -> &crate::UnknownFields {
1331        &self.unknown_fields
1332    }
1333
1334    fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields {
1335        &mut self.unknown_fields
1336    }
1337
1338    fn as_any(&self) -> &dyn (::std::any::Any) {
1339        self as &dyn (::std::any::Any)
1340    }
1341    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1342        self as &mut dyn (::std::any::Any)
1343    }
1344    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1345        self
1346    }
1347
1348    fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor {
1349        Self::descriptor_static()
1350    }
1351
1352    fn new() -> Enum {
1353        Enum::new()
1354    }
1355
1356    fn descriptor_static() -> &'static crate::reflect::MessageDescriptor {
1357        static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT;
1358        descriptor.get(|| {
1359            let mut fields = ::std::vec::Vec::new();
1360            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
1361                "name",
1362                |m: &Enum| { &m.name },
1363                |m: &mut Enum| { &mut m.name },
1364            ));
1365            fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<EnumValue>>(
1366                "enumvalue",
1367                |m: &Enum| { &m.enumvalue },
1368                |m: &mut Enum| { &mut m.enumvalue },
1369            ));
1370            fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<Option>>(
1371                "options",
1372                |m: &Enum| { &m.options },
1373                |m: &mut Enum| { &mut m.options },
1374            ));
1375            fields.push(crate::reflect::accessor::make_singular_ptr_field_accessor::<_, crate::types::ProtobufTypeMessage<crate::well_known_types::SourceContext>>(
1376                "source_context",
1377                |m: &Enum| { &m.source_context },
1378                |m: &mut Enum| { &mut m.source_context },
1379            ));
1380            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeEnum<Syntax>>(
1381                "syntax",
1382                |m: &Enum| { &m.syntax },
1383                |m: &mut Enum| { &mut m.syntax },
1384            ));
1385            crate::reflect::MessageDescriptor::new_pb_name::<Enum>(
1386                "Enum",
1387                fields,
1388                file_descriptor_proto()
1389            )
1390        })
1391    }
1392
1393    fn default_instance() -> &'static Enum {
1394        static instance: crate::rt::LazyV2<Enum> = crate::rt::LazyV2::INIT;
1395        instance.get(Enum::new)
1396    }
1397}
1398
1399impl crate::Clear for Enum {
1400    fn clear(&mut self) {
1401        self.name.clear();
1402        self.enumvalue.clear();
1403        self.options.clear();
1404        self.source_context.clear();
1405        self.syntax = Syntax::SYNTAX_PROTO2;
1406        self.unknown_fields.clear();
1407    }
1408}
1409
1410impl ::std::fmt::Debug for Enum {
1411    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1412        crate::text_format::fmt(self, f)
1413    }
1414}
1415
1416impl crate::reflect::ProtobufValue for Enum {
1417    fn as_ref(&self) -> crate::reflect::ReflectValueRef {
1418        crate::reflect::ReflectValueRef::Message(self)
1419    }
1420}
1421
1422#[derive(PartialEq,Clone,Default)]
1423#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
1424pub struct EnumValue {
1425    // message fields
1426    pub name: ::std::string::String,
1427    pub number: i32,
1428    pub options: crate::RepeatedField<Option>,
1429    // special fields
1430    #[cfg_attr(feature = "with-serde", serde(skip))]
1431    pub unknown_fields: crate::UnknownFields,
1432    #[cfg_attr(feature = "with-serde", serde(skip))]
1433    pub cached_size: crate::CachedSize,
1434}
1435
1436impl<'a> ::std::default::Default for &'a EnumValue {
1437    fn default() -> &'a EnumValue {
1438        <EnumValue as crate::Message>::default_instance()
1439    }
1440}
1441
1442impl EnumValue {
1443    pub fn new() -> EnumValue {
1444        ::std::default::Default::default()
1445    }
1446
1447    // string name = 1;
1448
1449
1450    pub fn get_name(&self) -> &str {
1451        &self.name
1452    }
1453    pub fn clear_name(&mut self) {
1454        self.name.clear();
1455    }
1456
1457    // Param is passed by value, moved
1458    pub fn set_name(&mut self, v: ::std::string::String) {
1459        self.name = v;
1460    }
1461
1462    // Mutable pointer to the field.
1463    // If field is not initialized, it is initialized with default value first.
1464    pub fn mut_name(&mut self) -> &mut ::std::string::String {
1465        &mut self.name
1466    }
1467
1468    // Take field
1469    pub fn take_name(&mut self) -> ::std::string::String {
1470        ::std::mem::replace(&mut self.name, ::std::string::String::new())
1471    }
1472
1473    // int32 number = 2;
1474
1475
1476    pub fn get_number(&self) -> i32 {
1477        self.number
1478    }
1479    pub fn clear_number(&mut self) {
1480        self.number = 0;
1481    }
1482
1483    // Param is passed by value, moved
1484    pub fn set_number(&mut self, v: i32) {
1485        self.number = v;
1486    }
1487
1488    // repeated .google.protobuf.Option options = 3;
1489
1490
1491    pub fn get_options(&self) -> &[Option] {
1492        &self.options
1493    }
1494    pub fn clear_options(&mut self) {
1495        self.options.clear();
1496    }
1497
1498    // Param is passed by value, moved
1499    pub fn set_options(&mut self, v: crate::RepeatedField<Option>) {
1500        self.options = v;
1501    }
1502
1503    // Mutable pointer to the field.
1504    pub fn mut_options(&mut self) -> &mut crate::RepeatedField<Option> {
1505        &mut self.options
1506    }
1507
1508    // Take field
1509    pub fn take_options(&mut self) -> crate::RepeatedField<Option> {
1510        ::std::mem::replace(&mut self.options, crate::RepeatedField::new())
1511    }
1512}
1513
1514impl crate::Message for EnumValue {
1515    fn is_initialized(&self) -> bool {
1516        for v in &self.options {
1517            if !v.is_initialized() {
1518                return false;
1519            }
1520        };
1521        true
1522    }
1523
1524    fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> {
1525        while !is.eof()? {
1526            let (field_number, wire_type) = is.read_tag_unpack()?;
1527            match field_number {
1528                1 => {
1529                    crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1530                },
1531                2 => {
1532                    if wire_type != crate::wire_format::WireTypeVarint {
1533                        return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type));
1534                    }
1535                    let tmp = is.read_int32()?;
1536                    self.number = tmp;
1537                },
1538                3 => {
1539                    crate::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
1540                },
1541                _ => {
1542                    crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1543                },
1544            };
1545        }
1546        ::std::result::Result::Ok(())
1547    }
1548
1549    // Compute sizes of nested messages
1550    #[allow(unused_variables)]
1551    fn compute_size(&self) -> u32 {
1552        let mut my_size = 0;
1553        if !self.name.is_empty() {
1554            my_size += crate::rt::string_size(1, &self.name);
1555        }
1556        if self.number != 0 {
1557            my_size += crate::rt::value_size(2, self.number, crate::wire_format::WireTypeVarint);
1558        }
1559        for value in &self.options {
1560            let len = value.compute_size();
1561            my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
1562        };
1563        my_size += crate::rt::unknown_fields_size(self.get_unknown_fields());
1564        self.cached_size.set(my_size);
1565        my_size
1566    }
1567
1568    fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> {
1569        if !self.name.is_empty() {
1570            os.write_string(1, &self.name)?;
1571        }
1572        if self.number != 0 {
1573            os.write_int32(2, self.number)?;
1574        }
1575        for v in &self.options {
1576            os.write_tag(3, crate::wire_format::WireTypeLengthDelimited)?;
1577            os.write_raw_varint32(v.get_cached_size())?;
1578            v.write_to_with_cached_sizes(os)?;
1579        };
1580        os.write_unknown_fields(self.get_unknown_fields())?;
1581        ::std::result::Result::Ok(())
1582    }
1583
1584    fn get_cached_size(&self) -> u32 {
1585        self.cached_size.get()
1586    }
1587
1588    fn get_unknown_fields(&self) -> &crate::UnknownFields {
1589        &self.unknown_fields
1590    }
1591
1592    fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields {
1593        &mut self.unknown_fields
1594    }
1595
1596    fn as_any(&self) -> &dyn (::std::any::Any) {
1597        self as &dyn (::std::any::Any)
1598    }
1599    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1600        self as &mut dyn (::std::any::Any)
1601    }
1602    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1603        self
1604    }
1605
1606    fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor {
1607        Self::descriptor_static()
1608    }
1609
1610    fn new() -> EnumValue {
1611        EnumValue::new()
1612    }
1613
1614    fn descriptor_static() -> &'static crate::reflect::MessageDescriptor {
1615        static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT;
1616        descriptor.get(|| {
1617            let mut fields = ::std::vec::Vec::new();
1618            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
1619                "name",
1620                |m: &EnumValue| { &m.name },
1621                |m: &mut EnumValue| { &mut m.name },
1622            ));
1623            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeInt32>(
1624                "number",
1625                |m: &EnumValue| { &m.number },
1626                |m: &mut EnumValue| { &mut m.number },
1627            ));
1628            fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<Option>>(
1629                "options",
1630                |m: &EnumValue| { &m.options },
1631                |m: &mut EnumValue| { &mut m.options },
1632            ));
1633            crate::reflect::MessageDescriptor::new_pb_name::<EnumValue>(
1634                "EnumValue",
1635                fields,
1636                file_descriptor_proto()
1637            )
1638        })
1639    }
1640
1641    fn default_instance() -> &'static EnumValue {
1642        static instance: crate::rt::LazyV2<EnumValue> = crate::rt::LazyV2::INIT;
1643        instance.get(EnumValue::new)
1644    }
1645}
1646
1647impl crate::Clear for EnumValue {
1648    fn clear(&mut self) {
1649        self.name.clear();
1650        self.number = 0;
1651        self.options.clear();
1652        self.unknown_fields.clear();
1653    }
1654}
1655
1656impl ::std::fmt::Debug for EnumValue {
1657    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1658        crate::text_format::fmt(self, f)
1659    }
1660}
1661
1662impl crate::reflect::ProtobufValue for EnumValue {
1663    fn as_ref(&self) -> crate::reflect::ReflectValueRef {
1664        crate::reflect::ReflectValueRef::Message(self)
1665    }
1666}
1667
1668#[derive(PartialEq,Clone,Default)]
1669#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
1670pub struct Option {
1671    // message fields
1672    pub name: ::std::string::String,
1673    pub value: crate::SingularPtrField<crate::well_known_types::Any>,
1674    // special fields
1675    #[cfg_attr(feature = "with-serde", serde(skip))]
1676    pub unknown_fields: crate::UnknownFields,
1677    #[cfg_attr(feature = "with-serde", serde(skip))]
1678    pub cached_size: crate::CachedSize,
1679}
1680
1681impl<'a> ::std::default::Default for &'a Option {
1682    fn default() -> &'a Option {
1683        <Option as crate::Message>::default_instance()
1684    }
1685}
1686
1687impl Option {
1688    pub fn new() -> Option {
1689        ::std::default::Default::default()
1690    }
1691
1692    // string name = 1;
1693
1694
1695    pub fn get_name(&self) -> &str {
1696        &self.name
1697    }
1698    pub fn clear_name(&mut self) {
1699        self.name.clear();
1700    }
1701
1702    // Param is passed by value, moved
1703    pub fn set_name(&mut self, v: ::std::string::String) {
1704        self.name = v;
1705    }
1706
1707    // Mutable pointer to the field.
1708    // If field is not initialized, it is initialized with default value first.
1709    pub fn mut_name(&mut self) -> &mut ::std::string::String {
1710        &mut self.name
1711    }
1712
1713    // Take field
1714    pub fn take_name(&mut self) -> ::std::string::String {
1715        ::std::mem::replace(&mut self.name, ::std::string::String::new())
1716    }
1717
1718    // .google.protobuf.Any value = 2;
1719
1720
1721    pub fn get_value(&self) -> &crate::well_known_types::Any {
1722        self.value.as_ref().unwrap_or_else(|| <crate::well_known_types::Any as crate::Message>::default_instance())
1723    }
1724    pub fn clear_value(&mut self) {
1725        self.value.clear();
1726    }
1727
1728    pub fn has_value(&self) -> bool {
1729        self.value.is_some()
1730    }
1731
1732    // Param is passed by value, moved
1733    pub fn set_value(&mut self, v: crate::well_known_types::Any) {
1734        self.value = crate::SingularPtrField::some(v);
1735    }
1736
1737    // Mutable pointer to the field.
1738    // If field is not initialized, it is initialized with default value first.
1739    pub fn mut_value(&mut self) -> &mut crate::well_known_types::Any {
1740        if self.value.is_none() {
1741            self.value.set_default();
1742        }
1743        self.value.as_mut().unwrap()
1744    }
1745
1746    // Take field
1747    pub fn take_value(&mut self) -> crate::well_known_types::Any {
1748        self.value.take().unwrap_or_else(|| crate::well_known_types::Any::new())
1749    }
1750}
1751
1752impl crate::Message for Option {
1753    fn is_initialized(&self) -> bool {
1754        for v in &self.value {
1755            if !v.is_initialized() {
1756                return false;
1757            }
1758        };
1759        true
1760    }
1761
1762    fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> {
1763        while !is.eof()? {
1764            let (field_number, wire_type) = is.read_tag_unpack()?;
1765            match field_number {
1766                1 => {
1767                    crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1768                },
1769                2 => {
1770                    crate::rt::read_singular_message_into(wire_type, is, &mut self.value)?;
1771                },
1772                _ => {
1773                    crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1774                },
1775            };
1776        }
1777        ::std::result::Result::Ok(())
1778    }
1779
1780    // Compute sizes of nested messages
1781    #[allow(unused_variables)]
1782    fn compute_size(&self) -> u32 {
1783        let mut my_size = 0;
1784        if !self.name.is_empty() {
1785            my_size += crate::rt::string_size(1, &self.name);
1786        }
1787        if let Some(ref v) = self.value.as_ref() {
1788            let len = v.compute_size();
1789            my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
1790        }
1791        my_size += crate::rt::unknown_fields_size(self.get_unknown_fields());
1792        self.cached_size.set(my_size);
1793        my_size
1794    }
1795
1796    fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> {
1797        if !self.name.is_empty() {
1798            os.write_string(1, &self.name)?;
1799        }
1800        if let Some(ref v) = self.value.as_ref() {
1801            os.write_tag(2, crate::wire_format::WireTypeLengthDelimited)?;
1802            os.write_raw_varint32(v.get_cached_size())?;
1803            v.write_to_with_cached_sizes(os)?;
1804        }
1805        os.write_unknown_fields(self.get_unknown_fields())?;
1806        ::std::result::Result::Ok(())
1807    }
1808
1809    fn get_cached_size(&self) -> u32 {
1810        self.cached_size.get()
1811    }
1812
1813    fn get_unknown_fields(&self) -> &crate::UnknownFields {
1814        &self.unknown_fields
1815    }
1816
1817    fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields {
1818        &mut self.unknown_fields
1819    }
1820
1821    fn as_any(&self) -> &dyn (::std::any::Any) {
1822        self as &dyn (::std::any::Any)
1823    }
1824    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1825        self as &mut dyn (::std::any::Any)
1826    }
1827    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1828        self
1829    }
1830
1831    fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor {
1832        Self::descriptor_static()
1833    }
1834
1835    fn new() -> Option {
1836        Option::new()
1837    }
1838
1839    fn descriptor_static() -> &'static crate::reflect::MessageDescriptor {
1840        static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT;
1841        descriptor.get(|| {
1842            let mut fields = ::std::vec::Vec::new();
1843            fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
1844                "name",
1845                |m: &Option| { &m.name },
1846                |m: &mut Option| { &mut m.name },
1847            ));
1848            fields.push(crate::reflect::accessor::make_singular_ptr_field_accessor::<_, crate::types::ProtobufTypeMessage<crate::well_known_types::Any>>(
1849                "value",
1850                |m: &Option| { &m.value },
1851                |m: &mut Option| { &mut m.value },
1852            ));
1853            crate::reflect::MessageDescriptor::new_pb_name::<Option>(
1854                "Option",
1855                fields,
1856                file_descriptor_proto()
1857            )
1858        })
1859    }
1860
1861    fn default_instance() -> &'static Option {
1862        static instance: crate::rt::LazyV2<Option> = crate::rt::LazyV2::INIT;
1863        instance.get(Option::new)
1864    }
1865}
1866
1867impl crate::Clear for Option {
1868    fn clear(&mut self) {
1869        self.name.clear();
1870        self.value.clear();
1871        self.unknown_fields.clear();
1872    }
1873}
1874
1875impl ::std::fmt::Debug for Option {
1876    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1877        crate::text_format::fmt(self, f)
1878    }
1879}
1880
1881impl crate::reflect::ProtobufValue for Option {
1882    fn as_ref(&self) -> crate::reflect::ReflectValueRef {
1883        crate::reflect::ReflectValueRef::Message(self)
1884    }
1885}
1886
1887#[derive(Clone,PartialEq,Eq,Debug,Hash)]
1888#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
1889pub enum Syntax {
1890    SYNTAX_PROTO2 = 0,
1891    SYNTAX_PROTO3 = 1,
1892}
1893
1894impl crate::ProtobufEnum for Syntax {
1895    fn value(&self) -> i32 {
1896        *self as i32
1897    }
1898
1899    fn from_i32(value: i32) -> ::std::option::Option<Syntax> {
1900        match value {
1901            0 => ::std::option::Option::Some(Syntax::SYNTAX_PROTO2),
1902            1 => ::std::option::Option::Some(Syntax::SYNTAX_PROTO3),
1903            _ => ::std::option::Option::None
1904        }
1905    }
1906
1907    fn values() -> &'static [Self] {
1908        static values: &'static [Syntax] = &[
1909            Syntax::SYNTAX_PROTO2,
1910            Syntax::SYNTAX_PROTO3,
1911        ];
1912        values
1913    }
1914
1915    fn enum_descriptor_static() -> &'static crate::reflect::EnumDescriptor {
1916        static descriptor: crate::rt::LazyV2<crate::reflect::EnumDescriptor> = crate::rt::LazyV2::INIT;
1917        descriptor.get(|| {
1918            crate::reflect::EnumDescriptor::new_pb_name::<Syntax>("Syntax", file_descriptor_proto())
1919        })
1920    }
1921}
1922
1923impl ::std::marker::Copy for Syntax {
1924}
1925
1926impl ::std::default::Default for Syntax {
1927    fn default() -> Self {
1928        Syntax::SYNTAX_PROTO2
1929    }
1930}
1931
1932impl crate::reflect::ProtobufValue for Syntax {
1933    fn as_ref(&self) -> crate::reflect::ReflectValueRef {
1934        crate::reflect::ReflectValueRef::Enum(crate::ProtobufEnum::descriptor(self))
1935    }
1936}
1937
1938static file_descriptor_proto_data: &'static [u8] = b"\
1939    \n\x1agoogle/protobuf/type.proto\x12\x0fgoogle.protobuf\x1a\x19google/pr\
1940    otobuf/any.proto\x1a$google/protobuf/source_context.proto\"\x8d\x02\n\
1941    \x04Type\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12.\n\x06fields\
1942    \x18\x02\x20\x03(\x0b2\x16.google.protobuf.FieldR\x06fields\x12\x16\n\
1943    \x06oneofs\x18\x03\x20\x03(\tR\x06oneofs\x121\n\x07options\x18\x04\x20\
1944    \x03(\x0b2\x17.google.protobuf.OptionR\x07options\x12E\n\x0esource_conte\
1945    xt\x18\x05\x20\x01(\x0b2\x1e.google.protobuf.SourceContextR\rsourceConte\
1946    xt\x12/\n\x06syntax\x18\x06\x20\x01(\x0e2\x17.google.protobuf.SyntaxR\
1947    \x06syntax\"\xb4\x06\n\x05Field\x12/\n\x04kind\x18\x01\x20\x01(\x0e2\x1b\
1948    .google.protobuf.Field.KindR\x04kind\x12D\n\x0bcardinality\x18\x02\x20\
1949    \x01(\x0e2\".google.protobuf.Field.CardinalityR\x0bcardinality\x12\x16\n\
1950    \x06number\x18\x03\x20\x01(\x05R\x06number\x12\x12\n\x04name\x18\x04\x20\
1951    \x01(\tR\x04name\x12\x19\n\x08type_url\x18\x06\x20\x01(\tR\x07typeUrl\
1952    \x12\x1f\n\x0boneof_index\x18\x07\x20\x01(\x05R\noneofIndex\x12\x16\n\
1953    \x06packed\x18\x08\x20\x01(\x08R\x06packed\x121\n\x07options\x18\t\x20\
1954    \x03(\x0b2\x17.google.protobuf.OptionR\x07options\x12\x1b\n\tjson_name\
1955    \x18\n\x20\x01(\tR\x08jsonName\x12#\n\rdefault_value\x18\x0b\x20\x01(\tR\
1956    \x0cdefaultValue\"\xc8\x02\n\x04Kind\x12\x10\n\x0cTYPE_UNKNOWN\x10\0\x12\
1957    \x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nT\
1958    YPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\
1959    \x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\
1960    \x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\
1961    \nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYT\
1962    ES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\
1963    \x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\
1964    \x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"t\n\x0bCardina\
1965    lity\x12\x17\n\x13CARDINALITY_UNKNOWN\x10\0\x12\x18\n\x14CARDINALITY_OPT\
1966    IONAL\x10\x01\x12\x18\n\x14CARDINALITY_REQUIRED\x10\x02\x12\x18\n\x14CAR\
1967    DINALITY_REPEATED\x10\x03\"\xff\x01\n\x04Enum\x12\x12\n\x04name\x18\x01\
1968    \x20\x01(\tR\x04name\x128\n\tenumvalue\x18\x02\x20\x03(\x0b2\x1a.google.\
1969    protobuf.EnumValueR\tenumvalue\x121\n\x07options\x18\x03\x20\x03(\x0b2\
1970    \x17.google.protobuf.OptionR\x07options\x12E\n\x0esource_context\x18\x04\
1971    \x20\x01(\x0b2\x1e.google.protobuf.SourceContextR\rsourceContext\x12/\n\
1972    \x06syntax\x18\x05\x20\x01(\x0e2\x17.google.protobuf.SyntaxR\x06syntax\"\
1973    j\n\tEnumValue\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x16\n\
1974    \x06number\x18\x02\x20\x01(\x05R\x06number\x121\n\x07options\x18\x03\x20\
1975    \x03(\x0b2\x17.google.protobuf.OptionR\x07options\"H\n\x06Option\x12\x12\
1976    \n\x04name\x18\x01\x20\x01(\tR\x04name\x12*\n\x05value\x18\x02\x20\x01(\
1977    \x0b2\x14.google.protobuf.AnyR\x05value*.\n\x06Syntax\x12\x11\n\rSYNTAX_\
1978    PROTO2\x10\0\x12\x11\n\rSYNTAX_PROTO3\x10\x01B{\n\x13com.google.protobuf\
1979    B\tTypeProtoP\x01Z-google.golang.org/protobuf/types/known/typepb\xf8\x01\
1980    \x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xc38\n\
1981    \x07\x12\x05\x1e\0\xba\x01\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\
1982    \xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\
1983    \x20format\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\
1984    \x20reserved.\n\x20https://developers.google.com/protocol-buffers/\n\n\
1985    \x20Redistribution\x20and\x20use\x20in\x20source\x20and\x20binary\x20for\
1986    ms,\x20with\x20or\x20without\n\x20modification,\x20are\x20permitted\x20p\
1987    rovided\x20that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\
1988    \x20\x20\x20\x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\
1989    \x20retain\x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20\
1990    of\x20conditions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\
1991    \x20\x20*\x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduc\
1992    e\x20the\x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20con\
1993    ditions\x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20docum\
1994    entation\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\
1995    \x20distribution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\
1996    \x20Google\x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\
1997    \x20may\x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20d\
1998    erived\x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20\
1999    written\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\
2000    \x20THE\x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\
2001    \x20AND\x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\
2002    \x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\
2003    \x20MERCHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PUR\
2004    POSE\x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYR\
2005    IGHT\n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20D\
2006    IRECT,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20\
2007    CONSEQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO\
2008    ,\x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\
2009    \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\
2010    PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\
2011    BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\
2012    ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\
2013    \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\
2014    \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\
2015    AMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\x18\n\t\n\x02\x03\0\x12\x03\"\0#\
2016    \n\t\n\x02\x03\x01\x12\x03#\0.\n\x08\n\x01\x08\x12\x03%\0;\n\t\n\x02\x08\
2017    %\x12\x03%\0;\n\x08\n\x01\x08\x12\x03&\0\x1f\n\t\n\x02\x08\x1f\x12\x03&\
2018    \0\x1f\n\x08\n\x01\x08\x12\x03'\0,\n\t\n\x02\x08\x01\x12\x03'\0,\n\x08\n\
2019    \x01\x08\x12\x03(\0*\n\t\n\x02\x08\x08\x12\x03(\0*\n\x08\n\x01\x08\x12\
2020    \x03)\0\"\n\t\n\x02\x08\n\x12\x03)\0\"\n\x08\n\x01\x08\x12\x03*\0!\n\t\n\
2021    \x02\x08$\x12\x03*\0!\n\x08\n\x01\x08\x12\x03+\0D\n\t\n\x02\x08\x0b\x12\
2022    \x03+\0D\n-\n\x02\x04\0\x12\x04.\0;\x01\x1a!\x20A\x20protocol\x20buffer\
2023    \x20message\x20type.\n\n\n\n\x03\x04\0\x01\x12\x03.\x08\x0c\n0\n\x04\x04\
2024    \0\x02\0\x12\x030\x02\x12\x1a#\x20The\x20fully\x20qualified\x20message\
2025    \x20name.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x030\x02\x08\n\x0c\n\x05\x04\
2026    \0\x02\0\x01\x12\x030\t\r\n\x0c\n\x05\x04\0\x02\0\x03\x12\x030\x10\x11\n\
2027    \"\n\x04\x04\0\x02\x01\x12\x032\x02\x1c\x1a\x15\x20The\x20list\x20of\x20\
2028    fields.\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x032\x02\n\n\x0c\n\x05\x04\0\
2029    \x02\x01\x06\x12\x032\x0b\x10\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x032\x11\
2030    \x17\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x032\x1a\x1b\nO\n\x04\x04\0\x02\
2031    \x02\x12\x034\x02\x1d\x1aB\x20The\x20list\x20of\x20types\x20appearing\
2032    \x20in\x20`oneof`\x20definitions\x20in\x20this\x20type.\n\n\x0c\n\x05\
2033    \x04\0\x02\x02\x04\x12\x034\x02\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x034\
2034    \x0b\x11\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x034\x12\x18\n\x0c\n\x05\x04\
2035    \0\x02\x02\x03\x12\x034\x1b\x1c\n+\n\x04\x04\0\x02\x03\x12\x036\x02\x1e\
2036    \x1a\x1e\x20The\x20protocol\x20buffer\x20options.\n\n\x0c\n\x05\x04\0\
2037    \x02\x03\x04\x12\x036\x02\n\n\x0c\n\x05\x04\0\x02\x03\x06\x12\x036\x0b\
2038    \x11\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x036\x12\x19\n\x0c\n\x05\x04\0\
2039    \x02\x03\x03\x12\x036\x1c\x1d\n\"\n\x04\x04\0\x02\x04\x12\x038\x02#\x1a\
2040    \x15\x20The\x20source\x20context.\n\n\x0c\n\x05\x04\0\x02\x04\x06\x12\
2041    \x038\x02\x0f\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x038\x10\x1e\n\x0c\n\x05\
2042    \x04\0\x02\x04\x03\x12\x038!\"\n!\n\x04\x04\0\x02\x05\x12\x03:\x02\x14\
2043    \x1a\x14\x20The\x20source\x20syntax.\n\n\x0c\n\x05\x04\0\x02\x05\x06\x12\
2044    \x03:\x02\x08\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03:\t\x0f\n\x0c\n\x05\
2045    \x04\0\x02\x05\x03\x12\x03:\x12\x13\n0\n\x02\x04\x01\x12\x05>\0\x8b\x01\
2046    \x01\x1a#\x20A\x20single\x20field\x20of\x20a\x20message\x20type.\n\n\n\n\
2047    \x03\x04\x01\x01\x12\x03>\x08\r\n\"\n\x04\x04\x01\x04\0\x12\x04@\x02g\
2048    \x03\x1a\x14\x20Basic\x20field\x20types.\n\n\x0c\n\x05\x04\x01\x04\0\x01\
2049    \x12\x03@\x07\x0b\n$\n\x06\x04\x01\x04\0\x02\0\x12\x03B\x04\x15\x1a\x15\
2050    \x20Field\x20type\x20unknown.\n\n\x0e\n\x07\x04\x01\x04\0\x02\0\x01\x12\
2051    \x03B\x04\x10\n\x0e\n\x07\x04\x01\x04\0\x02\0\x02\x12\x03B\x13\x14\n#\n\
2052    \x06\x04\x01\x04\0\x02\x01\x12\x03D\x04\x14\x1a\x14\x20Field\x20type\x20\
2053    double.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x01\x01\x12\x03D\x04\x0f\n\x0e\n\
2054    \x07\x04\x01\x04\0\x02\x01\x02\x12\x03D\x12\x13\n\"\n\x06\x04\x01\x04\0\
2055    \x02\x02\x12\x03F\x04\x13\x1a\x13\x20Field\x20type\x20float.\n\n\x0e\n\
2056    \x07\x04\x01\x04\0\x02\x02\x01\x12\x03F\x04\x0e\n\x0e\n\x07\x04\x01\x04\
2057    \0\x02\x02\x02\x12\x03F\x11\x12\n\"\n\x06\x04\x01\x04\0\x02\x03\x12\x03H\
2058    \x04\x13\x1a\x13\x20Field\x20type\x20int64.\n\n\x0e\n\x07\x04\x01\x04\0\
2059    \x02\x03\x01\x12\x03H\x04\x0e\n\x0e\n\x07\x04\x01\x04\0\x02\x03\x02\x12\
2060    \x03H\x11\x12\n#\n\x06\x04\x01\x04\0\x02\x04\x12\x03J\x04\x14\x1a\x14\
2061    \x20Field\x20type\x20uint64.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x04\x01\x12\
2062    \x03J\x04\x0f\n\x0e\n\x07\x04\x01\x04\0\x02\x04\x02\x12\x03J\x12\x13\n\"\
2063    \n\x06\x04\x01\x04\0\x02\x05\x12\x03L\x04\x13\x1a\x13\x20Field\x20type\
2064    \x20int32.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x05\x01\x12\x03L\x04\x0e\n\
2065    \x0e\n\x07\x04\x01\x04\0\x02\x05\x02\x12\x03L\x11\x12\n$\n\x06\x04\x01\
2066    \x04\0\x02\x06\x12\x03N\x04\x15\x1a\x15\x20Field\x20type\x20fixed64.\n\n\
2067    \x0e\n\x07\x04\x01\x04\0\x02\x06\x01\x12\x03N\x04\x10\n\x0e\n\x07\x04\
2068    \x01\x04\0\x02\x06\x02\x12\x03N\x13\x14\n$\n\x06\x04\x01\x04\0\x02\x07\
2069    \x12\x03P\x04\x15\x1a\x15\x20Field\x20type\x20fixed32.\n\n\x0e\n\x07\x04\
2070    \x01\x04\0\x02\x07\x01\x12\x03P\x04\x10\n\x0e\n\x07\x04\x01\x04\0\x02\
2071    \x07\x02\x12\x03P\x13\x14\n!\n\x06\x04\x01\x04\0\x02\x08\x12\x03R\x04\
2072    \x12\x1a\x12\x20Field\x20type\x20bool.\n\n\x0e\n\x07\x04\x01\x04\0\x02\
2073    \x08\x01\x12\x03R\x04\r\n\x0e\n\x07\x04\x01\x04\0\x02\x08\x02\x12\x03R\
2074    \x10\x11\n#\n\x06\x04\x01\x04\0\x02\t\x12\x03T\x04\x14\x1a\x14\x20Field\
2075    \x20type\x20string.\n\n\x0e\n\x07\x04\x01\x04\0\x02\t\x01\x12\x03T\x04\
2076    \x0f\n\x0e\n\x07\x04\x01\x04\0\x02\t\x02\x12\x03T\x12\x13\nF\n\x06\x04\
2077    \x01\x04\0\x02\n\x12\x03V\x04\x14\x1a7\x20Field\x20type\x20group.\x20Pro\
2078    to2\x20syntax\x20only,\x20and\x20deprecated.\n\n\x0e\n\x07\x04\x01\x04\0\
2079    \x02\n\x01\x12\x03V\x04\x0e\n\x0e\n\x07\x04\x01\x04\0\x02\n\x02\x12\x03V\
2080    \x11\x13\n$\n\x06\x04\x01\x04\0\x02\x0b\x12\x03X\x04\x16\x1a\x15\x20Fiel\
2081    d\x20type\x20message.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x0b\x01\x12\x03X\
2082    \x04\x10\n\x0e\n\x07\x04\x01\x04\0\x02\x0b\x02\x12\x03X\x13\x15\n\"\n\
2083    \x06\x04\x01\x04\0\x02\x0c\x12\x03Z\x04\x14\x1a\x13\x20Field\x20type\x20\
2084    bytes.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x0c\x01\x12\x03Z\x04\x0e\n\x0e\n\
2085    \x07\x04\x01\x04\0\x02\x0c\x02\x12\x03Z\x11\x13\n#\n\x06\x04\x01\x04\0\
2086    \x02\r\x12\x03\\\x04\x15\x1a\x14\x20Field\x20type\x20uint32.\n\n\x0e\n\
2087    \x07\x04\x01\x04\0\x02\r\x01\x12\x03\\\x04\x0f\n\x0e\n\x07\x04\x01\x04\0\
2088    \x02\r\x02\x12\x03\\\x12\x14\n!\n\x06\x04\x01\x04\0\x02\x0e\x12\x03^\x04\
2089    \x13\x1a\x12\x20Field\x20type\x20enum.\n\n\x0e\n\x07\x04\x01\x04\0\x02\
2090    \x0e\x01\x12\x03^\x04\r\n\x0e\n\x07\x04\x01\x04\0\x02\x0e\x02\x12\x03^\
2091    \x10\x12\n%\n\x06\x04\x01\x04\0\x02\x0f\x12\x03`\x04\x17\x1a\x16\x20Fiel\
2092    d\x20type\x20sfixed32.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x0f\x01\x12\x03`\
2093    \x04\x11\n\x0e\n\x07\x04\x01\x04\0\x02\x0f\x02\x12\x03`\x14\x16\n%\n\x06\
2094    \x04\x01\x04\0\x02\x10\x12\x03b\x04\x17\x1a\x16\x20Field\x20type\x20sfix\
2095    ed64.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x10\x01\x12\x03b\x04\x11\n\x0e\n\
2096    \x07\x04\x01\x04\0\x02\x10\x02\x12\x03b\x14\x16\n#\n\x06\x04\x01\x04\0\
2097    \x02\x11\x12\x03d\x04\x15\x1a\x14\x20Field\x20type\x20sint32.\n\n\x0e\n\
2098    \x07\x04\x01\x04\0\x02\x11\x01\x12\x03d\x04\x0f\n\x0e\n\x07\x04\x01\x04\
2099    \0\x02\x11\x02\x12\x03d\x12\x14\n#\n\x06\x04\x01\x04\0\x02\x12\x12\x03f\
2100    \x04\x15\x1a\x14\x20Field\x20type\x20sint64.\n\n\x0e\n\x07\x04\x01\x04\0\
2101    \x02\x12\x01\x12\x03f\x04\x0f\n\x0e\n\x07\x04\x01\x04\0\x02\x12\x02\x12\
2102    \x03f\x12\x14\nC\n\x04\x04\x01\x04\x01\x12\x04j\x02s\x03\x1a5\x20Whether\
2103    \x20a\x20field\x20is\x20optional,\x20required,\x20or\x20repeated.\n\n\
2104    \x0c\n\x05\x04\x01\x04\x01\x01\x12\x03j\x07\x12\n5\n\x06\x04\x01\x04\x01\
2105    \x02\0\x12\x03l\x04\x1c\x1a&\x20For\x20fields\x20with\x20unknown\x20card\
2106    inality.\n\n\x0e\n\x07\x04\x01\x04\x01\x02\0\x01\x12\x03l\x04\x17\n\x0e\
2107    \n\x07\x04\x01\x04\x01\x02\0\x02\x12\x03l\x1a\x1b\n%\n\x06\x04\x01\x04\
2108    \x01\x02\x01\x12\x03n\x04\x1d\x1a\x16\x20For\x20optional\x20fields.\n\n\
2109    \x0e\n\x07\x04\x01\x04\x01\x02\x01\x01\x12\x03n\x04\x18\n\x0e\n\x07\x04\
2110    \x01\x04\x01\x02\x01\x02\x12\x03n\x1b\x1c\n9\n\x06\x04\x01\x04\x01\x02\
2111    \x02\x12\x03p\x04\x1d\x1a*\x20For\x20required\x20fields.\x20Proto2\x20sy\
2112    ntax\x20only.\n\n\x0e\n\x07\x04\x01\x04\x01\x02\x02\x01\x12\x03p\x04\x18\
2113    \n\x0e\n\x07\x04\x01\x04\x01\x02\x02\x02\x12\x03p\x1b\x1c\n%\n\x06\x04\
2114    \x01\x04\x01\x02\x03\x12\x03r\x04\x1d\x1a\x16\x20For\x20repeated\x20fiel\
2115    ds.\n\n\x0e\n\x07\x04\x01\x04\x01\x02\x03\x01\x12\x03r\x04\x18\n\x0e\n\
2116    \x07\x04\x01\x04\x01\x02\x03\x02\x12\x03r\x1b\x1c\n\x1e\n\x04\x04\x01\
2117    \x02\0\x12\x03v\x02\x10\x1a\x11\x20The\x20field\x20type.\n\n\x0c\n\x05\
2118    \x04\x01\x02\0\x06\x12\x03v\x02\x06\n\x0c\n\x05\x04\x01\x02\0\x01\x12\
2119    \x03v\x07\x0b\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03v\x0e\x0f\n%\n\x04\
2120    \x04\x01\x02\x01\x12\x03x\x02\x1e\x1a\x18\x20The\x20field\x20cardinality\
2121    .\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03x\x02\r\n\x0c\n\x05\x04\x01\
2122    \x02\x01\x01\x12\x03x\x0e\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03x\
2123    \x1c\x1d\n\x20\n\x04\x04\x01\x02\x02\x12\x03z\x02\x13\x1a\x13\x20The\x20\
2124    field\x20number.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03z\x02\x07\n\
2125    \x0c\n\x05\x04\x01\x02\x02\x01\x12\x03z\x08\x0e\n\x0c\n\x05\x04\x01\x02\
2126    \x02\x03\x12\x03z\x11\x12\n\x1e\n\x04\x04\x01\x02\x03\x12\x03|\x02\x12\
2127    \x1a\x11\x20The\x20field\x20name.\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\
2128    \x03|\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03|\t\r\n\x0c\n\x05\
2129    \x04\x01\x02\x03\x03\x12\x03|\x10\x11\n\x96\x01\n\x04\x04\x01\x02\x04\
2130    \x12\x03\x7f\x02\x16\x1a\x88\x01\x20The\x20field\x20type\x20URL,\x20with\
2131    out\x20the\x20scheme,\x20for\x20message\x20or\x20enumeration\n\x20types.\
2132    \x20Example:\x20`\"type.googleapis.com/google.protobuf.Timestamp\"`.\n\n\
2133    \x0c\n\x05\x04\x01\x02\x04\x05\x12\x03\x7f\x02\x08\n\x0c\n\x05\x04\x01\
2134    \x02\x04\x01\x12\x03\x7f\t\x11\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\
2135    \x7f\x14\x15\n\xa5\x01\n\x04\x04\x01\x02\x05\x12\x04\x82\x01\x02\x18\x1a\
2136    \x96\x01\x20The\x20index\x20of\x20the\x20field\x20type\x20in\x20`Type.on\
2137    eofs`,\x20for\x20message\x20or\x20enumeration\n\x20types.\x20The\x20firs\
2138    t\x20type\x20has\x20index\x201;\x20zero\x20means\x20the\x20type\x20is\
2139    \x20not\x20in\x20the\x20list.\n\n\r\n\x05\x04\x01\x02\x05\x05\x12\x04\
2140    \x82\x01\x02\x07\n\r\n\x05\x04\x01\x02\x05\x01\x12\x04\x82\x01\x08\x13\n\
2141    \r\n\x05\x04\x01\x02\x05\x03\x12\x04\x82\x01\x16\x17\nF\n\x04\x04\x01\
2142    \x02\x06\x12\x04\x84\x01\x02\x12\x1a8\x20Whether\x20to\x20use\x20alterna\
2143    tive\x20packed\x20wire\x20representation.\n\n\r\n\x05\x04\x01\x02\x06\
2144    \x05\x12\x04\x84\x01\x02\x06\n\r\n\x05\x04\x01\x02\x06\x01\x12\x04\x84\
2145    \x01\x07\r\n\r\n\x05\x04\x01\x02\x06\x03\x12\x04\x84\x01\x10\x11\n,\n\
2146    \x04\x04\x01\x02\x07\x12\x04\x86\x01\x02\x1e\x1a\x1e\x20The\x20protocol\
2147    \x20buffer\x20options.\n\n\r\n\x05\x04\x01\x02\x07\x04\x12\x04\x86\x01\
2148    \x02\n\n\r\n\x05\x04\x01\x02\x07\x06\x12\x04\x86\x01\x0b\x11\n\r\n\x05\
2149    \x04\x01\x02\x07\x01\x12\x04\x86\x01\x12\x19\n\r\n\x05\x04\x01\x02\x07\
2150    \x03\x12\x04\x86\x01\x1c\x1d\n$\n\x04\x04\x01\x02\x08\x12\x04\x88\x01\
2151    \x02\x18\x1a\x16\x20The\x20field\x20JSON\x20name.\n\n\r\n\x05\x04\x01\
2152    \x02\x08\x05\x12\x04\x88\x01\x02\x08\n\r\n\x05\x04\x01\x02\x08\x01\x12\
2153    \x04\x88\x01\t\x12\n\r\n\x05\x04\x01\x02\x08\x03\x12\x04\x88\x01\x15\x17\
2154    \nX\n\x04\x04\x01\x02\t\x12\x04\x8a\x01\x02\x1c\x1aJ\x20The\x20string\
2155    \x20value\x20of\x20the\x20default\x20value\x20of\x20this\x20field.\x20Pr\
2156    oto2\x20syntax\x20only.\n\n\r\n\x05\x04\x01\x02\t\x05\x12\x04\x8a\x01\
2157    \x02\x08\n\r\n\x05\x04\x01\x02\t\x01\x12\x04\x8a\x01\t\x16\n\r\n\x05\x04\
2158    \x01\x02\t\x03\x12\x04\x8a\x01\x19\x1b\n%\n\x02\x04\x02\x12\x06\x8e\x01\
2159    \0\x99\x01\x01\x1a\x17\x20Enum\x20type\x20definition.\n\n\x0b\n\x03\x04\
2160    \x02\x01\x12\x04\x8e\x01\x08\x0c\n\x1f\n\x04\x04\x02\x02\0\x12\x04\x90\
2161    \x01\x02\x12\x1a\x11\x20Enum\x20type\x20name.\n\n\r\n\x05\x04\x02\x02\0\
2162    \x05\x12\x04\x90\x01\x02\x08\n\r\n\x05\x04\x02\x02\0\x01\x12\x04\x90\x01\
2163    \t\r\n\r\n\x05\x04\x02\x02\0\x03\x12\x04\x90\x01\x10\x11\n'\n\x04\x04\
2164    \x02\x02\x01\x12\x04\x92\x01\x02#\x1a\x19\x20Enum\x20value\x20definition\
2165    s.\n\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04\x92\x01\x02\n\n\r\n\x05\x04\
2166    \x02\x02\x01\x06\x12\x04\x92\x01\x0b\x14\n\r\n\x05\x04\x02\x02\x01\x01\
2167    \x12\x04\x92\x01\x15\x1e\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\x92\x01!\
2168    \"\n(\n\x04\x04\x02\x02\x02\x12\x04\x94\x01\x02\x1e\x1a\x1a\x20Protocol\
2169    \x20buffer\x20options.\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04\x94\x01\
2170    \x02\n\n\r\n\x05\x04\x02\x02\x02\x06\x12\x04\x94\x01\x0b\x11\n\r\n\x05\
2171    \x04\x02\x02\x02\x01\x12\x04\x94\x01\x12\x19\n\r\n\x05\x04\x02\x02\x02\
2172    \x03\x12\x04\x94\x01\x1c\x1d\n#\n\x04\x04\x02\x02\x03\x12\x04\x96\x01\
2173    \x02#\x1a\x15\x20The\x20source\x20context.\n\n\r\n\x05\x04\x02\x02\x03\
2174    \x06\x12\x04\x96\x01\x02\x0f\n\r\n\x05\x04\x02\x02\x03\x01\x12\x04\x96\
2175    \x01\x10\x1e\n\r\n\x05\x04\x02\x02\x03\x03\x12\x04\x96\x01!\"\n\"\n\x04\
2176    \x04\x02\x02\x04\x12\x04\x98\x01\x02\x14\x1a\x14\x20The\x20source\x20syn\
2177    tax.\n\n\r\n\x05\x04\x02\x02\x04\x06\x12\x04\x98\x01\x02\x08\n\r\n\x05\
2178    \x04\x02\x02\x04\x01\x12\x04\x98\x01\t\x0f\n\r\n\x05\x04\x02\x02\x04\x03\
2179    \x12\x04\x98\x01\x12\x13\n&\n\x02\x04\x03\x12\x06\x9c\x01\0\xa3\x01\x01\
2180    \x1a\x18\x20Enum\x20value\x20definition.\n\n\x0b\n\x03\x04\x03\x01\x12\
2181    \x04\x9c\x01\x08\x11\n\x20\n\x04\x04\x03\x02\0\x12\x04\x9e\x01\x02\x12\
2182    \x1a\x12\x20Enum\x20value\x20name.\n\n\r\n\x05\x04\x03\x02\0\x05\x12\x04\
2183    \x9e\x01\x02\x08\n\r\n\x05\x04\x03\x02\0\x01\x12\x04\x9e\x01\t\r\n\r\n\
2184    \x05\x04\x03\x02\0\x03\x12\x04\x9e\x01\x10\x11\n\"\n\x04\x04\x03\x02\x01\
2185    \x12\x04\xa0\x01\x02\x13\x1a\x14\x20Enum\x20value\x20number.\n\n\r\n\x05\
2186    \x04\x03\x02\x01\x05\x12\x04\xa0\x01\x02\x07\n\r\n\x05\x04\x03\x02\x01\
2187    \x01\x12\x04\xa0\x01\x08\x0e\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\xa0\
2188    \x01\x11\x12\n(\n\x04\x04\x03\x02\x02\x12\x04\xa2\x01\x02\x1e\x1a\x1a\
2189    \x20Protocol\x20buffer\x20options.\n\n\r\n\x05\x04\x03\x02\x02\x04\x12\
2190    \x04\xa2\x01\x02\n\n\r\n\x05\x04\x03\x02\x02\x06\x12\x04\xa2\x01\x0b\x11\
2191    \n\r\n\x05\x04\x03\x02\x02\x01\x12\x04\xa2\x01\x12\x19\n\r\n\x05\x04\x03\
2192    \x02\x02\x03\x12\x04\xa2\x01\x1c\x1d\ng\n\x02\x04\x04\x12\x06\xa7\x01\0\
2193    \xb2\x01\x01\x1aY\x20A\x20protocol\x20buffer\x20option,\x20which\x20can\
2194    \x20be\x20attached\x20to\x20a\x20message,\x20field,\n\x20enumeration,\
2195    \x20etc.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\xa7\x01\x08\x0e\n\xfc\x01\n\
2196    \x04\x04\x04\x02\0\x12\x04\xac\x01\x02\x12\x1a\xed\x01\x20The\x20option'\
2197    s\x20name.\x20For\x20protobuf\x20built-in\x20options\x20(options\x20defi\
2198    ned\x20in\n\x20descriptor.proto),\x20this\x20is\x20the\x20short\x20name.\
2199    \x20For\x20example,\x20`\"map_entry\"`.\n\x20For\x20custom\x20options,\
2200    \x20it\x20should\x20be\x20the\x20fully-qualified\x20name.\x20For\x20exam\
2201    ple,\n\x20`\"google.api.http\"`.\n\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\
2202    \xac\x01\x02\x08\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xac\x01\t\r\n\r\n\
2203    \x05\x04\x04\x02\0\x03\x12\x04\xac\x01\x10\x11\n\xa0\x02\n\x04\x04\x04\
2204    \x02\x01\x12\x04\xb1\x01\x02\x10\x1a\x91\x02\x20The\x20option's\x20value\
2205    \x20packed\x20in\x20an\x20Any\x20message.\x20If\x20the\x20value\x20is\
2206    \x20a\x20primitive,\n\x20the\x20corresponding\x20wrapper\x20type\x20defi\
2207    ned\x20in\x20google/protobuf/wrappers.proto\n\x20should\x20be\x20used.\
2208    \x20If\x20the\x20value\x20is\x20an\x20enum,\x20it\x20should\x20be\x20sto\
2209    red\x20as\x20an\x20int32\n\x20value\x20using\x20the\x20google.protobuf.I\
2210    nt32Value\x20type.\n\n\r\n\x05\x04\x04\x02\x01\x06\x12\x04\xb1\x01\x02\
2211    \x05\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\xb1\x01\x06\x0b\n\r\n\x05\x04\
2212    \x04\x02\x01\x03\x12\x04\xb1\x01\x0e\x0f\nI\n\x02\x05\0\x12\x06\xb5\x01\
2213    \0\xba\x01\x01\x1a;\x20The\x20syntax\x20in\x20which\x20a\x20protocol\x20\
2214    buffer\x20element\x20is\x20defined.\n\n\x0b\n\x03\x05\0\x01\x12\x04\xb5\
2215    \x01\x05\x0b\n\x20\n\x04\x05\0\x02\0\x12\x04\xb7\x01\x02\x14\x1a\x12\x20\
2216    Syntax\x20`proto2`.\n\n\r\n\x05\x05\0\x02\0\x01\x12\x04\xb7\x01\x02\x0f\
2217    \n\r\n\x05\x05\0\x02\0\x02\x12\x04\xb7\x01\x12\x13\n\x20\n\x04\x05\0\x02\
2218    \x01\x12\x04\xb9\x01\x02\x14\x1a\x12\x20Syntax\x20`proto3`.\n\n\r\n\x05\
2219    \x05\0\x02\x01\x01\x12\x04\xb9\x01\x02\x0f\n\r\n\x05\x05\0\x02\x01\x02\
2220    \x12\x04\xb9\x01\x12\x13b\x06proto3\
2221";
2222
2223static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT;
2224
2225fn parse_descriptor_proto() -> crate::descriptor::FileDescriptorProto {
2226    crate::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
2227}
2228
2229pub fn file_descriptor_proto() -> &'static crate::descriptor::FileDescriptorProto {
2230    file_descriptor_proto_lazy.get(|| {
2231        parse_descriptor_proto()
2232    })
2233}