tensorboard_proto/
summary.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 `src/summary.proto`
21
22/// Generated files are compatible only with the same version
23/// of protobuf runtime.
24// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_27_1;
25
26#[derive(PartialEq,Clone,Default)]
27pub struct SummaryDescription {
28    // message fields
29    pub type_hint: ::std::string::String,
30    // special fields
31    pub unknown_fields: ::protobuf::UnknownFields,
32    pub cached_size: ::protobuf::CachedSize,
33}
34
35impl<'a> ::std::default::Default for &'a SummaryDescription {
36    fn default() -> &'a SummaryDescription {
37        <SummaryDescription as ::protobuf::Message>::default_instance()
38    }
39}
40
41impl SummaryDescription {
42    pub fn new() -> SummaryDescription {
43        ::std::default::Default::default()
44    }
45
46    // string type_hint = 1;
47
48
49    pub fn get_type_hint(&self) -> &str {
50        &self.type_hint
51    }
52    pub fn clear_type_hint(&mut self) {
53        self.type_hint.clear();
54    }
55
56    // Param is passed by value, moved
57    pub fn set_type_hint(&mut self, v: ::std::string::String) {
58        self.type_hint = v;
59    }
60
61    // Mutable pointer to the field.
62    // If field is not initialized, it is initialized with default value first.
63    pub fn mut_type_hint(&mut self) -> &mut ::std::string::String {
64        &mut self.type_hint
65    }
66
67    // Take field
68    pub fn take_type_hint(&mut self) -> ::std::string::String {
69        ::std::mem::replace(&mut self.type_hint, ::std::string::String::new())
70    }
71}
72
73impl ::protobuf::Message for SummaryDescription {
74    fn is_initialized(&self) -> bool {
75        true
76    }
77
78    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
79        while !is.eof()? {
80            let (field_number, wire_type) = is.read_tag_unpack()?;
81            match field_number {
82                1 => {
83                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.type_hint)?;
84                },
85                _ => {
86                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
87                },
88            };
89        }
90        ::std::result::Result::Ok(())
91    }
92
93    // Compute sizes of nested messages
94    #[allow(unused_variables)]
95    fn compute_size(&self) -> u32 {
96        let mut my_size = 0;
97        if !self.type_hint.is_empty() {
98            my_size += ::protobuf::rt::string_size(1, &self.type_hint);
99        }
100        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
101        self.cached_size.set(my_size);
102        my_size
103    }
104
105    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
106        if !self.type_hint.is_empty() {
107            os.write_string(1, &self.type_hint)?;
108        }
109        os.write_unknown_fields(self.get_unknown_fields())?;
110        ::std::result::Result::Ok(())
111    }
112
113    fn get_cached_size(&self) -> u32 {
114        self.cached_size.get()
115    }
116
117    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
118        &self.unknown_fields
119    }
120
121    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
122        &mut self.unknown_fields
123    }
124
125    fn as_any(&self) -> &dyn (::std::any::Any) {
126        self as &dyn (::std::any::Any)
127    }
128    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
129        self as &mut dyn (::std::any::Any)
130    }
131    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
132        self
133    }
134
135    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
136        Self::descriptor_static()
137    }
138
139    fn new() -> SummaryDescription {
140        SummaryDescription::new()
141    }
142
143    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
144        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
145        descriptor.get(|| {
146            let mut fields = ::std::vec::Vec::new();
147            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
148                "type_hint",
149                |m: &SummaryDescription| { &m.type_hint },
150                |m: &mut SummaryDescription| { &mut m.type_hint },
151            ));
152            ::protobuf::reflect::MessageDescriptor::new_pb_name::<SummaryDescription>(
153                "SummaryDescription",
154                fields,
155                file_descriptor_proto()
156            )
157        })
158    }
159
160    fn default_instance() -> &'static SummaryDescription {
161        static instance: ::protobuf::rt::LazyV2<SummaryDescription> = ::protobuf::rt::LazyV2::INIT;
162        instance.get(SummaryDescription::new)
163    }
164}
165
166impl ::protobuf::Clear for SummaryDescription {
167    fn clear(&mut self) {
168        self.type_hint.clear();
169        self.unknown_fields.clear();
170    }
171}
172
173impl ::std::fmt::Debug for SummaryDescription {
174    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
175        ::protobuf::text_format::fmt(self, f)
176    }
177}
178
179impl ::protobuf::reflect::ProtobufValue for SummaryDescription {
180    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
181        ::protobuf::reflect::ReflectValueRef::Message(self)
182    }
183}
184
185#[derive(PartialEq,Clone,Default)]
186pub struct HistogramProto {
187    // message fields
188    pub min: f64,
189    pub max: f64,
190    pub num: f64,
191    pub sum: f64,
192    pub sum_squares: f64,
193    pub bucket_limit: ::std::vec::Vec<f64>,
194    pub bucket: ::std::vec::Vec<f64>,
195    // special fields
196    pub unknown_fields: ::protobuf::UnknownFields,
197    pub cached_size: ::protobuf::CachedSize,
198}
199
200impl<'a> ::std::default::Default for &'a HistogramProto {
201    fn default() -> &'a HistogramProto {
202        <HistogramProto as ::protobuf::Message>::default_instance()
203    }
204}
205
206impl HistogramProto {
207    pub fn new() -> HistogramProto {
208        ::std::default::Default::default()
209    }
210
211    // double min = 1;
212
213
214    pub fn get_min(&self) -> f64 {
215        self.min
216    }
217    pub fn clear_min(&mut self) {
218        self.min = 0.;
219    }
220
221    // Param is passed by value, moved
222    pub fn set_min(&mut self, v: f64) {
223        self.min = v;
224    }
225
226    // double max = 2;
227
228
229    pub fn get_max(&self) -> f64 {
230        self.max
231    }
232    pub fn clear_max(&mut self) {
233        self.max = 0.;
234    }
235
236    // Param is passed by value, moved
237    pub fn set_max(&mut self, v: f64) {
238        self.max = v;
239    }
240
241    // double num = 3;
242
243
244    pub fn get_num(&self) -> f64 {
245        self.num
246    }
247    pub fn clear_num(&mut self) {
248        self.num = 0.;
249    }
250
251    // Param is passed by value, moved
252    pub fn set_num(&mut self, v: f64) {
253        self.num = v;
254    }
255
256    // double sum = 4;
257
258
259    pub fn get_sum(&self) -> f64 {
260        self.sum
261    }
262    pub fn clear_sum(&mut self) {
263        self.sum = 0.;
264    }
265
266    // Param is passed by value, moved
267    pub fn set_sum(&mut self, v: f64) {
268        self.sum = v;
269    }
270
271    // double sum_squares = 5;
272
273
274    pub fn get_sum_squares(&self) -> f64 {
275        self.sum_squares
276    }
277    pub fn clear_sum_squares(&mut self) {
278        self.sum_squares = 0.;
279    }
280
281    // Param is passed by value, moved
282    pub fn set_sum_squares(&mut self, v: f64) {
283        self.sum_squares = v;
284    }
285
286    // repeated double bucket_limit = 6;
287
288
289    pub fn get_bucket_limit(&self) -> &[f64] {
290        &self.bucket_limit
291    }
292    pub fn clear_bucket_limit(&mut self) {
293        self.bucket_limit.clear();
294    }
295
296    // Param is passed by value, moved
297    pub fn set_bucket_limit(&mut self, v: ::std::vec::Vec<f64>) {
298        self.bucket_limit = v;
299    }
300
301    // Mutable pointer to the field.
302    pub fn mut_bucket_limit(&mut self) -> &mut ::std::vec::Vec<f64> {
303        &mut self.bucket_limit
304    }
305
306    // Take field
307    pub fn take_bucket_limit(&mut self) -> ::std::vec::Vec<f64> {
308        ::std::mem::replace(&mut self.bucket_limit, ::std::vec::Vec::new())
309    }
310
311    // repeated double bucket = 7;
312
313
314    pub fn get_bucket(&self) -> &[f64] {
315        &self.bucket
316    }
317    pub fn clear_bucket(&mut self) {
318        self.bucket.clear();
319    }
320
321    // Param is passed by value, moved
322    pub fn set_bucket(&mut self, v: ::std::vec::Vec<f64>) {
323        self.bucket = v;
324    }
325
326    // Mutable pointer to the field.
327    pub fn mut_bucket(&mut self) -> &mut ::std::vec::Vec<f64> {
328        &mut self.bucket
329    }
330
331    // Take field
332    pub fn take_bucket(&mut self) -> ::std::vec::Vec<f64> {
333        ::std::mem::replace(&mut self.bucket, ::std::vec::Vec::new())
334    }
335}
336
337impl ::protobuf::Message for HistogramProto {
338    fn is_initialized(&self) -> bool {
339        true
340    }
341
342    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
343        while !is.eof()? {
344            let (field_number, wire_type) = is.read_tag_unpack()?;
345            match field_number {
346                1 => {
347                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
348                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
349                    }
350                    let tmp = is.read_double()?;
351                    self.min = tmp;
352                },
353                2 => {
354                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
355                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
356                    }
357                    let tmp = is.read_double()?;
358                    self.max = tmp;
359                },
360                3 => {
361                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
362                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
363                    }
364                    let tmp = is.read_double()?;
365                    self.num = tmp;
366                },
367                4 => {
368                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
369                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
370                    }
371                    let tmp = is.read_double()?;
372                    self.sum = tmp;
373                },
374                5 => {
375                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
376                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
377                    }
378                    let tmp = is.read_double()?;
379                    self.sum_squares = tmp;
380                },
381                6 => {
382                    ::protobuf::rt::read_repeated_double_into(wire_type, is, &mut self.bucket_limit)?;
383                },
384                7 => {
385                    ::protobuf::rt::read_repeated_double_into(wire_type, is, &mut self.bucket)?;
386                },
387                _ => {
388                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
389                },
390            };
391        }
392        ::std::result::Result::Ok(())
393    }
394
395    // Compute sizes of nested messages
396    #[allow(unused_variables)]
397    fn compute_size(&self) -> u32 {
398        let mut my_size = 0;
399        if self.min != 0. {
400            my_size += 9;
401        }
402        if self.max != 0. {
403            my_size += 9;
404        }
405        if self.num != 0. {
406            my_size += 9;
407        }
408        if self.sum != 0. {
409            my_size += 9;
410        }
411        if self.sum_squares != 0. {
412            my_size += 9;
413        }
414        if !self.bucket_limit.is_empty() {
415            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size((self.bucket_limit.len() * 8) as u32) + (self.bucket_limit.len() * 8) as u32;
416        }
417        if !self.bucket.is_empty() {
418            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size((self.bucket.len() * 8) as u32) + (self.bucket.len() * 8) as u32;
419        }
420        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
421        self.cached_size.set(my_size);
422        my_size
423    }
424
425    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
426        if self.min != 0. {
427            os.write_double(1, self.min)?;
428        }
429        if self.max != 0. {
430            os.write_double(2, self.max)?;
431        }
432        if self.num != 0. {
433            os.write_double(3, self.num)?;
434        }
435        if self.sum != 0. {
436            os.write_double(4, self.sum)?;
437        }
438        if self.sum_squares != 0. {
439            os.write_double(5, self.sum_squares)?;
440        }
441        if !self.bucket_limit.is_empty() {
442            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
443            // TODO: Data size is computed again, it should be cached
444            os.write_raw_varint32((self.bucket_limit.len() * 8) as u32)?;
445            for v in &self.bucket_limit {
446                os.write_double_no_tag(*v)?;
447            };
448        }
449        if !self.bucket.is_empty() {
450            os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
451            // TODO: Data size is computed again, it should be cached
452            os.write_raw_varint32((self.bucket.len() * 8) as u32)?;
453            for v in &self.bucket {
454                os.write_double_no_tag(*v)?;
455            };
456        }
457        os.write_unknown_fields(self.get_unknown_fields())?;
458        ::std::result::Result::Ok(())
459    }
460
461    fn get_cached_size(&self) -> u32 {
462        self.cached_size.get()
463    }
464
465    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
466        &self.unknown_fields
467    }
468
469    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
470        &mut self.unknown_fields
471    }
472
473    fn as_any(&self) -> &dyn (::std::any::Any) {
474        self as &dyn (::std::any::Any)
475    }
476    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
477        self as &mut dyn (::std::any::Any)
478    }
479    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
480        self
481    }
482
483    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
484        Self::descriptor_static()
485    }
486
487    fn new() -> HistogramProto {
488        HistogramProto::new()
489    }
490
491    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
492        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
493        descriptor.get(|| {
494            let mut fields = ::std::vec::Vec::new();
495            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
496                "min",
497                |m: &HistogramProto| { &m.min },
498                |m: &mut HistogramProto| { &mut m.min },
499            ));
500            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
501                "max",
502                |m: &HistogramProto| { &m.max },
503                |m: &mut HistogramProto| { &mut m.max },
504            ));
505            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
506                "num",
507                |m: &HistogramProto| { &m.num },
508                |m: &mut HistogramProto| { &mut m.num },
509            ));
510            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
511                "sum",
512                |m: &HistogramProto| { &m.sum },
513                |m: &mut HistogramProto| { &mut m.sum },
514            ));
515            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
516                "sum_squares",
517                |m: &HistogramProto| { &m.sum_squares },
518                |m: &mut HistogramProto| { &mut m.sum_squares },
519            ));
520            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
521                "bucket_limit",
522                |m: &HistogramProto| { &m.bucket_limit },
523                |m: &mut HistogramProto| { &mut m.bucket_limit },
524            ));
525            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
526                "bucket",
527                |m: &HistogramProto| { &m.bucket },
528                |m: &mut HistogramProto| { &mut m.bucket },
529            ));
530            ::protobuf::reflect::MessageDescriptor::new_pb_name::<HistogramProto>(
531                "HistogramProto",
532                fields,
533                file_descriptor_proto()
534            )
535        })
536    }
537
538    fn default_instance() -> &'static HistogramProto {
539        static instance: ::protobuf::rt::LazyV2<HistogramProto> = ::protobuf::rt::LazyV2::INIT;
540        instance.get(HistogramProto::new)
541    }
542}
543
544impl ::protobuf::Clear for HistogramProto {
545    fn clear(&mut self) {
546        self.min = 0.;
547        self.max = 0.;
548        self.num = 0.;
549        self.sum = 0.;
550        self.sum_squares = 0.;
551        self.bucket_limit.clear();
552        self.bucket.clear();
553        self.unknown_fields.clear();
554    }
555}
556
557impl ::std::fmt::Debug for HistogramProto {
558    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
559        ::protobuf::text_format::fmt(self, f)
560    }
561}
562
563impl ::protobuf::reflect::ProtobufValue for HistogramProto {
564    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
565        ::protobuf::reflect::ReflectValueRef::Message(self)
566    }
567}
568
569#[derive(PartialEq,Clone,Default)]
570pub struct SummaryMetadata {
571    // message fields
572    pub plugin_data: ::protobuf::SingularPtrField<SummaryMetadata_PluginData>,
573    pub display_name: ::std::string::String,
574    pub summary_description: ::std::string::String,
575    // special fields
576    pub unknown_fields: ::protobuf::UnknownFields,
577    pub cached_size: ::protobuf::CachedSize,
578}
579
580impl<'a> ::std::default::Default for &'a SummaryMetadata {
581    fn default() -> &'a SummaryMetadata {
582        <SummaryMetadata as ::protobuf::Message>::default_instance()
583    }
584}
585
586impl SummaryMetadata {
587    pub fn new() -> SummaryMetadata {
588        ::std::default::Default::default()
589    }
590
591    // .tensorboardrs.SummaryMetadata.PluginData plugin_data = 1;
592
593
594    pub fn get_plugin_data(&self) -> &SummaryMetadata_PluginData {
595        self.plugin_data.as_ref().unwrap_or_else(|| <SummaryMetadata_PluginData as ::protobuf::Message>::default_instance())
596    }
597    pub fn clear_plugin_data(&mut self) {
598        self.plugin_data.clear();
599    }
600
601    pub fn has_plugin_data(&self) -> bool {
602        self.plugin_data.is_some()
603    }
604
605    // Param is passed by value, moved
606    pub fn set_plugin_data(&mut self, v: SummaryMetadata_PluginData) {
607        self.plugin_data = ::protobuf::SingularPtrField::some(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_plugin_data(&mut self) -> &mut SummaryMetadata_PluginData {
613        if self.plugin_data.is_none() {
614            self.plugin_data.set_default();
615        }
616        self.plugin_data.as_mut().unwrap()
617    }
618
619    // Take field
620    pub fn take_plugin_data(&mut self) -> SummaryMetadata_PluginData {
621        self.plugin_data.take().unwrap_or_else(|| SummaryMetadata_PluginData::new())
622    }
623
624    // string display_name = 2;
625
626
627    pub fn get_display_name(&self) -> &str {
628        &self.display_name
629    }
630    pub fn clear_display_name(&mut self) {
631        self.display_name.clear();
632    }
633
634    // Param is passed by value, moved
635    pub fn set_display_name(&mut self, v: ::std::string::String) {
636        self.display_name = v;
637    }
638
639    // Mutable pointer to the field.
640    // If field is not initialized, it is initialized with default value first.
641    pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
642        &mut self.display_name
643    }
644
645    // Take field
646    pub fn take_display_name(&mut self) -> ::std::string::String {
647        ::std::mem::replace(&mut self.display_name, ::std::string::String::new())
648    }
649
650    // string summary_description = 3;
651
652
653    pub fn get_summary_description(&self) -> &str {
654        &self.summary_description
655    }
656    pub fn clear_summary_description(&mut self) {
657        self.summary_description.clear();
658    }
659
660    // Param is passed by value, moved
661    pub fn set_summary_description(&mut self, v: ::std::string::String) {
662        self.summary_description = v;
663    }
664
665    // Mutable pointer to the field.
666    // If field is not initialized, it is initialized with default value first.
667    pub fn mut_summary_description(&mut self) -> &mut ::std::string::String {
668        &mut self.summary_description
669    }
670
671    // Take field
672    pub fn take_summary_description(&mut self) -> ::std::string::String {
673        ::std::mem::replace(&mut self.summary_description, ::std::string::String::new())
674    }
675}
676
677impl ::protobuf::Message for SummaryMetadata {
678    fn is_initialized(&self) -> bool {
679        for v in &self.plugin_data {
680            if !v.is_initialized() {
681                return false;
682            }
683        };
684        true
685    }
686
687    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
688        while !is.eof()? {
689            let (field_number, wire_type) = is.read_tag_unpack()?;
690            match field_number {
691                1 => {
692                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.plugin_data)?;
693                },
694                2 => {
695                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
696                },
697                3 => {
698                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.summary_description)?;
699                },
700                _ => {
701                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
702                },
703            };
704        }
705        ::std::result::Result::Ok(())
706    }
707
708    // Compute sizes of nested messages
709    #[allow(unused_variables)]
710    fn compute_size(&self) -> u32 {
711        let mut my_size = 0;
712        if let Some(ref v) = self.plugin_data.as_ref() {
713            let len = v.compute_size();
714            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
715        }
716        if !self.display_name.is_empty() {
717            my_size += ::protobuf::rt::string_size(2, &self.display_name);
718        }
719        if !self.summary_description.is_empty() {
720            my_size += ::protobuf::rt::string_size(3, &self.summary_description);
721        }
722        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
723        self.cached_size.set(my_size);
724        my_size
725    }
726
727    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
728        if let Some(ref v) = self.plugin_data.as_ref() {
729            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
730            os.write_raw_varint32(v.get_cached_size())?;
731            v.write_to_with_cached_sizes(os)?;
732        }
733        if !self.display_name.is_empty() {
734            os.write_string(2, &self.display_name)?;
735        }
736        if !self.summary_description.is_empty() {
737            os.write_string(3, &self.summary_description)?;
738        }
739        os.write_unknown_fields(self.get_unknown_fields())?;
740        ::std::result::Result::Ok(())
741    }
742
743    fn get_cached_size(&self) -> u32 {
744        self.cached_size.get()
745    }
746
747    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
748        &self.unknown_fields
749    }
750
751    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
752        &mut self.unknown_fields
753    }
754
755    fn as_any(&self) -> &dyn (::std::any::Any) {
756        self as &dyn (::std::any::Any)
757    }
758    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
759        self as &mut dyn (::std::any::Any)
760    }
761    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
762        self
763    }
764
765    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
766        Self::descriptor_static()
767    }
768
769    fn new() -> SummaryMetadata {
770        SummaryMetadata::new()
771    }
772
773    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
774        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
775        descriptor.get(|| {
776            let mut fields = ::std::vec::Vec::new();
777            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<SummaryMetadata_PluginData>>(
778                "plugin_data",
779                |m: &SummaryMetadata| { &m.plugin_data },
780                |m: &mut SummaryMetadata| { &mut m.plugin_data },
781            ));
782            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
783                "display_name",
784                |m: &SummaryMetadata| { &m.display_name },
785                |m: &mut SummaryMetadata| { &mut m.display_name },
786            ));
787            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
788                "summary_description",
789                |m: &SummaryMetadata| { &m.summary_description },
790                |m: &mut SummaryMetadata| { &mut m.summary_description },
791            ));
792            ::protobuf::reflect::MessageDescriptor::new_pb_name::<SummaryMetadata>(
793                "SummaryMetadata",
794                fields,
795                file_descriptor_proto()
796            )
797        })
798    }
799
800    fn default_instance() -> &'static SummaryMetadata {
801        static instance: ::protobuf::rt::LazyV2<SummaryMetadata> = ::protobuf::rt::LazyV2::INIT;
802        instance.get(SummaryMetadata::new)
803    }
804}
805
806impl ::protobuf::Clear for SummaryMetadata {
807    fn clear(&mut self) {
808        self.plugin_data.clear();
809        self.display_name.clear();
810        self.summary_description.clear();
811        self.unknown_fields.clear();
812    }
813}
814
815impl ::std::fmt::Debug for SummaryMetadata {
816    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
817        ::protobuf::text_format::fmt(self, f)
818    }
819}
820
821impl ::protobuf::reflect::ProtobufValue for SummaryMetadata {
822    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
823        ::protobuf::reflect::ReflectValueRef::Message(self)
824    }
825}
826
827#[derive(PartialEq,Clone,Default)]
828pub struct SummaryMetadata_PluginData {
829    // message fields
830    pub plugin_name: ::std::string::String,
831    pub content: ::std::vec::Vec<u8>,
832    // special fields
833    pub unknown_fields: ::protobuf::UnknownFields,
834    pub cached_size: ::protobuf::CachedSize,
835}
836
837impl<'a> ::std::default::Default for &'a SummaryMetadata_PluginData {
838    fn default() -> &'a SummaryMetadata_PluginData {
839        <SummaryMetadata_PluginData as ::protobuf::Message>::default_instance()
840    }
841}
842
843impl SummaryMetadata_PluginData {
844    pub fn new() -> SummaryMetadata_PluginData {
845        ::std::default::Default::default()
846    }
847
848    // string plugin_name = 1;
849
850
851    pub fn get_plugin_name(&self) -> &str {
852        &self.plugin_name
853    }
854    pub fn clear_plugin_name(&mut self) {
855        self.plugin_name.clear();
856    }
857
858    // Param is passed by value, moved
859    pub fn set_plugin_name(&mut self, v: ::std::string::String) {
860        self.plugin_name = v;
861    }
862
863    // Mutable pointer to the field.
864    // If field is not initialized, it is initialized with default value first.
865    pub fn mut_plugin_name(&mut self) -> &mut ::std::string::String {
866        &mut self.plugin_name
867    }
868
869    // Take field
870    pub fn take_plugin_name(&mut self) -> ::std::string::String {
871        ::std::mem::replace(&mut self.plugin_name, ::std::string::String::new())
872    }
873
874    // bytes content = 2;
875
876
877    pub fn get_content(&self) -> &[u8] {
878        &self.content
879    }
880    pub fn clear_content(&mut self) {
881        self.content.clear();
882    }
883
884    // Param is passed by value, moved
885    pub fn set_content(&mut self, v: ::std::vec::Vec<u8>) {
886        self.content = v;
887    }
888
889    // Mutable pointer to the field.
890    // If field is not initialized, it is initialized with default value first.
891    pub fn mut_content(&mut self) -> &mut ::std::vec::Vec<u8> {
892        &mut self.content
893    }
894
895    // Take field
896    pub fn take_content(&mut self) -> ::std::vec::Vec<u8> {
897        ::std::mem::replace(&mut self.content, ::std::vec::Vec::new())
898    }
899}
900
901impl ::protobuf::Message for SummaryMetadata_PluginData {
902    fn is_initialized(&self) -> bool {
903        true
904    }
905
906    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
907        while !is.eof()? {
908            let (field_number, wire_type) = is.read_tag_unpack()?;
909            match field_number {
910                1 => {
911                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.plugin_name)?;
912                },
913                2 => {
914                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.content)?;
915                },
916                _ => {
917                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
918                },
919            };
920        }
921        ::std::result::Result::Ok(())
922    }
923
924    // Compute sizes of nested messages
925    #[allow(unused_variables)]
926    fn compute_size(&self) -> u32 {
927        let mut my_size = 0;
928        if !self.plugin_name.is_empty() {
929            my_size += ::protobuf::rt::string_size(1, &self.plugin_name);
930        }
931        if !self.content.is_empty() {
932            my_size += ::protobuf::rt::bytes_size(2, &self.content);
933        }
934        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
935        self.cached_size.set(my_size);
936        my_size
937    }
938
939    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
940        if !self.plugin_name.is_empty() {
941            os.write_string(1, &self.plugin_name)?;
942        }
943        if !self.content.is_empty() {
944            os.write_bytes(2, &self.content)?;
945        }
946        os.write_unknown_fields(self.get_unknown_fields())?;
947        ::std::result::Result::Ok(())
948    }
949
950    fn get_cached_size(&self) -> u32 {
951        self.cached_size.get()
952    }
953
954    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
955        &self.unknown_fields
956    }
957
958    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
959        &mut self.unknown_fields
960    }
961
962    fn as_any(&self) -> &dyn (::std::any::Any) {
963        self as &dyn (::std::any::Any)
964    }
965    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
966        self as &mut dyn (::std::any::Any)
967    }
968    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
969        self
970    }
971
972    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
973        Self::descriptor_static()
974    }
975
976    fn new() -> SummaryMetadata_PluginData {
977        SummaryMetadata_PluginData::new()
978    }
979
980    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
981        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
982        descriptor.get(|| {
983            let mut fields = ::std::vec::Vec::new();
984            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
985                "plugin_name",
986                |m: &SummaryMetadata_PluginData| { &m.plugin_name },
987                |m: &mut SummaryMetadata_PluginData| { &mut m.plugin_name },
988            ));
989            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
990                "content",
991                |m: &SummaryMetadata_PluginData| { &m.content },
992                |m: &mut SummaryMetadata_PluginData| { &mut m.content },
993            ));
994            ::protobuf::reflect::MessageDescriptor::new_pb_name::<SummaryMetadata_PluginData>(
995                "SummaryMetadata.PluginData",
996                fields,
997                file_descriptor_proto()
998            )
999        })
1000    }
1001
1002    fn default_instance() -> &'static SummaryMetadata_PluginData {
1003        static instance: ::protobuf::rt::LazyV2<SummaryMetadata_PluginData> = ::protobuf::rt::LazyV2::INIT;
1004        instance.get(SummaryMetadata_PluginData::new)
1005    }
1006}
1007
1008impl ::protobuf::Clear for SummaryMetadata_PluginData {
1009    fn clear(&mut self) {
1010        self.plugin_name.clear();
1011        self.content.clear();
1012        self.unknown_fields.clear();
1013    }
1014}
1015
1016impl ::std::fmt::Debug for SummaryMetadata_PluginData {
1017    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1018        ::protobuf::text_format::fmt(self, f)
1019    }
1020}
1021
1022impl ::protobuf::reflect::ProtobufValue for SummaryMetadata_PluginData {
1023    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1024        ::protobuf::reflect::ReflectValueRef::Message(self)
1025    }
1026}
1027
1028#[derive(PartialEq,Clone,Default)]
1029pub struct Summary {
1030    // message fields
1031    pub value: ::protobuf::RepeatedField<Summary_Value>,
1032    // special fields
1033    pub unknown_fields: ::protobuf::UnknownFields,
1034    pub cached_size: ::protobuf::CachedSize,
1035}
1036
1037impl<'a> ::std::default::Default for &'a Summary {
1038    fn default() -> &'a Summary {
1039        <Summary as ::protobuf::Message>::default_instance()
1040    }
1041}
1042
1043impl Summary {
1044    pub fn new() -> Summary {
1045        ::std::default::Default::default()
1046    }
1047
1048    // repeated .tensorboardrs.Summary.Value value = 1;
1049
1050
1051    pub fn get_value(&self) -> &[Summary_Value] {
1052        &self.value
1053    }
1054    pub fn clear_value(&mut self) {
1055        self.value.clear();
1056    }
1057
1058    // Param is passed by value, moved
1059    pub fn set_value(&mut self, v: ::protobuf::RepeatedField<Summary_Value>) {
1060        self.value = v;
1061    }
1062
1063    // Mutable pointer to the field.
1064    pub fn mut_value(&mut self) -> &mut ::protobuf::RepeatedField<Summary_Value> {
1065        &mut self.value
1066    }
1067
1068    // Take field
1069    pub fn take_value(&mut self) -> ::protobuf::RepeatedField<Summary_Value> {
1070        ::std::mem::replace(&mut self.value, ::protobuf::RepeatedField::new())
1071    }
1072}
1073
1074impl ::protobuf::Message for Summary {
1075    fn is_initialized(&self) -> bool {
1076        for v in &self.value {
1077            if !v.is_initialized() {
1078                return false;
1079            }
1080        };
1081        true
1082    }
1083
1084    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1085        while !is.eof()? {
1086            let (field_number, wire_type) = is.read_tag_unpack()?;
1087            match field_number {
1088                1 => {
1089                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.value)?;
1090                },
1091                _ => {
1092                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1093                },
1094            };
1095        }
1096        ::std::result::Result::Ok(())
1097    }
1098
1099    // Compute sizes of nested messages
1100    #[allow(unused_variables)]
1101    fn compute_size(&self) -> u32 {
1102        let mut my_size = 0;
1103        for value in &self.value {
1104            let len = value.compute_size();
1105            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1106        };
1107        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1108        self.cached_size.set(my_size);
1109        my_size
1110    }
1111
1112    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1113        for v in &self.value {
1114            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1115            os.write_raw_varint32(v.get_cached_size())?;
1116            v.write_to_with_cached_sizes(os)?;
1117        };
1118        os.write_unknown_fields(self.get_unknown_fields())?;
1119        ::std::result::Result::Ok(())
1120    }
1121
1122    fn get_cached_size(&self) -> u32 {
1123        self.cached_size.get()
1124    }
1125
1126    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1127        &self.unknown_fields
1128    }
1129
1130    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1131        &mut self.unknown_fields
1132    }
1133
1134    fn as_any(&self) -> &dyn (::std::any::Any) {
1135        self as &dyn (::std::any::Any)
1136    }
1137    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1138        self as &mut dyn (::std::any::Any)
1139    }
1140    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1141        self
1142    }
1143
1144    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1145        Self::descriptor_static()
1146    }
1147
1148    fn new() -> Summary {
1149        Summary::new()
1150    }
1151
1152    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1153        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1154        descriptor.get(|| {
1155            let mut fields = ::std::vec::Vec::new();
1156            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Summary_Value>>(
1157                "value",
1158                |m: &Summary| { &m.value },
1159                |m: &mut Summary| { &mut m.value },
1160            ));
1161            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Summary>(
1162                "Summary",
1163                fields,
1164                file_descriptor_proto()
1165            )
1166        })
1167    }
1168
1169    fn default_instance() -> &'static Summary {
1170        static instance: ::protobuf::rt::LazyV2<Summary> = ::protobuf::rt::LazyV2::INIT;
1171        instance.get(Summary::new)
1172    }
1173}
1174
1175impl ::protobuf::Clear for Summary {
1176    fn clear(&mut self) {
1177        self.value.clear();
1178        self.unknown_fields.clear();
1179    }
1180}
1181
1182impl ::std::fmt::Debug for Summary {
1183    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1184        ::protobuf::text_format::fmt(self, f)
1185    }
1186}
1187
1188impl ::protobuf::reflect::ProtobufValue for Summary {
1189    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1190        ::protobuf::reflect::ReflectValueRef::Message(self)
1191    }
1192}
1193
1194#[derive(PartialEq,Clone,Default)]
1195pub struct Summary_Image {
1196    // message fields
1197    pub height: i32,
1198    pub width: i32,
1199    pub colorspace: i32,
1200    pub encoded_image_string: ::std::vec::Vec<u8>,
1201    // special fields
1202    pub unknown_fields: ::protobuf::UnknownFields,
1203    pub cached_size: ::protobuf::CachedSize,
1204}
1205
1206impl<'a> ::std::default::Default for &'a Summary_Image {
1207    fn default() -> &'a Summary_Image {
1208        <Summary_Image as ::protobuf::Message>::default_instance()
1209    }
1210}
1211
1212impl Summary_Image {
1213    pub fn new() -> Summary_Image {
1214        ::std::default::Default::default()
1215    }
1216
1217    // int32 height = 1;
1218
1219
1220    pub fn get_height(&self) -> i32 {
1221        self.height
1222    }
1223    pub fn clear_height(&mut self) {
1224        self.height = 0;
1225    }
1226
1227    // Param is passed by value, moved
1228    pub fn set_height(&mut self, v: i32) {
1229        self.height = v;
1230    }
1231
1232    // int32 width = 2;
1233
1234
1235    pub fn get_width(&self) -> i32 {
1236        self.width
1237    }
1238    pub fn clear_width(&mut self) {
1239        self.width = 0;
1240    }
1241
1242    // Param is passed by value, moved
1243    pub fn set_width(&mut self, v: i32) {
1244        self.width = v;
1245    }
1246
1247    // int32 colorspace = 3;
1248
1249
1250    pub fn get_colorspace(&self) -> i32 {
1251        self.colorspace
1252    }
1253    pub fn clear_colorspace(&mut self) {
1254        self.colorspace = 0;
1255    }
1256
1257    // Param is passed by value, moved
1258    pub fn set_colorspace(&mut self, v: i32) {
1259        self.colorspace = v;
1260    }
1261
1262    // bytes encoded_image_string = 4;
1263
1264
1265    pub fn get_encoded_image_string(&self) -> &[u8] {
1266        &self.encoded_image_string
1267    }
1268    pub fn clear_encoded_image_string(&mut self) {
1269        self.encoded_image_string.clear();
1270    }
1271
1272    // Param is passed by value, moved
1273    pub fn set_encoded_image_string(&mut self, v: ::std::vec::Vec<u8>) {
1274        self.encoded_image_string = v;
1275    }
1276
1277    // Mutable pointer to the field.
1278    // If field is not initialized, it is initialized with default value first.
1279    pub fn mut_encoded_image_string(&mut self) -> &mut ::std::vec::Vec<u8> {
1280        &mut self.encoded_image_string
1281    }
1282
1283    // Take field
1284    pub fn take_encoded_image_string(&mut self) -> ::std::vec::Vec<u8> {
1285        ::std::mem::replace(&mut self.encoded_image_string, ::std::vec::Vec::new())
1286    }
1287}
1288
1289impl ::protobuf::Message for Summary_Image {
1290    fn is_initialized(&self) -> bool {
1291        true
1292    }
1293
1294    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1295        while !is.eof()? {
1296            let (field_number, wire_type) = is.read_tag_unpack()?;
1297            match field_number {
1298                1 => {
1299                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1300                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1301                    }
1302                    let tmp = is.read_int32()?;
1303                    self.height = tmp;
1304                },
1305                2 => {
1306                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1307                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1308                    }
1309                    let tmp = is.read_int32()?;
1310                    self.width = tmp;
1311                },
1312                3 => {
1313                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1314                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1315                    }
1316                    let tmp = is.read_int32()?;
1317                    self.colorspace = tmp;
1318                },
1319                4 => {
1320                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.encoded_image_string)?;
1321                },
1322                _ => {
1323                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1324                },
1325            };
1326        }
1327        ::std::result::Result::Ok(())
1328    }
1329
1330    // Compute sizes of nested messages
1331    #[allow(unused_variables)]
1332    fn compute_size(&self) -> u32 {
1333        let mut my_size = 0;
1334        if self.height != 0 {
1335            my_size += ::protobuf::rt::value_size(1, self.height, ::protobuf::wire_format::WireTypeVarint);
1336        }
1337        if self.width != 0 {
1338            my_size += ::protobuf::rt::value_size(2, self.width, ::protobuf::wire_format::WireTypeVarint);
1339        }
1340        if self.colorspace != 0 {
1341            my_size += ::protobuf::rt::value_size(3, self.colorspace, ::protobuf::wire_format::WireTypeVarint);
1342        }
1343        if !self.encoded_image_string.is_empty() {
1344            my_size += ::protobuf::rt::bytes_size(4, &self.encoded_image_string);
1345        }
1346        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1347        self.cached_size.set(my_size);
1348        my_size
1349    }
1350
1351    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1352        if self.height != 0 {
1353            os.write_int32(1, self.height)?;
1354        }
1355        if self.width != 0 {
1356            os.write_int32(2, self.width)?;
1357        }
1358        if self.colorspace != 0 {
1359            os.write_int32(3, self.colorspace)?;
1360        }
1361        if !self.encoded_image_string.is_empty() {
1362            os.write_bytes(4, &self.encoded_image_string)?;
1363        }
1364        os.write_unknown_fields(self.get_unknown_fields())?;
1365        ::std::result::Result::Ok(())
1366    }
1367
1368    fn get_cached_size(&self) -> u32 {
1369        self.cached_size.get()
1370    }
1371
1372    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1373        &self.unknown_fields
1374    }
1375
1376    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1377        &mut self.unknown_fields
1378    }
1379
1380    fn as_any(&self) -> &dyn (::std::any::Any) {
1381        self as &dyn (::std::any::Any)
1382    }
1383    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1384        self as &mut dyn (::std::any::Any)
1385    }
1386    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1387        self
1388    }
1389
1390    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1391        Self::descriptor_static()
1392    }
1393
1394    fn new() -> Summary_Image {
1395        Summary_Image::new()
1396    }
1397
1398    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1399        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1400        descriptor.get(|| {
1401            let mut fields = ::std::vec::Vec::new();
1402            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1403                "height",
1404                |m: &Summary_Image| { &m.height },
1405                |m: &mut Summary_Image| { &mut m.height },
1406            ));
1407            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1408                "width",
1409                |m: &Summary_Image| { &m.width },
1410                |m: &mut Summary_Image| { &mut m.width },
1411            ));
1412            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1413                "colorspace",
1414                |m: &Summary_Image| { &m.colorspace },
1415                |m: &mut Summary_Image| { &mut m.colorspace },
1416            ));
1417            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1418                "encoded_image_string",
1419                |m: &Summary_Image| { &m.encoded_image_string },
1420                |m: &mut Summary_Image| { &mut m.encoded_image_string },
1421            ));
1422            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Summary_Image>(
1423                "Summary.Image",
1424                fields,
1425                file_descriptor_proto()
1426            )
1427        })
1428    }
1429
1430    fn default_instance() -> &'static Summary_Image {
1431        static instance: ::protobuf::rt::LazyV2<Summary_Image> = ::protobuf::rt::LazyV2::INIT;
1432        instance.get(Summary_Image::new)
1433    }
1434}
1435
1436impl ::protobuf::Clear for Summary_Image {
1437    fn clear(&mut self) {
1438        self.height = 0;
1439        self.width = 0;
1440        self.colorspace = 0;
1441        self.encoded_image_string.clear();
1442        self.unknown_fields.clear();
1443    }
1444}
1445
1446impl ::std::fmt::Debug for Summary_Image {
1447    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1448        ::protobuf::text_format::fmt(self, f)
1449    }
1450}
1451
1452impl ::protobuf::reflect::ProtobufValue for Summary_Image {
1453    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1454        ::protobuf::reflect::ReflectValueRef::Message(self)
1455    }
1456}
1457
1458#[derive(PartialEq,Clone,Default)]
1459pub struct Summary_Audio {
1460    // message fields
1461    pub sample_rate: f32,
1462    pub num_channels: i64,
1463    pub length_frames: i64,
1464    pub encoded_audio_string: ::std::vec::Vec<u8>,
1465    pub content_type: ::std::string::String,
1466    // special fields
1467    pub unknown_fields: ::protobuf::UnknownFields,
1468    pub cached_size: ::protobuf::CachedSize,
1469}
1470
1471impl<'a> ::std::default::Default for &'a Summary_Audio {
1472    fn default() -> &'a Summary_Audio {
1473        <Summary_Audio as ::protobuf::Message>::default_instance()
1474    }
1475}
1476
1477impl Summary_Audio {
1478    pub fn new() -> Summary_Audio {
1479        ::std::default::Default::default()
1480    }
1481
1482    // float sample_rate = 1;
1483
1484
1485    pub fn get_sample_rate(&self) -> f32 {
1486        self.sample_rate
1487    }
1488    pub fn clear_sample_rate(&mut self) {
1489        self.sample_rate = 0.;
1490    }
1491
1492    // Param is passed by value, moved
1493    pub fn set_sample_rate(&mut self, v: f32) {
1494        self.sample_rate = v;
1495    }
1496
1497    // int64 num_channels = 2;
1498
1499
1500    pub fn get_num_channels(&self) -> i64 {
1501        self.num_channels
1502    }
1503    pub fn clear_num_channels(&mut self) {
1504        self.num_channels = 0;
1505    }
1506
1507    // Param is passed by value, moved
1508    pub fn set_num_channels(&mut self, v: i64) {
1509        self.num_channels = v;
1510    }
1511
1512    // int64 length_frames = 3;
1513
1514
1515    pub fn get_length_frames(&self) -> i64 {
1516        self.length_frames
1517    }
1518    pub fn clear_length_frames(&mut self) {
1519        self.length_frames = 0;
1520    }
1521
1522    // Param is passed by value, moved
1523    pub fn set_length_frames(&mut self, v: i64) {
1524        self.length_frames = v;
1525    }
1526
1527    // bytes encoded_audio_string = 4;
1528
1529
1530    pub fn get_encoded_audio_string(&self) -> &[u8] {
1531        &self.encoded_audio_string
1532    }
1533    pub fn clear_encoded_audio_string(&mut self) {
1534        self.encoded_audio_string.clear();
1535    }
1536
1537    // Param is passed by value, moved
1538    pub fn set_encoded_audio_string(&mut self, v: ::std::vec::Vec<u8>) {
1539        self.encoded_audio_string = v;
1540    }
1541
1542    // Mutable pointer to the field.
1543    // If field is not initialized, it is initialized with default value first.
1544    pub fn mut_encoded_audio_string(&mut self) -> &mut ::std::vec::Vec<u8> {
1545        &mut self.encoded_audio_string
1546    }
1547
1548    // Take field
1549    pub fn take_encoded_audio_string(&mut self) -> ::std::vec::Vec<u8> {
1550        ::std::mem::replace(&mut self.encoded_audio_string, ::std::vec::Vec::new())
1551    }
1552
1553    // string content_type = 5;
1554
1555
1556    pub fn get_content_type(&self) -> &str {
1557        &self.content_type
1558    }
1559    pub fn clear_content_type(&mut self) {
1560        self.content_type.clear();
1561    }
1562
1563    // Param is passed by value, moved
1564    pub fn set_content_type(&mut self, v: ::std::string::String) {
1565        self.content_type = v;
1566    }
1567
1568    // Mutable pointer to the field.
1569    // If field is not initialized, it is initialized with default value first.
1570    pub fn mut_content_type(&mut self) -> &mut ::std::string::String {
1571        &mut self.content_type
1572    }
1573
1574    // Take field
1575    pub fn take_content_type(&mut self) -> ::std::string::String {
1576        ::std::mem::replace(&mut self.content_type, ::std::string::String::new())
1577    }
1578}
1579
1580impl ::protobuf::Message for Summary_Audio {
1581    fn is_initialized(&self) -> bool {
1582        true
1583    }
1584
1585    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1586        while !is.eof()? {
1587            let (field_number, wire_type) = is.read_tag_unpack()?;
1588            match field_number {
1589                1 => {
1590                    if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
1591                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1592                    }
1593                    let tmp = is.read_float()?;
1594                    self.sample_rate = tmp;
1595                },
1596                2 => {
1597                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1598                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1599                    }
1600                    let tmp = is.read_int64()?;
1601                    self.num_channels = tmp;
1602                },
1603                3 => {
1604                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1605                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1606                    }
1607                    let tmp = is.read_int64()?;
1608                    self.length_frames = tmp;
1609                },
1610                4 => {
1611                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.encoded_audio_string)?;
1612                },
1613                5 => {
1614                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.content_type)?;
1615                },
1616                _ => {
1617                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1618                },
1619            };
1620        }
1621        ::std::result::Result::Ok(())
1622    }
1623
1624    // Compute sizes of nested messages
1625    #[allow(unused_variables)]
1626    fn compute_size(&self) -> u32 {
1627        let mut my_size = 0;
1628        if self.sample_rate != 0. {
1629            my_size += 5;
1630        }
1631        if self.num_channels != 0 {
1632            my_size += ::protobuf::rt::value_size(2, self.num_channels, ::protobuf::wire_format::WireTypeVarint);
1633        }
1634        if self.length_frames != 0 {
1635            my_size += ::protobuf::rt::value_size(3, self.length_frames, ::protobuf::wire_format::WireTypeVarint);
1636        }
1637        if !self.encoded_audio_string.is_empty() {
1638            my_size += ::protobuf::rt::bytes_size(4, &self.encoded_audio_string);
1639        }
1640        if !self.content_type.is_empty() {
1641            my_size += ::protobuf::rt::string_size(5, &self.content_type);
1642        }
1643        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1644        self.cached_size.set(my_size);
1645        my_size
1646    }
1647
1648    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1649        if self.sample_rate != 0. {
1650            os.write_float(1, self.sample_rate)?;
1651        }
1652        if self.num_channels != 0 {
1653            os.write_int64(2, self.num_channels)?;
1654        }
1655        if self.length_frames != 0 {
1656            os.write_int64(3, self.length_frames)?;
1657        }
1658        if !self.encoded_audio_string.is_empty() {
1659            os.write_bytes(4, &self.encoded_audio_string)?;
1660        }
1661        if !self.content_type.is_empty() {
1662            os.write_string(5, &self.content_type)?;
1663        }
1664        os.write_unknown_fields(self.get_unknown_fields())?;
1665        ::std::result::Result::Ok(())
1666    }
1667
1668    fn get_cached_size(&self) -> u32 {
1669        self.cached_size.get()
1670    }
1671
1672    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1673        &self.unknown_fields
1674    }
1675
1676    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1677        &mut self.unknown_fields
1678    }
1679
1680    fn as_any(&self) -> &dyn (::std::any::Any) {
1681        self as &dyn (::std::any::Any)
1682    }
1683    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1684        self as &mut dyn (::std::any::Any)
1685    }
1686    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1687        self
1688    }
1689
1690    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1691        Self::descriptor_static()
1692    }
1693
1694    fn new() -> Summary_Audio {
1695        Summary_Audio::new()
1696    }
1697
1698    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1699        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1700        descriptor.get(|| {
1701            let mut fields = ::std::vec::Vec::new();
1702            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
1703                "sample_rate",
1704                |m: &Summary_Audio| { &m.sample_rate },
1705                |m: &mut Summary_Audio| { &mut m.sample_rate },
1706            ));
1707            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1708                "num_channels",
1709                |m: &Summary_Audio| { &m.num_channels },
1710                |m: &mut Summary_Audio| { &mut m.num_channels },
1711            ));
1712            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1713                "length_frames",
1714                |m: &Summary_Audio| { &m.length_frames },
1715                |m: &mut Summary_Audio| { &mut m.length_frames },
1716            ));
1717            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1718                "encoded_audio_string",
1719                |m: &Summary_Audio| { &m.encoded_audio_string },
1720                |m: &mut Summary_Audio| { &mut m.encoded_audio_string },
1721            ));
1722            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1723                "content_type",
1724                |m: &Summary_Audio| { &m.content_type },
1725                |m: &mut Summary_Audio| { &mut m.content_type },
1726            ));
1727            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Summary_Audio>(
1728                "Summary.Audio",
1729                fields,
1730                file_descriptor_proto()
1731            )
1732        })
1733    }
1734
1735    fn default_instance() -> &'static Summary_Audio {
1736        static instance: ::protobuf::rt::LazyV2<Summary_Audio> = ::protobuf::rt::LazyV2::INIT;
1737        instance.get(Summary_Audio::new)
1738    }
1739}
1740
1741impl ::protobuf::Clear for Summary_Audio {
1742    fn clear(&mut self) {
1743        self.sample_rate = 0.;
1744        self.num_channels = 0;
1745        self.length_frames = 0;
1746        self.encoded_audio_string.clear();
1747        self.content_type.clear();
1748        self.unknown_fields.clear();
1749    }
1750}
1751
1752impl ::std::fmt::Debug for Summary_Audio {
1753    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1754        ::protobuf::text_format::fmt(self, f)
1755    }
1756}
1757
1758impl ::protobuf::reflect::ProtobufValue for Summary_Audio {
1759    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1760        ::protobuf::reflect::ReflectValueRef::Message(self)
1761    }
1762}
1763
1764#[derive(PartialEq,Clone,Default)]
1765pub struct Summary_Value {
1766    // message fields
1767    pub node_name: ::std::string::String,
1768    pub tag: ::std::string::String,
1769    pub metadata: ::protobuf::SingularPtrField<SummaryMetadata>,
1770    // message oneof groups
1771    pub value: ::std::option::Option<Summary_Value_oneof_value>,
1772    // special fields
1773    pub unknown_fields: ::protobuf::UnknownFields,
1774    pub cached_size: ::protobuf::CachedSize,
1775}
1776
1777impl<'a> ::std::default::Default for &'a Summary_Value {
1778    fn default() -> &'a Summary_Value {
1779        <Summary_Value as ::protobuf::Message>::default_instance()
1780    }
1781}
1782
1783#[derive(Clone,PartialEq,Debug)]
1784pub enum Summary_Value_oneof_value {
1785    simple_value(f32),
1786    obsolete_old_style_histogram(::std::vec::Vec<u8>),
1787    image(Summary_Image),
1788    histo(HistogramProto),
1789    audio(Summary_Audio),
1790    tensor(super::tensor::TensorProto),
1791}
1792
1793impl Summary_Value {
1794    pub fn new() -> Summary_Value {
1795        ::std::default::Default::default()
1796    }
1797
1798    // string node_name = 7;
1799
1800
1801    pub fn get_node_name(&self) -> &str {
1802        &self.node_name
1803    }
1804    pub fn clear_node_name(&mut self) {
1805        self.node_name.clear();
1806    }
1807
1808    // Param is passed by value, moved
1809    pub fn set_node_name(&mut self, v: ::std::string::String) {
1810        self.node_name = v;
1811    }
1812
1813    // Mutable pointer to the field.
1814    // If field is not initialized, it is initialized with default value first.
1815    pub fn mut_node_name(&mut self) -> &mut ::std::string::String {
1816        &mut self.node_name
1817    }
1818
1819    // Take field
1820    pub fn take_node_name(&mut self) -> ::std::string::String {
1821        ::std::mem::replace(&mut self.node_name, ::std::string::String::new())
1822    }
1823
1824    // string tag = 1;
1825
1826
1827    pub fn get_tag(&self) -> &str {
1828        &self.tag
1829    }
1830    pub fn clear_tag(&mut self) {
1831        self.tag.clear();
1832    }
1833
1834    // Param is passed by value, moved
1835    pub fn set_tag(&mut self, v: ::std::string::String) {
1836        self.tag = v;
1837    }
1838
1839    // Mutable pointer to the field.
1840    // If field is not initialized, it is initialized with default value first.
1841    pub fn mut_tag(&mut self) -> &mut ::std::string::String {
1842        &mut self.tag
1843    }
1844
1845    // Take field
1846    pub fn take_tag(&mut self) -> ::std::string::String {
1847        ::std::mem::replace(&mut self.tag, ::std::string::String::new())
1848    }
1849
1850    // .tensorboardrs.SummaryMetadata metadata = 9;
1851
1852
1853    pub fn get_metadata(&self) -> &SummaryMetadata {
1854        self.metadata.as_ref().unwrap_or_else(|| <SummaryMetadata as ::protobuf::Message>::default_instance())
1855    }
1856    pub fn clear_metadata(&mut self) {
1857        self.metadata.clear();
1858    }
1859
1860    pub fn has_metadata(&self) -> bool {
1861        self.metadata.is_some()
1862    }
1863
1864    // Param is passed by value, moved
1865    pub fn set_metadata(&mut self, v: SummaryMetadata) {
1866        self.metadata = ::protobuf::SingularPtrField::some(v);
1867    }
1868
1869    // Mutable pointer to the field.
1870    // If field is not initialized, it is initialized with default value first.
1871    pub fn mut_metadata(&mut self) -> &mut SummaryMetadata {
1872        if self.metadata.is_none() {
1873            self.metadata.set_default();
1874        }
1875        self.metadata.as_mut().unwrap()
1876    }
1877
1878    // Take field
1879    pub fn take_metadata(&mut self) -> SummaryMetadata {
1880        self.metadata.take().unwrap_or_else(|| SummaryMetadata::new())
1881    }
1882
1883    // float simple_value = 2;
1884
1885
1886    pub fn get_simple_value(&self) -> f32 {
1887        match self.value {
1888            ::std::option::Option::Some(Summary_Value_oneof_value::simple_value(v)) => v,
1889            _ => 0.,
1890        }
1891    }
1892    pub fn clear_simple_value(&mut self) {
1893        self.value = ::std::option::Option::None;
1894    }
1895
1896    pub fn has_simple_value(&self) -> bool {
1897        match self.value {
1898            ::std::option::Option::Some(Summary_Value_oneof_value::simple_value(..)) => true,
1899            _ => false,
1900        }
1901    }
1902
1903    // Param is passed by value, moved
1904    pub fn set_simple_value(&mut self, v: f32) {
1905        self.value = ::std::option::Option::Some(Summary_Value_oneof_value::simple_value(v))
1906    }
1907
1908    // bytes obsolete_old_style_histogram = 3;
1909
1910
1911    pub fn get_obsolete_old_style_histogram(&self) -> &[u8] {
1912        match self.value {
1913            ::std::option::Option::Some(Summary_Value_oneof_value::obsolete_old_style_histogram(ref v)) => v,
1914            _ => &[],
1915        }
1916    }
1917    pub fn clear_obsolete_old_style_histogram(&mut self) {
1918        self.value = ::std::option::Option::None;
1919    }
1920
1921    pub fn has_obsolete_old_style_histogram(&self) -> bool {
1922        match self.value {
1923            ::std::option::Option::Some(Summary_Value_oneof_value::obsolete_old_style_histogram(..)) => true,
1924            _ => false,
1925        }
1926    }
1927
1928    // Param is passed by value, moved
1929    pub fn set_obsolete_old_style_histogram(&mut self, v: ::std::vec::Vec<u8>) {
1930        self.value = ::std::option::Option::Some(Summary_Value_oneof_value::obsolete_old_style_histogram(v))
1931    }
1932
1933    // Mutable pointer to the field.
1934    pub fn mut_obsolete_old_style_histogram(&mut self) -> &mut ::std::vec::Vec<u8> {
1935        if let ::std::option::Option::Some(Summary_Value_oneof_value::obsolete_old_style_histogram(_)) = self.value {
1936        } else {
1937            self.value = ::std::option::Option::Some(Summary_Value_oneof_value::obsolete_old_style_histogram(::std::vec::Vec::new()));
1938        }
1939        match self.value {
1940            ::std::option::Option::Some(Summary_Value_oneof_value::obsolete_old_style_histogram(ref mut v)) => v,
1941            _ => panic!(),
1942        }
1943    }
1944
1945    // Take field
1946    pub fn take_obsolete_old_style_histogram(&mut self) -> ::std::vec::Vec<u8> {
1947        if self.has_obsolete_old_style_histogram() {
1948            match self.value.take() {
1949                ::std::option::Option::Some(Summary_Value_oneof_value::obsolete_old_style_histogram(v)) => v,
1950                _ => panic!(),
1951            }
1952        } else {
1953            ::std::vec::Vec::new()
1954        }
1955    }
1956
1957    // .tensorboardrs.Summary.Image image = 4;
1958
1959
1960    pub fn get_image(&self) -> &Summary_Image {
1961        match self.value {
1962            ::std::option::Option::Some(Summary_Value_oneof_value::image(ref v)) => v,
1963            _ => <Summary_Image as ::protobuf::Message>::default_instance(),
1964        }
1965    }
1966    pub fn clear_image(&mut self) {
1967        self.value = ::std::option::Option::None;
1968    }
1969
1970    pub fn has_image(&self) -> bool {
1971        match self.value {
1972            ::std::option::Option::Some(Summary_Value_oneof_value::image(..)) => true,
1973            _ => false,
1974        }
1975    }
1976
1977    // Param is passed by value, moved
1978    pub fn set_image(&mut self, v: Summary_Image) {
1979        self.value = ::std::option::Option::Some(Summary_Value_oneof_value::image(v))
1980    }
1981
1982    // Mutable pointer to the field.
1983    pub fn mut_image(&mut self) -> &mut Summary_Image {
1984        if let ::std::option::Option::Some(Summary_Value_oneof_value::image(_)) = self.value {
1985        } else {
1986            self.value = ::std::option::Option::Some(Summary_Value_oneof_value::image(Summary_Image::new()));
1987        }
1988        match self.value {
1989            ::std::option::Option::Some(Summary_Value_oneof_value::image(ref mut v)) => v,
1990            _ => panic!(),
1991        }
1992    }
1993
1994    // Take field
1995    pub fn take_image(&mut self) -> Summary_Image {
1996        if self.has_image() {
1997            match self.value.take() {
1998                ::std::option::Option::Some(Summary_Value_oneof_value::image(v)) => v,
1999                _ => panic!(),
2000            }
2001        } else {
2002            Summary_Image::new()
2003        }
2004    }
2005
2006    // .tensorboardrs.HistogramProto histo = 5;
2007
2008
2009    pub fn get_histo(&self) -> &HistogramProto {
2010        match self.value {
2011            ::std::option::Option::Some(Summary_Value_oneof_value::histo(ref v)) => v,
2012            _ => <HistogramProto as ::protobuf::Message>::default_instance(),
2013        }
2014    }
2015    pub fn clear_histo(&mut self) {
2016        self.value = ::std::option::Option::None;
2017    }
2018
2019    pub fn has_histo(&self) -> bool {
2020        match self.value {
2021            ::std::option::Option::Some(Summary_Value_oneof_value::histo(..)) => true,
2022            _ => false,
2023        }
2024    }
2025
2026    // Param is passed by value, moved
2027    pub fn set_histo(&mut self, v: HistogramProto) {
2028        self.value = ::std::option::Option::Some(Summary_Value_oneof_value::histo(v))
2029    }
2030
2031    // Mutable pointer to the field.
2032    pub fn mut_histo(&mut self) -> &mut HistogramProto {
2033        if let ::std::option::Option::Some(Summary_Value_oneof_value::histo(_)) = self.value {
2034        } else {
2035            self.value = ::std::option::Option::Some(Summary_Value_oneof_value::histo(HistogramProto::new()));
2036        }
2037        match self.value {
2038            ::std::option::Option::Some(Summary_Value_oneof_value::histo(ref mut v)) => v,
2039            _ => panic!(),
2040        }
2041    }
2042
2043    // Take field
2044    pub fn take_histo(&mut self) -> HistogramProto {
2045        if self.has_histo() {
2046            match self.value.take() {
2047                ::std::option::Option::Some(Summary_Value_oneof_value::histo(v)) => v,
2048                _ => panic!(),
2049            }
2050        } else {
2051            HistogramProto::new()
2052        }
2053    }
2054
2055    // .tensorboardrs.Summary.Audio audio = 6;
2056
2057
2058    pub fn get_audio(&self) -> &Summary_Audio {
2059        match self.value {
2060            ::std::option::Option::Some(Summary_Value_oneof_value::audio(ref v)) => v,
2061            _ => <Summary_Audio as ::protobuf::Message>::default_instance(),
2062        }
2063    }
2064    pub fn clear_audio(&mut self) {
2065        self.value = ::std::option::Option::None;
2066    }
2067
2068    pub fn has_audio(&self) -> bool {
2069        match self.value {
2070            ::std::option::Option::Some(Summary_Value_oneof_value::audio(..)) => true,
2071            _ => false,
2072        }
2073    }
2074
2075    // Param is passed by value, moved
2076    pub fn set_audio(&mut self, v: Summary_Audio) {
2077        self.value = ::std::option::Option::Some(Summary_Value_oneof_value::audio(v))
2078    }
2079
2080    // Mutable pointer to the field.
2081    pub fn mut_audio(&mut self) -> &mut Summary_Audio {
2082        if let ::std::option::Option::Some(Summary_Value_oneof_value::audio(_)) = self.value {
2083        } else {
2084            self.value = ::std::option::Option::Some(Summary_Value_oneof_value::audio(Summary_Audio::new()));
2085        }
2086        match self.value {
2087            ::std::option::Option::Some(Summary_Value_oneof_value::audio(ref mut v)) => v,
2088            _ => panic!(),
2089        }
2090    }
2091
2092    // Take field
2093    pub fn take_audio(&mut self) -> Summary_Audio {
2094        if self.has_audio() {
2095            match self.value.take() {
2096                ::std::option::Option::Some(Summary_Value_oneof_value::audio(v)) => v,
2097                _ => panic!(),
2098            }
2099        } else {
2100            Summary_Audio::new()
2101        }
2102    }
2103
2104    // .tensorboardrs.TensorProto tensor = 8;
2105
2106
2107    pub fn get_tensor(&self) -> &super::tensor::TensorProto {
2108        match self.value {
2109            ::std::option::Option::Some(Summary_Value_oneof_value::tensor(ref v)) => v,
2110            _ => <super::tensor::TensorProto as ::protobuf::Message>::default_instance(),
2111        }
2112    }
2113    pub fn clear_tensor(&mut self) {
2114        self.value = ::std::option::Option::None;
2115    }
2116
2117    pub fn has_tensor(&self) -> bool {
2118        match self.value {
2119            ::std::option::Option::Some(Summary_Value_oneof_value::tensor(..)) => true,
2120            _ => false,
2121        }
2122    }
2123
2124    // Param is passed by value, moved
2125    pub fn set_tensor(&mut self, v: super::tensor::TensorProto) {
2126        self.value = ::std::option::Option::Some(Summary_Value_oneof_value::tensor(v))
2127    }
2128
2129    // Mutable pointer to the field.
2130    pub fn mut_tensor(&mut self) -> &mut super::tensor::TensorProto {
2131        if let ::std::option::Option::Some(Summary_Value_oneof_value::tensor(_)) = self.value {
2132        } else {
2133            self.value = ::std::option::Option::Some(Summary_Value_oneof_value::tensor(super::tensor::TensorProto::new()));
2134        }
2135        match self.value {
2136            ::std::option::Option::Some(Summary_Value_oneof_value::tensor(ref mut v)) => v,
2137            _ => panic!(),
2138        }
2139    }
2140
2141    // Take field
2142    pub fn take_tensor(&mut self) -> super::tensor::TensorProto {
2143        if self.has_tensor() {
2144            match self.value.take() {
2145                ::std::option::Option::Some(Summary_Value_oneof_value::tensor(v)) => v,
2146                _ => panic!(),
2147            }
2148        } else {
2149            super::tensor::TensorProto::new()
2150        }
2151    }
2152}
2153
2154impl ::protobuf::Message for Summary_Value {
2155    fn is_initialized(&self) -> bool {
2156        for v in &self.metadata {
2157            if !v.is_initialized() {
2158                return false;
2159            }
2160        };
2161        if let Some(Summary_Value_oneof_value::image(ref v)) = self.value {
2162            if !v.is_initialized() {
2163                return false;
2164            }
2165        }
2166        if let Some(Summary_Value_oneof_value::histo(ref v)) = self.value {
2167            if !v.is_initialized() {
2168                return false;
2169            }
2170        }
2171        if let Some(Summary_Value_oneof_value::audio(ref v)) = self.value {
2172            if !v.is_initialized() {
2173                return false;
2174            }
2175        }
2176        if let Some(Summary_Value_oneof_value::tensor(ref v)) = self.value {
2177            if !v.is_initialized() {
2178                return false;
2179            }
2180        }
2181        true
2182    }
2183
2184    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2185        while !is.eof()? {
2186            let (field_number, wire_type) = is.read_tag_unpack()?;
2187            match field_number {
2188                7 => {
2189                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.node_name)?;
2190                },
2191                1 => {
2192                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.tag)?;
2193                },
2194                9 => {
2195                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.metadata)?;
2196                },
2197                2 => {
2198                    if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
2199                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2200                    }
2201                    self.value = ::std::option::Option::Some(Summary_Value_oneof_value::simple_value(is.read_float()?));
2202                },
2203                3 => {
2204                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2205                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2206                    }
2207                    self.value = ::std::option::Option::Some(Summary_Value_oneof_value::obsolete_old_style_histogram(is.read_bytes()?));
2208                },
2209                4 => {
2210                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2211                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2212                    }
2213                    self.value = ::std::option::Option::Some(Summary_Value_oneof_value::image(is.read_message()?));
2214                },
2215                5 => {
2216                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2217                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2218                    }
2219                    self.value = ::std::option::Option::Some(Summary_Value_oneof_value::histo(is.read_message()?));
2220                },
2221                6 => {
2222                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2223                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2224                    }
2225                    self.value = ::std::option::Option::Some(Summary_Value_oneof_value::audio(is.read_message()?));
2226                },
2227                8 => {
2228                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2229                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2230                    }
2231                    self.value = ::std::option::Option::Some(Summary_Value_oneof_value::tensor(is.read_message()?));
2232                },
2233                _ => {
2234                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2235                },
2236            };
2237        }
2238        ::std::result::Result::Ok(())
2239    }
2240
2241    // Compute sizes of nested messages
2242    #[allow(unused_variables)]
2243    fn compute_size(&self) -> u32 {
2244        let mut my_size = 0;
2245        if !self.node_name.is_empty() {
2246            my_size += ::protobuf::rt::string_size(7, &self.node_name);
2247        }
2248        if !self.tag.is_empty() {
2249            my_size += ::protobuf::rt::string_size(1, &self.tag);
2250        }
2251        if let Some(ref v) = self.metadata.as_ref() {
2252            let len = v.compute_size();
2253            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2254        }
2255        if let ::std::option::Option::Some(ref v) = self.value {
2256            match v {
2257                &Summary_Value_oneof_value::simple_value(v) => {
2258                    my_size += 5;
2259                },
2260                &Summary_Value_oneof_value::obsolete_old_style_histogram(ref v) => {
2261                    my_size += ::protobuf::rt::bytes_size(3, &v);
2262                },
2263                &Summary_Value_oneof_value::image(ref v) => {
2264                    let len = v.compute_size();
2265                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2266                },
2267                &Summary_Value_oneof_value::histo(ref v) => {
2268                    let len = v.compute_size();
2269                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2270                },
2271                &Summary_Value_oneof_value::audio(ref v) => {
2272                    let len = v.compute_size();
2273                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2274                },
2275                &Summary_Value_oneof_value::tensor(ref v) => {
2276                    let len = v.compute_size();
2277                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2278                },
2279            };
2280        }
2281        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2282        self.cached_size.set(my_size);
2283        my_size
2284    }
2285
2286    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2287        if !self.node_name.is_empty() {
2288            os.write_string(7, &self.node_name)?;
2289        }
2290        if !self.tag.is_empty() {
2291            os.write_string(1, &self.tag)?;
2292        }
2293        if let Some(ref v) = self.metadata.as_ref() {
2294            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2295            os.write_raw_varint32(v.get_cached_size())?;
2296            v.write_to_with_cached_sizes(os)?;
2297        }
2298        if let ::std::option::Option::Some(ref v) = self.value {
2299            match v {
2300                &Summary_Value_oneof_value::simple_value(v) => {
2301                    os.write_float(2, v)?;
2302                },
2303                &Summary_Value_oneof_value::obsolete_old_style_histogram(ref v) => {
2304                    os.write_bytes(3, v)?;
2305                },
2306                &Summary_Value_oneof_value::image(ref v) => {
2307                    os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2308                    os.write_raw_varint32(v.get_cached_size())?;
2309                    v.write_to_with_cached_sizes(os)?;
2310                },
2311                &Summary_Value_oneof_value::histo(ref v) => {
2312                    os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2313                    os.write_raw_varint32(v.get_cached_size())?;
2314                    v.write_to_with_cached_sizes(os)?;
2315                },
2316                &Summary_Value_oneof_value::audio(ref v) => {
2317                    os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2318                    os.write_raw_varint32(v.get_cached_size())?;
2319                    v.write_to_with_cached_sizes(os)?;
2320                },
2321                &Summary_Value_oneof_value::tensor(ref v) => {
2322                    os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2323                    os.write_raw_varint32(v.get_cached_size())?;
2324                    v.write_to_with_cached_sizes(os)?;
2325                },
2326            };
2327        }
2328        os.write_unknown_fields(self.get_unknown_fields())?;
2329        ::std::result::Result::Ok(())
2330    }
2331
2332    fn get_cached_size(&self) -> u32 {
2333        self.cached_size.get()
2334    }
2335
2336    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2337        &self.unknown_fields
2338    }
2339
2340    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2341        &mut self.unknown_fields
2342    }
2343
2344    fn as_any(&self) -> &dyn (::std::any::Any) {
2345        self as &dyn (::std::any::Any)
2346    }
2347    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2348        self as &mut dyn (::std::any::Any)
2349    }
2350    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2351        self
2352    }
2353
2354    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2355        Self::descriptor_static()
2356    }
2357
2358    fn new() -> Summary_Value {
2359        Summary_Value::new()
2360    }
2361
2362    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2363        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2364        descriptor.get(|| {
2365            let mut fields = ::std::vec::Vec::new();
2366            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2367                "node_name",
2368                |m: &Summary_Value| { &m.node_name },
2369                |m: &mut Summary_Value| { &mut m.node_name },
2370            ));
2371            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2372                "tag",
2373                |m: &Summary_Value| { &m.tag },
2374                |m: &mut Summary_Value| { &mut m.tag },
2375            ));
2376            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<SummaryMetadata>>(
2377                "metadata",
2378                |m: &Summary_Value| { &m.metadata },
2379                |m: &mut Summary_Value| { &mut m.metadata },
2380            ));
2381            fields.push(::protobuf::reflect::accessor::make_singular_f32_accessor::<_>(
2382                "simple_value",
2383                Summary_Value::has_simple_value,
2384                Summary_Value::get_simple_value,
2385            ));
2386            fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor::<_>(
2387                "obsolete_old_style_histogram",
2388                Summary_Value::has_obsolete_old_style_histogram,
2389                Summary_Value::get_obsolete_old_style_histogram,
2390            ));
2391            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Summary_Image>(
2392                "image",
2393                Summary_Value::has_image,
2394                Summary_Value::get_image,
2395            ));
2396            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, HistogramProto>(
2397                "histo",
2398                Summary_Value::has_histo,
2399                Summary_Value::get_histo,
2400            ));
2401            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Summary_Audio>(
2402                "audio",
2403                Summary_Value::has_audio,
2404                Summary_Value::get_audio,
2405            ));
2406            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, super::tensor::TensorProto>(
2407                "tensor",
2408                Summary_Value::has_tensor,
2409                Summary_Value::get_tensor,
2410            ));
2411            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Summary_Value>(
2412                "Summary.Value",
2413                fields,
2414                file_descriptor_proto()
2415            )
2416        })
2417    }
2418
2419    fn default_instance() -> &'static Summary_Value {
2420        static instance: ::protobuf::rt::LazyV2<Summary_Value> = ::protobuf::rt::LazyV2::INIT;
2421        instance.get(Summary_Value::new)
2422    }
2423}
2424
2425impl ::protobuf::Clear for Summary_Value {
2426    fn clear(&mut self) {
2427        self.node_name.clear();
2428        self.tag.clear();
2429        self.metadata.clear();
2430        self.value = ::std::option::Option::None;
2431        self.value = ::std::option::Option::None;
2432        self.value = ::std::option::Option::None;
2433        self.value = ::std::option::Option::None;
2434        self.value = ::std::option::Option::None;
2435        self.value = ::std::option::Option::None;
2436        self.unknown_fields.clear();
2437    }
2438}
2439
2440impl ::std::fmt::Debug for Summary_Value {
2441    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2442        ::protobuf::text_format::fmt(self, f)
2443    }
2444}
2445
2446impl ::protobuf::reflect::ProtobufValue for Summary_Value {
2447    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2448        ::protobuf::reflect::ReflectValueRef::Message(self)
2449    }
2450}
2451
2452static file_descriptor_proto_data: &'static [u8] = b"\
2453    \n\x11src/summary.proto\x12\rtensorboardrs\x1a\x10src/tensor.proto\"1\n\
2454    \x12SummaryDescription\x12\x1b\n\ttype_hint\x18\x01\x20\x01(\tR\x08typeH\
2455    int\"\xbc\x01\n\x0eHistogramProto\x12\x10\n\x03min\x18\x01\x20\x01(\x01R\
2456    \x03min\x12\x10\n\x03max\x18\x02\x20\x01(\x01R\x03max\x12\x10\n\x03num\
2457    \x18\x03\x20\x01(\x01R\x03num\x12\x10\n\x03sum\x18\x04\x20\x01(\x01R\x03\
2458    sum\x12\x1f\n\x0bsum_squares\x18\x05\x20\x01(\x01R\nsumSquares\x12%\n\
2459    \x0cbucket_limit\x18\x06\x20\x03(\x01R\x0bbucketLimitB\x02\x10\x01\x12\
2460    \x1a\n\x06bucket\x18\x07\x20\x03(\x01R\x06bucketB\x02\x10\x01\"\xfa\x01\
2461    \n\x0fSummaryMetadata\x12J\n\x0bplugin_data\x18\x01\x20\x01(\x0b2).tenso\
2462    rboardrs.SummaryMetadata.PluginDataR\npluginData\x12!\n\x0cdisplay_name\
2463    \x18\x02\x20\x01(\tR\x0bdisplayName\x12/\n\x13summary_description\x18\
2464    \x03\x20\x01(\tR\x12summaryDescription\x1aG\n\nPluginData\x12\x1f\n\x0bp\
2465    lugin_name\x18\x01\x20\x01(\tR\npluginName\x12\x18\n\x07content\x18\x02\
2466    \x20\x01(\x0cR\x07content\"\xce\x06\n\x07Summary\x122\n\x05value\x18\x01\
2467    \x20\x03(\x0b2\x1c.tensorboardrs.Summary.ValueR\x05value\x1a\x87\x01\n\
2468    \x05Image\x12\x16\n\x06height\x18\x01\x20\x01(\x05R\x06height\x12\x14\n\
2469    \x05width\x18\x02\x20\x01(\x05R\x05width\x12\x1e\n\ncolorspace\x18\x03\
2470    \x20\x01(\x05R\ncolorspace\x120\n\x14encoded_image_string\x18\x04\x20\
2471    \x01(\x0cR\x12encodedImageString\x1a\xc5\x01\n\x05Audio\x12\x1f\n\x0bsam\
2472    ple_rate\x18\x01\x20\x01(\x02R\nsampleRate\x12!\n\x0cnum_channels\x18\
2473    \x02\x20\x01(\x03R\x0bnumChannels\x12#\n\rlength_frames\x18\x03\x20\x01(\
2474    \x03R\x0clengthFrames\x120\n\x14encoded_audio_string\x18\x04\x20\x01(\
2475    \x0cR\x12encodedAudioString\x12!\n\x0ccontent_type\x18\x05\x20\x01(\tR\
2476    \x0bcontentType\x1a\xbc\x03\n\x05Value\x12\x1b\n\tnode_name\x18\x07\x20\
2477    \x01(\tR\x08nodeName\x12\x10\n\x03tag\x18\x01\x20\x01(\tR\x03tag\x12:\n\
2478    \x08metadata\x18\t\x20\x01(\x0b2\x1e.tensorboardrs.SummaryMetadataR\x08m\
2479    etadata\x12#\n\x0csimple_value\x18\x02\x20\x01(\x02H\0R\x0bsimpleValue\
2480    \x12A\n\x1cobsolete_old_style_histogram\x18\x03\x20\x01(\x0cH\0R\x19obso\
2481    leteOldStyleHistogram\x124\n\x05image\x18\x04\x20\x01(\x0b2\x1c.tensorbo\
2482    ardrs.Summary.ImageH\0R\x05image\x125\n\x05histo\x18\x05\x20\x01(\x0b2\
2483    \x1d.tensorboardrs.HistogramProtoH\0R\x05histo\x124\n\x05audio\x18\x06\
2484    \x20\x01(\x0b2\x1c.tensorboardrs.Summary.AudioH\0R\x05audio\x124\n\x06te\
2485    nsor\x18\x08\x20\x01(\x0b2\x1a.tensorboardrs.TensorProtoH\0R\x06tensorB\
2486    \x07\n\x05valueB.\n\x18org.tensorflow.frameworkB\rSummaryProtosP\x01\xf8\
2487    \x01\x01J\xf8$\n\x06\x12\x04\0\0{\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\
2488    \x08\n\x01\x02\x12\x03\x02\0\x16\n\x08\n\x01\x08\x12\x03\x03\0\x1f\n\t\n\
2489    \x02\x08\x1f\x12\x03\x03\0\x1f\n\x08\n\x01\x08\x12\x03\x04\0.\n\t\n\x02\
2490    \x08\x08\x12\x03\x04\0.\n\x08\n\x01\x08\x12\x03\x05\0\"\n\t\n\x02\x08\n\
2491    \x12\x03\x05\0\"\n\x08\n\x01\x08\x12\x03\x06\01\n\t\n\x02\x08\x01\x12\
2492    \x03\x06\01\n\t\n\x02\x03\0\x12\x03\x08\0\x1a\n?\n\x02\x04\0\x12\x04\x0b\
2493    \0\x0f\x01\x1a3\x20Metadata\x20associated\x20with\x20a\x20series\x20of\
2494    \x20Summary\x20data\n\n\n\n\x03\x04\0\x01\x12\x03\x0b\x08\x1a\n\x8c\x01\
2495    \n\x04\x04\0\x02\0\x12\x03\x0e\x02\x17\x1a\x7f\x20Hint\x20on\x20how\x20p\
2496    lugins\x20should\x20process\x20the\x20data\x20in\x20this\x20series.\n\
2497    \x20Supported\x20values\x20include\x20\"scalar\",\x20\"histogram\",\x20\
2498    \"image\",\x20\"audio\"\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x0e\x02\
2499    \x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x0e\t\x12\n\x0c\n\x05\x04\0\x02\
2500    \0\x03\x12\x03\x0e\x15\x16\nZ\n\x02\x04\x01\x12\x04\x13\0!\x01\x1aN\x20S\
2501    erialization\x20format\x20for\x20histogram\x20module\x20in\n\x20core/lib\
2502    /histogram/histogram.h\n\n\n\n\x03\x04\x01\x01\x12\x03\x13\x08\x16\n\x0b\
2503    \n\x04\x04\x01\x02\0\x12\x03\x14\x02\x11\n\x0c\n\x05\x04\x01\x02\0\x05\
2504    \x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x14\t\x0c\n\
2505    \x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x14\x0f\x10\n\x0b\n\x04\x04\x01\x02\
2506    \x01\x12\x03\x15\x02\x11\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x15\x02\
2507    \x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x15\t\x0c\n\x0c\n\x05\x04\
2508    \x01\x02\x01\x03\x12\x03\x15\x0f\x10\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\
2509    \x16\x02\x11\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x16\x02\x08\n\x0c\n\
2510    \x05\x04\x01\x02\x02\x01\x12\x03\x16\t\x0c\n\x0c\n\x05\x04\x01\x02\x02\
2511    \x03\x12\x03\x16\x0f\x10\n\x0b\n\x04\x04\x01\x02\x03\x12\x03\x17\x02\x11\
2512    \n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x17\x02\x08\n\x0c\n\x05\x04\x01\
2513    \x02\x03\x01\x12\x03\x17\t\x0c\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\
2514    \x17\x0f\x10\n\x0b\n\x04\x04\x01\x02\x04\x12\x03\x18\x02\x19\n\x0c\n\x05\
2515    \x04\x01\x02\x04\x05\x12\x03\x18\x02\x08\n\x0c\n\x05\x04\x01\x02\x04\x01\
2516    \x12\x03\x18\t\x14\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\x18\x17\x18\n\
2517    \xf5\x01\n\x04\x04\x01\x02\x05\x12\x03\x1f\x023\x1a\xe7\x01\x20Parallel\
2518    \x20arrays\x20encoding\x20the\x20bucket\x20boundaries\x20and\x20the\x20b\
2519    ucket\x20values.\n\x20bucket(i)\x20is\x20the\x20count\x20for\x20the\x20b\
2520    ucket\x20i.\x20\x20The\x20range\x20for\n\x20a\x20bucket\x20is:\n\x20\x20\
2521    \x20i\x20==\x200:\x20\x20-DBL_MAX\x20..\x20bucket_limit(0)\n\x20\x20\x20\
2522    i\x20!=\x200:\x20\x20bucket_limit(i-1)\x20..\x20bucket_limit(i)\n\n\x0c\
2523    \n\x05\x04\x01\x02\x05\x04\x12\x03\x1f\x02\n\n\x0c\n\x05\x04\x01\x02\x05\
2524    \x05\x12\x03\x1f\x0b\x11\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03\x1f\x12\
2525    \x1e\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03\x1f!\"\n\x0c\n\x05\x04\x01\
2526    \x02\x05\x08\x12\x03\x1f#2\n\r\n\x06\x04\x01\x02\x05\x08\x02\x12\x03\x1f\
2527    $1\n\x0b\n\x04\x04\x01\x02\x06\x12\x03\x20\x02-\n\x0c\n\x05\x04\x01\x02\
2528    \x06\x04\x12\x03\x20\x02\n\n\x0c\n\x05\x04\x01\x02\x06\x05\x12\x03\x20\
2529    \x0b\x11\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03\x20\x12\x18\n\x0c\n\x05\
2530    \x04\x01\x02\x06\x03\x12\x03\x20\x1b\x1c\n\x0c\n\x05\x04\x01\x02\x06\x08\
2531    \x12\x03\x20\x1d,\n\r\n\x06\x04\x01\x02\x06\x08\x02\x12\x03\x20\x1e+\n{\
2532    \n\x02\x04\x02\x12\x04%\07\x01\x1ao\x20A\x20SummaryMetadata\x20encapsula\
2533    tes\x20information\x20on\x20which\x20plugins\x20are\x20able\x20to\x20mak\
2534    e\n\x20use\x20of\x20a\x20certain\x20summary\x20value.\n\n\n\n\x03\x04\
2535    \x02\x01\x12\x03%\x08\x17\n\x0c\n\x04\x04\x02\x03\0\x12\x04&\x02-\x03\n\
2536    \x0c\n\x05\x04\x02\x03\0\x01\x12\x03&\n\x14\n>\n\x06\x04\x02\x03\0\x02\0\
2537    \x12\x03(\x04\x1b\x1a/\x20The\x20name\x20of\x20the\x20plugin\x20this\x20\
2538    data\x20pertains\x20to.\n\n\x0e\n\x07\x04\x02\x03\0\x02\0\x05\x12\x03(\
2539    \x04\n\n\x0e\n\x07\x04\x02\x03\0\x02\0\x01\x12\x03(\x0b\x16\n\x0e\n\x07\
2540    \x04\x02\x03\0\x02\0\x03\x12\x03(\x19\x1a\n\x7f\n\x06\x04\x02\x03\0\x02\
2541    \x01\x12\x03,\x04\x16\x1ap\x20The\x20content\x20to\x20store\x20for\x20th\
2542    e\x20plugin.\x20The\x20best\x20practice\x20is\x20for\x20this\x20to\x20be\
2543    \n\x20a\x20binary\x20serialized\x20protocol\x20buffer.\n\n\x0e\n\x07\x04\
2544    \x02\x03\0\x02\x01\x05\x12\x03,\x04\t\n\x0e\n\x07\x04\x02\x03\0\x02\x01\
2545    \x01\x12\x03,\n\x11\n\x0e\n\x07\x04\x02\x03\0\x02\x01\x03\x12\x03,\x14\
2546    \x15\nD\n\x04\x04\x02\x02\0\x12\x030\x02\x1d\x1a7\x20Data\x20that\x20ass\
2547    ociates\x20a\x20summary\x20with\x20a\x20certain\x20plugin.\n\n\x0c\n\x05\
2548    \x04\x02\x02\0\x06\x12\x030\x02\x0c\n\x0c\n\x05\x04\x02\x02\0\x01\x12\
2549    \x030\r\x18\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x030\x1b\x1c\n7\n\x04\x04\
2550    \x02\x02\x01\x12\x033\x02\x1a\x1a*\x20Display\x20name\x20for\x20viewing\
2551    \x20in\x20TensorBoard.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x033\x02\
2552    \x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x033\t\x15\n\x0c\n\x05\x04\x02\
2553    \x02\x01\x03\x12\x033\x18\x19\nY\n\x04\x04\x02\x02\x02\x12\x036\x02!\x1a\
2554    L\x20Longform\x20readable\x20description\x20of\x20the\x20summary\x20sequ\
2555    ence.\x20Markdown\x20supported.\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\
2556    \x036\x02\x08\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x036\t\x1c\n\x0c\n\x05\
2557    \x04\x02\x02\x02\x03\x12\x036\x1f\x20\n\x96\x02\n\x02\x04\x03\x12\x04?\0\
2558    {\x01\x1a\x89\x02\x20A\x20Summary\x20is\x20a\x20set\x20of\x20named\x20va\
2559    lues\x20to\x20be\x20displayed\x20by\x20the\n\x20visualizer.\n\n\x20Summa\
2560    ries\x20are\x20produced\x20regularly\x20during\x20training,\x20as\x20con\
2561    trolled\x20by\n\x20the\x20\"summary_interval_secs\"\x20attribute\x20of\
2562    \x20the\x20training\x20operation.\n\x20Summaries\x20are\x20also\x20produ\
2563    ced\x20at\x20the\x20end\x20of\x20an\x20evaluation.\n\n\n\n\x03\x04\x03\
2564    \x01\x12\x03?\x08\x0f\n\x0c\n\x04\x04\x03\x03\0\x12\x04@\x02O\x03\n\x0c\
2565    \n\x05\x04\x03\x03\0\x01\x12\x03@\n\x0f\n)\n\x06\x04\x03\x03\0\x02\0\x12\
2566    \x03B\x04\x15\x1a\x1a\x20Dimensions\x20of\x20the\x20image.\n\n\x0e\n\x07\
2567    \x04\x03\x03\0\x02\0\x05\x12\x03B\x04\t\n\x0e\n\x07\x04\x03\x03\0\x02\0\
2568    \x01\x12\x03B\n\x10\n\x0e\n\x07\x04\x03\x03\0\x02\0\x03\x12\x03B\x13\x14\
2569    \n\r\n\x06\x04\x03\x03\0\x02\x01\x12\x03C\x04\x14\n\x0e\n\x07\x04\x03\
2570    \x03\0\x02\x01\x05\x12\x03C\x04\t\n\x0e\n\x07\x04\x03\x03\0\x02\x01\x01\
2571    \x12\x03C\n\x0f\n\x0e\n\x07\x04\x03\x03\0\x02\x01\x03\x12\x03C\x12\x13\n\
2572    \x8c\x01\n\x06\x04\x03\x03\0\x02\x02\x12\x03K\x04\x19\x1a}\x20Valid\x20c\
2573    olorspace\x20values\x20are\n\x20\x20\x201\x20-\x20grayscale\n\x20\x20\
2574    \x202\x20-\x20grayscale\x20+\x20alpha\n\x20\x20\x203\x20-\x20RGB\n\x20\
2575    \x20\x204\x20-\x20RGBA\n\x20\x20\x205\x20-\x20DIGITAL_YUV\n\x20\x20\x206\
2576    \x20-\x20BGRA\n\n\x0e\n\x07\x04\x03\x03\0\x02\x02\x05\x12\x03K\x04\t\n\
2577    \x0e\n\x07\x04\x03\x03\0\x02\x02\x01\x12\x03K\n\x14\n\x0e\n\x07\x04\x03\
2578    \x03\0\x02\x02\x03\x12\x03K\x17\x18\nz\n\x06\x04\x03\x03\0\x02\x03\x12\
2579    \x03N\x04#\x1ak\x20Image\x20data\x20in\x20encoded\x20format.\x20\x20All\
2580    \x20image\x20formats\x20supported\x20by\n\x20image_codec::CoderUtil\x20c\
2581    an\x20be\x20stored\x20here.\n\n\x0e\n\x07\x04\x03\x03\0\x02\x03\x05\x12\
2582    \x03N\x04\t\n\x0e\n\x07\x04\x03\x03\0\x02\x03\x01\x12\x03N\n\x1e\n\x0e\n\
2583    \x07\x04\x03\x03\0\x02\x03\x03\x12\x03N!\"\n\x0c\n\x04\x04\x03\x03\x01\
2584    \x12\x04Q\x02\\\x03\n\x0c\n\x05\x04\x03\x03\x01\x01\x12\x03Q\n\x0f\n0\n\
2585    \x06\x04\x03\x03\x01\x02\0\x12\x03S\x04\x1a\x1a!\x20Sample\x20rate\x20of\
2586    \x20the\x20audio\x20in\x20Hz.\n\n\x0e\n\x07\x04\x03\x03\x01\x02\0\x05\
2587    \x12\x03S\x04\t\n\x0e\n\x07\x04\x03\x03\x01\x02\0\x01\x12\x03S\n\x15\n\
2588    \x0e\n\x07\x04\x03\x03\x01\x02\0\x03\x12\x03S\x18\x19\n-\n\x06\x04\x03\
2589    \x03\x01\x02\x01\x12\x03U\x04\x1b\x1a\x1e\x20Number\x20of\x20channels\
2590    \x20of\x20audio.\n\n\x0e\n\x07\x04\x03\x03\x01\x02\x01\x05\x12\x03U\x04\
2591    \t\n\x0e\n\x07\x04\x03\x03\x01\x02\x01\x01\x12\x03U\n\x16\n\x0e\n\x07\
2592    \x04\x03\x03\x01\x02\x01\x03\x12\x03U\x19\x1a\nE\n\x06\x04\x03\x03\x01\
2593    \x02\x02\x12\x03W\x04\x1c\x1a6\x20Length\x20of\x20the\x20audio\x20in\x20\
2594    frames\x20(samples\x20per\x20channel).\n\n\x0e\n\x07\x04\x03\x03\x01\x02\
2595    \x02\x05\x12\x03W\x04\t\n\x0e\n\x07\x04\x03\x03\x01\x02\x02\x01\x12\x03W\
2596    \n\x17\n\x0e\n\x07\x04\x03\x03\x01\x02\x02\x03\x12\x03W\x1a\x1b\na\n\x06\
2597    \x04\x03\x03\x01\x02\x03\x12\x03Z\x04#\x1aR\x20Encoded\x20audio\x20data\
2598    \x20and\x20its\x20associated\x20RFC\x202045\x20content\x20type\x20(e.g.\
2599    \n\x20\"audio/wav\").\n\n\x0e\n\x07\x04\x03\x03\x01\x02\x03\x05\x12\x03Z\
2600    \x04\t\n\x0e\n\x07\x04\x03\x03\x01\x02\x03\x01\x12\x03Z\n\x1e\n\x0e\n\
2601    \x07\x04\x03\x03\x01\x02\x03\x03\x12\x03Z!\"\n\r\n\x06\x04\x03\x03\x01\
2602    \x02\x04\x12\x03[\x04\x1c\n\x0e\n\x07\x04\x03\x03\x01\x02\x04\x05\x12\
2603    \x03[\x04\n\n\x0e\n\x07\x04\x03\x03\x01\x02\x04\x01\x12\x03[\x0b\x17\n\
2604    \x0e\n\x07\x04\x03\x03\x01\x02\x04\x03\x12\x03[\x1a\x1b\n\x0c\n\x04\x04\
2605    \x03\x03\x02\x12\x04^\x02w\x03\n\x0c\n\x05\x04\x03\x03\x02\x01\x12\x03^\
2606    \n\x0f\n>\n\x06\x04\x03\x03\x02\x02\0\x12\x03`\x04\x19\x1a/\x20This\x20f\
2607    ield\x20is\x20deprecated\x20and\x20will\x20not\x20be\x20set.\n\n\x0e\n\
2608    \x07\x04\x03\x03\x02\x02\0\x05\x12\x03`\x04\n\n\x0e\n\x07\x04\x03\x03\
2609    \x02\x02\0\x01\x12\x03`\x0b\x14\n\x0e\n\x07\x04\x03\x03\x02\x02\0\x03\
2610    \x12\x03`\x17\x18\n\xbf\x01\n\x06\x04\x03\x03\x02\x02\x01\x12\x03e\x04\
2611    \x13\x1a\xaf\x01\x20Tag\x20name\x20for\x20the\x20data.\x20Used\x20by\x20\
2612    TensorBoard\x20plugins\x20to\x20organize\x20data.\x20Tags\n\x20are\x20of\
2613    ten\x20organized\x20by\x20scope\x20(which\x20contains\x20slashes\x20to\
2614    \x20convey\n\x20hierarchy).\x20For\x20example:\x20foo/bar/0\n\n\x0e\n\
2615    \x07\x04\x03\x03\x02\x02\x01\x05\x12\x03e\x04\n\n\x0e\n\x07\x04\x03\x03\
2616    \x02\x02\x01\x01\x12\x03e\x0b\x0e\n\x0e\n\x07\x04\x03\x03\x02\x02\x01\
2617    \x03\x12\x03e\x11\x12\n\xef\x02\n\x06\x04\x03\x03\x02\x02\x02\x12\x03l\
2618    \x04!\x1a\xdf\x02\x20Contains\x20metadata\x20on\x20the\x20summary\x20val\
2619    ue\x20such\x20as\x20which\x20plugins\x20may\x20use\x20it.\n\x20Take\x20n\
2620    ote\x20that\x20many\x20summary\x20values\x20may\x20lack\x20a\x20metadata\
2621    \x20field.\x20This\x20is\n\x20because\x20the\x20FileWriter\x20only\x20ke\
2622    eps\x20a\x20metadata\x20object\x20on\x20the\x20first\x20summary\n\x20val\
2623    ue\x20with\x20a\x20certain\x20tag\x20for\x20each\x20tag.\x20TensorBoard\
2624    \x20then\x20remembers\x20which\n\x20tags\x20are\x20associated\x20with\
2625    \x20which\x20plugins.\x20This\x20saves\x20space.\n\n\x0e\n\x07\x04\x03\
2626    \x03\x02\x02\x02\x06\x12\x03l\x04\x13\n\x0e\n\x07\x04\x03\x03\x02\x02\
2627    \x02\x01\x12\x03l\x14\x1c\n\x0e\n\x07\x04\x03\x03\x02\x02\x02\x03\x12\
2628    \x03l\x1f\x20\n0\n\x06\x04\x03\x03\x02\x08\0\x12\x04o\x04v\x05\x1a\x20\
2629    \x20Value\x20associated\x20with\x20the\x20tag.\n\n\x0e\n\x07\x04\x03\x03\
2630    \x02\x08\0\x01\x12\x03o\n\x0f\n\r\n\x06\x04\x03\x03\x02\x02\x03\x12\x03p\
2631    \x06\x1d\n\x0e\n\x07\x04\x03\x03\x02\x02\x03\x05\x12\x03p\x06\x0b\n\x0e\
2632    \n\x07\x04\x03\x03\x02\x02\x03\x01\x12\x03p\x0c\x18\n\x0e\n\x07\x04\x03\
2633    \x03\x02\x02\x03\x03\x12\x03p\x1b\x1c\n\r\n\x06\x04\x03\x03\x02\x02\x04\
2634    \x12\x03q\x06-\n\x0e\n\x07\x04\x03\x03\x02\x02\x04\x05\x12\x03q\x06\x0b\
2635    \n\x0e\n\x07\x04\x03\x03\x02\x02\x04\x01\x12\x03q\x0c(\n\x0e\n\x07\x04\
2636    \x03\x03\x02\x02\x04\x03\x12\x03q+,\n\r\n\x06\x04\x03\x03\x02\x02\x05\
2637    \x12\x03r\x06\x16\n\x0e\n\x07\x04\x03\x03\x02\x02\x05\x06\x12\x03r\x06\
2638    \x0b\n\x0e\n\x07\x04\x03\x03\x02\x02\x05\x01\x12\x03r\x0c\x11\n\x0e\n\
2639    \x07\x04\x03\x03\x02\x02\x05\x03\x12\x03r\x14\x15\n\r\n\x06\x04\x03\x03\
2640    \x02\x02\x06\x12\x03s\x06\x1f\n\x0e\n\x07\x04\x03\x03\x02\x02\x06\x06\
2641    \x12\x03s\x06\x14\n\x0e\n\x07\x04\x03\x03\x02\x02\x06\x01\x12\x03s\x15\
2642    \x1a\n\x0e\n\x07\x04\x03\x03\x02\x02\x06\x03\x12\x03s\x1d\x1e\n\r\n\x06\
2643    \x04\x03\x03\x02\x02\x07\x12\x03t\x06\x16\n\x0e\n\x07\x04\x03\x03\x02\
2644    \x02\x07\x06\x12\x03t\x06\x0b\n\x0e\n\x07\x04\x03\x03\x02\x02\x07\x01\
2645    \x12\x03t\x0c\x11\n\x0e\n\x07\x04\x03\x03\x02\x02\x07\x03\x12\x03t\x14\
2646    \x15\n\r\n\x06\x04\x03\x03\x02\x02\x08\x12\x03u\x06\x1d\n\x0e\n\x07\x04\
2647    \x03\x03\x02\x02\x08\x06\x12\x03u\x06\x11\n\x0e\n\x07\x04\x03\x03\x02\
2648    \x02\x08\x01\x12\x03u\x12\x18\n\x0e\n\x07\x04\x03\x03\x02\x02\x08\x03\
2649    \x12\x03u\x1b\x1c\n-\n\x04\x04\x03\x02\0\x12\x03z\x02\x1b\x1a\x20\x20Set\
2650    \x20of\x20values\x20for\x20the\x20summary.\n\n\x0c\n\x05\x04\x03\x02\0\
2651    \x04\x12\x03z\x02\n\n\x0c\n\x05\x04\x03\x02\0\x06\x12\x03z\x0b\x10\n\x0c\
2652    \n\x05\x04\x03\x02\0\x01\x12\x03z\x11\x16\n\x0c\n\x05\x04\x03\x02\0\x03\
2653    \x12\x03z\x19\x1ab\x06proto3\
2654";
2655
2656static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
2657
2658fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
2659    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
2660}
2661
2662pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
2663    file_descriptor_proto_lazy.get(|| {
2664        parse_descriptor_proto()
2665    })
2666}