1#![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#[derive(PartialEq,Clone,Default)]
23#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
24pub struct Type {
25 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 #[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 pub fn get_name(&self) -> &str {
54 &self.name
55 }
56 pub fn clear_name(&mut self) {
57 self.name.clear();
58 }
59
60 pub fn set_name(&mut self, v: ::std::string::String) {
62 self.name = v;
63 }
64
65 pub fn mut_name(&mut self) -> &mut ::std::string::String {
68 &mut self.name
69 }
70
71 pub fn take_name(&mut self) -> ::std::string::String {
73 ::std::mem::replace(&mut self.name, ::std::string::String::new())
74 }
75
76 pub fn get_fields(&self) -> &[Field] {
80 &self.fields
81 }
82 pub fn clear_fields(&mut self) {
83 self.fields.clear();
84 }
85
86 pub fn set_fields(&mut self, v: crate::RepeatedField<Field>) {
88 self.fields = v;
89 }
90
91 pub fn mut_fields(&mut self) -> &mut crate::RepeatedField<Field> {
93 &mut self.fields
94 }
95
96 pub fn take_fields(&mut self) -> crate::RepeatedField<Field> {
98 ::std::mem::replace(&mut self.fields, crate::RepeatedField::new())
99 }
100
101 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 pub fn set_oneofs(&mut self, v: crate::RepeatedField<::std::string::String>) {
113 self.oneofs = v;
114 }
115
116 pub fn mut_oneofs(&mut self) -> &mut crate::RepeatedField<::std::string::String> {
118 &mut self.oneofs
119 }
120
121 pub fn take_oneofs(&mut self) -> crate::RepeatedField<::std::string::String> {
123 ::std::mem::replace(&mut self.oneofs, crate::RepeatedField::new())
124 }
125
126 pub fn get_options(&self) -> &[Option] {
130 &self.options
131 }
132 pub fn clear_options(&mut self) {
133 self.options.clear();
134 }
135
136 pub fn set_options(&mut self, v: crate::RepeatedField<Option>) {
138 self.options = v;
139 }
140
141 pub fn mut_options(&mut self) -> &mut crate::RepeatedField<Option> {
143 &mut self.options
144 }
145
146 pub fn take_options(&mut self) -> crate::RepeatedField<Option> {
148 ::std::mem::replace(&mut self.options, crate::RepeatedField::new())
149 }
150
151 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 pub fn set_source_context(&mut self, v: crate::well_known_types::SourceContext) {
167 self.source_context = crate::SingularPtrField::some(v);
168 }
169
170 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 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 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 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 #[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 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 #[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 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 pub fn set_kind(&mut self, v: Field_Kind) {
455 self.kind = v;
456 }
457
458 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 pub fn set_cardinality(&mut self, v: Field_Cardinality) {
470 self.cardinality = v;
471 }
472
473 pub fn get_number(&self) -> i32 {
477 self.number
478 }
479 pub fn clear_number(&mut self) {
480 self.number = 0;
481 }
482
483 pub fn set_number(&mut self, v: i32) {
485 self.number = v;
486 }
487
488 pub fn get_name(&self) -> &str {
492 &self.name
493 }
494 pub fn clear_name(&mut self) {
495 self.name.clear();
496 }
497
498 pub fn set_name(&mut self, v: ::std::string::String) {
500 self.name = v;
501 }
502
503 pub fn mut_name(&mut self) -> &mut ::std::string::String {
506 &mut self.name
507 }
508
509 pub fn take_name(&mut self) -> ::std::string::String {
511 ::std::mem::replace(&mut self.name, ::std::string::String::new())
512 }
513
514 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 pub fn set_type_url(&mut self, v: ::std::string::String) {
526 self.type_url = v;
527 }
528
529 pub fn mut_type_url(&mut self) -> &mut ::std::string::String {
532 &mut self.type_url
533 }
534
535 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 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 pub fn set_oneof_index(&mut self, v: i32) {
552 self.oneof_index = v;
553 }
554
555 pub fn get_packed(&self) -> bool {
559 self.packed
560 }
561 pub fn clear_packed(&mut self) {
562 self.packed = false;
563 }
564
565 pub fn set_packed(&mut self, v: bool) {
567 self.packed = v;
568 }
569
570 pub fn get_options(&self) -> &[Option] {
574 &self.options
575 }
576 pub fn clear_options(&mut self) {
577 self.options.clear();
578 }
579
580 pub fn set_options(&mut self, v: crate::RepeatedField<Option>) {
582 self.options = v;
583 }
584
585 pub fn mut_options(&mut self) -> &mut crate::RepeatedField<Option> {
587 &mut self.options
588 }
589
590 pub fn take_options(&mut self) -> crate::RepeatedField<Option> {
592 ::std::mem::replace(&mut self.options, crate::RepeatedField::new())
593 }
594
595 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 pub fn set_json_name(&mut self, v: ::std::string::String) {
607 self.json_name = v;
608 }
609
610 pub fn mut_json_name(&mut self) -> &mut ::std::string::String {
613 &mut self.json_name
614 }
615
616 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 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 pub fn set_default_value(&mut self, v: ::std::string::String) {
633 self.default_value = v;
634 }
635
636 pub fn mut_default_value(&mut self) -> &mut ::std::string::String {
639 &mut self.default_value
640 }
641
642 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 #[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 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 #[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 pub fn get_name(&self) -> &str {
1105 &self.name
1106 }
1107 pub fn clear_name(&mut self) {
1108 self.name.clear();
1109 }
1110
1111 pub fn set_name(&mut self, v: ::std::string::String) {
1113 self.name = v;
1114 }
1115
1116 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1119 &mut self.name
1120 }
1121
1122 pub fn take_name(&mut self) -> ::std::string::String {
1124 ::std::mem::replace(&mut self.name, ::std::string::String::new())
1125 }
1126
1127 pub fn get_enumvalue(&self) -> &[EnumValue] {
1131 &self.enumvalue
1132 }
1133 pub fn clear_enumvalue(&mut self) {
1134 self.enumvalue.clear();
1135 }
1136
1137 pub fn set_enumvalue(&mut self, v: crate::RepeatedField<EnumValue>) {
1139 self.enumvalue = v;
1140 }
1141
1142 pub fn mut_enumvalue(&mut self) -> &mut crate::RepeatedField<EnumValue> {
1144 &mut self.enumvalue
1145 }
1146
1147 pub fn take_enumvalue(&mut self) -> crate::RepeatedField<EnumValue> {
1149 ::std::mem::replace(&mut self.enumvalue, crate::RepeatedField::new())
1150 }
1151
1152 pub fn get_options(&self) -> &[Option] {
1156 &self.options
1157 }
1158 pub fn clear_options(&mut self) {
1159 self.options.clear();
1160 }
1161
1162 pub fn set_options(&mut self, v: crate::RepeatedField<Option>) {
1164 self.options = v;
1165 }
1166
1167 pub fn mut_options(&mut self) -> &mut crate::RepeatedField<Option> {
1169 &mut self.options
1170 }
1171
1172 pub fn take_options(&mut self) -> crate::RepeatedField<Option> {
1174 ::std::mem::replace(&mut self.options, crate::RepeatedField::new())
1175 }
1176
1177 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 pub fn set_source_context(&mut self, v: crate::well_known_types::SourceContext) {
1193 self.source_context = crate::SingularPtrField::some(v);
1194 }
1195
1196 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 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 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 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 #[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 pub name: ::std::string::String,
1427 pub number: i32,
1428 pub options: crate::RepeatedField<Option>,
1429 #[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 pub fn get_name(&self) -> &str {
1451 &self.name
1452 }
1453 pub fn clear_name(&mut self) {
1454 self.name.clear();
1455 }
1456
1457 pub fn set_name(&mut self, v: ::std::string::String) {
1459 self.name = v;
1460 }
1461
1462 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1465 &mut self.name
1466 }
1467
1468 pub fn take_name(&mut self) -> ::std::string::String {
1470 ::std::mem::replace(&mut self.name, ::std::string::String::new())
1471 }
1472
1473 pub fn get_number(&self) -> i32 {
1477 self.number
1478 }
1479 pub fn clear_number(&mut self) {
1480 self.number = 0;
1481 }
1482
1483 pub fn set_number(&mut self, v: i32) {
1485 self.number = v;
1486 }
1487
1488 pub fn get_options(&self) -> &[Option] {
1492 &self.options
1493 }
1494 pub fn clear_options(&mut self) {
1495 self.options.clear();
1496 }
1497
1498 pub fn set_options(&mut self, v: crate::RepeatedField<Option>) {
1500 self.options = v;
1501 }
1502
1503 pub fn mut_options(&mut self) -> &mut crate::RepeatedField<Option> {
1505 &mut self.options
1506 }
1507
1508 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 #[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 pub name: ::std::string::String,
1673 pub value: crate::SingularPtrField<crate::well_known_types::Any>,
1674 #[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 pub fn get_name(&self) -> &str {
1696 &self.name
1697 }
1698 pub fn clear_name(&mut self) {
1699 self.name.clear();
1700 }
1701
1702 pub fn set_name(&mut self, v: ::std::string::String) {
1704 self.name = v;
1705 }
1706
1707 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1710 &mut self.name
1711 }
1712
1713 pub fn take_name(&mut self) -> ::std::string::String {
1715 ::std::mem::replace(&mut self.name, ::std::string::String::new())
1716 }
1717
1718 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 pub fn set_value(&mut self, v: crate::well_known_types::Any) {
1734 self.value = crate::SingularPtrField::some(v);
1735 }
1736
1737 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 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 #[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}