boiler_generated/
steammessages_base.rs

1// This file is generated. Do not edit
2// @generated
3
4#![allow(dead_code)]
5#![allow(non_camel_case_types)]
6#![allow(non_snake_case)]
7#![allow(non_upper_case_globals)]
8#![allow(unused_imports)]
9
10use protobuf::Message as Message_imported_for_functions;
11use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
12
13#[derive(Clone,Default)]
14pub struct CMsgProtoBufHeader {
15    // message fields
16    steamid: ::std::option::Option<u64>,
17    client_sessionid: ::std::option::Option<i32>,
18    routing_appid: ::std::option::Option<u32>,
19    jobid_source: ::std::option::Option<u64>,
20    jobid_target: ::std::option::Option<u64>,
21    target_job_name: ::protobuf::SingularField<::std::string::String>,
22    seq_num: ::std::option::Option<i32>,
23    eresult: ::std::option::Option<i32>,
24    error_message: ::protobuf::SingularField<::std::string::String>,
25    ip: ::std::option::Option<u32>,
26    auth_account_flags: ::std::option::Option<u32>,
27    token_source: ::std::option::Option<u32>,
28    admin_spoofing_user: ::std::option::Option<bool>,
29    transport_error: ::std::option::Option<i32>,
30    messageid: ::std::option::Option<u64>,
31    publisher_group_id: ::std::option::Option<u32>,
32    sysid: ::std::option::Option<u32>,
33    trace_tag: ::std::option::Option<u64>,
34    webapi_key_id: ::std::option::Option<u32>,
35    // special fields
36    unknown_fields: ::protobuf::UnknownFields,
37    cached_size: ::std::cell::Cell<u32>,
38}
39
40// see codegen.rs for the explanation why impl Sync explicitly
41unsafe impl ::std::marker::Sync for CMsgProtoBufHeader {}
42
43impl CMsgProtoBufHeader {
44    pub fn new() -> CMsgProtoBufHeader {
45        ::std::default::Default::default()
46    }
47
48    pub fn default_instance() -> &'static CMsgProtoBufHeader {
49        static mut instance: ::protobuf::lazy::Lazy<CMsgProtoBufHeader> = ::protobuf::lazy::Lazy {
50            lock: ::protobuf::lazy::ONCE_INIT,
51            ptr: 0 as *const CMsgProtoBufHeader,
52        };
53        unsafe {
54            instance.get(|| {
55                CMsgProtoBufHeader {
56                    steamid: ::std::option::Option::None,
57                    client_sessionid: ::std::option::Option::None,
58                    routing_appid: ::std::option::Option::None,
59                    jobid_source: ::std::option::Option::None,
60                    jobid_target: ::std::option::Option::None,
61                    target_job_name: ::protobuf::SingularField::none(),
62                    seq_num: ::std::option::Option::None,
63                    eresult: ::std::option::Option::None,
64                    error_message: ::protobuf::SingularField::none(),
65                    ip: ::std::option::Option::None,
66                    auth_account_flags: ::std::option::Option::None,
67                    token_source: ::std::option::Option::None,
68                    admin_spoofing_user: ::std::option::Option::None,
69                    transport_error: ::std::option::Option::None,
70                    messageid: ::std::option::Option::None,
71                    publisher_group_id: ::std::option::Option::None,
72                    sysid: ::std::option::Option::None,
73                    trace_tag: ::std::option::Option::None,
74                    webapi_key_id: ::std::option::Option::None,
75                    unknown_fields: ::protobuf::UnknownFields::new(),
76                    cached_size: ::std::cell::Cell::new(0),
77                }
78            })
79        }
80    }
81
82    // optional fixed64 steamid = 1;
83
84    pub fn clear_steamid(&mut self) {
85        self.steamid = ::std::option::Option::None;
86    }
87
88    pub fn has_steamid(&self) -> bool {
89        self.steamid.is_some()
90    }
91
92    // Param is passed by value, moved
93    pub fn set_steamid(&mut self, v: u64) {
94        self.steamid = ::std::option::Option::Some(v);
95    }
96
97    pub fn get_steamid<'a>(&self) -> u64 {
98        self.steamid.unwrap_or(0)
99    }
100
101    // optional int32 client_sessionid = 2;
102
103    pub fn clear_client_sessionid(&mut self) {
104        self.client_sessionid = ::std::option::Option::None;
105    }
106
107    pub fn has_client_sessionid(&self) -> bool {
108        self.client_sessionid.is_some()
109    }
110
111    // Param is passed by value, moved
112    pub fn set_client_sessionid(&mut self, v: i32) {
113        self.client_sessionid = ::std::option::Option::Some(v);
114    }
115
116    pub fn get_client_sessionid<'a>(&self) -> i32 {
117        self.client_sessionid.unwrap_or(0)
118    }
119
120    // optional uint32 routing_appid = 3;
121
122    pub fn clear_routing_appid(&mut self) {
123        self.routing_appid = ::std::option::Option::None;
124    }
125
126    pub fn has_routing_appid(&self) -> bool {
127        self.routing_appid.is_some()
128    }
129
130    // Param is passed by value, moved
131    pub fn set_routing_appid(&mut self, v: u32) {
132        self.routing_appid = ::std::option::Option::Some(v);
133    }
134
135    pub fn get_routing_appid<'a>(&self) -> u32 {
136        self.routing_appid.unwrap_or(0)
137    }
138
139    // optional fixed64 jobid_source = 10;
140
141    pub fn clear_jobid_source(&mut self) {
142        self.jobid_source = ::std::option::Option::None;
143    }
144
145    pub fn has_jobid_source(&self) -> bool {
146        self.jobid_source.is_some()
147    }
148
149    // Param is passed by value, moved
150    pub fn set_jobid_source(&mut self, v: u64) {
151        self.jobid_source = ::std::option::Option::Some(v);
152    }
153
154    pub fn get_jobid_source<'a>(&self) -> u64 {
155        self.jobid_source.unwrap_or(18446744073709551615u64)
156    }
157
158    // optional fixed64 jobid_target = 11;
159
160    pub fn clear_jobid_target(&mut self) {
161        self.jobid_target = ::std::option::Option::None;
162    }
163
164    pub fn has_jobid_target(&self) -> bool {
165        self.jobid_target.is_some()
166    }
167
168    // Param is passed by value, moved
169    pub fn set_jobid_target(&mut self, v: u64) {
170        self.jobid_target = ::std::option::Option::Some(v);
171    }
172
173    pub fn get_jobid_target<'a>(&self) -> u64 {
174        self.jobid_target.unwrap_or(18446744073709551615u64)
175    }
176
177    // optional string target_job_name = 12;
178
179    pub fn clear_target_job_name(&mut self) {
180        self.target_job_name.clear();
181    }
182
183    pub fn has_target_job_name(&self) -> bool {
184        self.target_job_name.is_some()
185    }
186
187    // Param is passed by value, moved
188    pub fn set_target_job_name(&mut self, v: ::std::string::String) {
189        self.target_job_name = ::protobuf::SingularField::some(v);
190    }
191
192    // Mutable pointer to the field.
193    // If field is not initialized, it is initialized with default value first.
194    pub fn mut_target_job_name<'a>(&'a mut self) -> &'a mut ::std::string::String {
195        if self.target_job_name.is_none() {
196            self.target_job_name.set_default();
197        };
198        self.target_job_name.as_mut().unwrap()
199    }
200
201    // Take field
202    pub fn take_target_job_name(&mut self) -> ::std::string::String {
203        self.target_job_name.take().unwrap_or_else(|| ::std::string::String::new())
204    }
205
206    pub fn get_target_job_name<'a>(&'a self) -> &'a str {
207        match self.target_job_name.as_ref() {
208            Some(v) => &v,
209            None => "",
210        }
211    }
212
213    // optional int32 seq_num = 24;
214
215    pub fn clear_seq_num(&mut self) {
216        self.seq_num = ::std::option::Option::None;
217    }
218
219    pub fn has_seq_num(&self) -> bool {
220        self.seq_num.is_some()
221    }
222
223    // Param is passed by value, moved
224    pub fn set_seq_num(&mut self, v: i32) {
225        self.seq_num = ::std::option::Option::Some(v);
226    }
227
228    pub fn get_seq_num<'a>(&self) -> i32 {
229        self.seq_num.unwrap_or(0)
230    }
231
232    // optional int32 eresult = 13;
233
234    pub fn clear_eresult(&mut self) {
235        self.eresult = ::std::option::Option::None;
236    }
237
238    pub fn has_eresult(&self) -> bool {
239        self.eresult.is_some()
240    }
241
242    // Param is passed by value, moved
243    pub fn set_eresult(&mut self, v: i32) {
244        self.eresult = ::std::option::Option::Some(v);
245    }
246
247    pub fn get_eresult<'a>(&self) -> i32 {
248        self.eresult.unwrap_or(2i32)
249    }
250
251    // optional string error_message = 14;
252
253    pub fn clear_error_message(&mut self) {
254        self.error_message.clear();
255    }
256
257    pub fn has_error_message(&self) -> bool {
258        self.error_message.is_some()
259    }
260
261    // Param is passed by value, moved
262    pub fn set_error_message(&mut self, v: ::std::string::String) {
263        self.error_message = ::protobuf::SingularField::some(v);
264    }
265
266    // Mutable pointer to the field.
267    // If field is not initialized, it is initialized with default value first.
268    pub fn mut_error_message<'a>(&'a mut self) -> &'a mut ::std::string::String {
269        if self.error_message.is_none() {
270            self.error_message.set_default();
271        };
272        self.error_message.as_mut().unwrap()
273    }
274
275    // Take field
276    pub fn take_error_message(&mut self) -> ::std::string::String {
277        self.error_message.take().unwrap_or_else(|| ::std::string::String::new())
278    }
279
280    pub fn get_error_message<'a>(&'a self) -> &'a str {
281        match self.error_message.as_ref() {
282            Some(v) => &v,
283            None => "",
284        }
285    }
286
287    // optional uint32 ip = 15;
288
289    pub fn clear_ip(&mut self) {
290        self.ip = ::std::option::Option::None;
291    }
292
293    pub fn has_ip(&self) -> bool {
294        self.ip.is_some()
295    }
296
297    // Param is passed by value, moved
298    pub fn set_ip(&mut self, v: u32) {
299        self.ip = ::std::option::Option::Some(v);
300    }
301
302    pub fn get_ip<'a>(&self) -> u32 {
303        self.ip.unwrap_or(0)
304    }
305
306    // optional uint32 auth_account_flags = 16;
307
308    pub fn clear_auth_account_flags(&mut self) {
309        self.auth_account_flags = ::std::option::Option::None;
310    }
311
312    pub fn has_auth_account_flags(&self) -> bool {
313        self.auth_account_flags.is_some()
314    }
315
316    // Param is passed by value, moved
317    pub fn set_auth_account_flags(&mut self, v: u32) {
318        self.auth_account_flags = ::std::option::Option::Some(v);
319    }
320
321    pub fn get_auth_account_flags<'a>(&self) -> u32 {
322        self.auth_account_flags.unwrap_or(0)
323    }
324
325    // optional uint32 token_source = 22;
326
327    pub fn clear_token_source(&mut self) {
328        self.token_source = ::std::option::Option::None;
329    }
330
331    pub fn has_token_source(&self) -> bool {
332        self.token_source.is_some()
333    }
334
335    // Param is passed by value, moved
336    pub fn set_token_source(&mut self, v: u32) {
337        self.token_source = ::std::option::Option::Some(v);
338    }
339
340    pub fn get_token_source<'a>(&self) -> u32 {
341        self.token_source.unwrap_or(0)
342    }
343
344    // optional bool admin_spoofing_user = 23;
345
346    pub fn clear_admin_spoofing_user(&mut self) {
347        self.admin_spoofing_user = ::std::option::Option::None;
348    }
349
350    pub fn has_admin_spoofing_user(&self) -> bool {
351        self.admin_spoofing_user.is_some()
352    }
353
354    // Param is passed by value, moved
355    pub fn set_admin_spoofing_user(&mut self, v: bool) {
356        self.admin_spoofing_user = ::std::option::Option::Some(v);
357    }
358
359    pub fn get_admin_spoofing_user<'a>(&self) -> bool {
360        self.admin_spoofing_user.unwrap_or(false)
361    }
362
363    // optional int32 transport_error = 17;
364
365    pub fn clear_transport_error(&mut self) {
366        self.transport_error = ::std::option::Option::None;
367    }
368
369    pub fn has_transport_error(&self) -> bool {
370        self.transport_error.is_some()
371    }
372
373    // Param is passed by value, moved
374    pub fn set_transport_error(&mut self, v: i32) {
375        self.transport_error = ::std::option::Option::Some(v);
376    }
377
378    pub fn get_transport_error<'a>(&self) -> i32 {
379        self.transport_error.unwrap_or(1i32)
380    }
381
382    // optional uint64 messageid = 18;
383
384    pub fn clear_messageid(&mut self) {
385        self.messageid = ::std::option::Option::None;
386    }
387
388    pub fn has_messageid(&self) -> bool {
389        self.messageid.is_some()
390    }
391
392    // Param is passed by value, moved
393    pub fn set_messageid(&mut self, v: u64) {
394        self.messageid = ::std::option::Option::Some(v);
395    }
396
397    pub fn get_messageid<'a>(&self) -> u64 {
398        self.messageid.unwrap_or(18446744073709551615u64)
399    }
400
401    // optional uint32 publisher_group_id = 19;
402
403    pub fn clear_publisher_group_id(&mut self) {
404        self.publisher_group_id = ::std::option::Option::None;
405    }
406
407    pub fn has_publisher_group_id(&self) -> bool {
408        self.publisher_group_id.is_some()
409    }
410
411    // Param is passed by value, moved
412    pub fn set_publisher_group_id(&mut self, v: u32) {
413        self.publisher_group_id = ::std::option::Option::Some(v);
414    }
415
416    pub fn get_publisher_group_id<'a>(&self) -> u32 {
417        self.publisher_group_id.unwrap_or(0)
418    }
419
420    // optional uint32 sysid = 20;
421
422    pub fn clear_sysid(&mut self) {
423        self.sysid = ::std::option::Option::None;
424    }
425
426    pub fn has_sysid(&self) -> bool {
427        self.sysid.is_some()
428    }
429
430    // Param is passed by value, moved
431    pub fn set_sysid(&mut self, v: u32) {
432        self.sysid = ::std::option::Option::Some(v);
433    }
434
435    pub fn get_sysid<'a>(&self) -> u32 {
436        self.sysid.unwrap_or(0)
437    }
438
439    // optional uint64 trace_tag = 21;
440
441    pub fn clear_trace_tag(&mut self) {
442        self.trace_tag = ::std::option::Option::None;
443    }
444
445    pub fn has_trace_tag(&self) -> bool {
446        self.trace_tag.is_some()
447    }
448
449    // Param is passed by value, moved
450    pub fn set_trace_tag(&mut self, v: u64) {
451        self.trace_tag = ::std::option::Option::Some(v);
452    }
453
454    pub fn get_trace_tag<'a>(&self) -> u64 {
455        self.trace_tag.unwrap_or(0)
456    }
457
458    // optional uint32 webapi_key_id = 25;
459
460    pub fn clear_webapi_key_id(&mut self) {
461        self.webapi_key_id = ::std::option::Option::None;
462    }
463
464    pub fn has_webapi_key_id(&self) -> bool {
465        self.webapi_key_id.is_some()
466    }
467
468    // Param is passed by value, moved
469    pub fn set_webapi_key_id(&mut self, v: u32) {
470        self.webapi_key_id = ::std::option::Option::Some(v);
471    }
472
473    pub fn get_webapi_key_id<'a>(&self) -> u32 {
474        self.webapi_key_id.unwrap_or(0)
475    }
476}
477
478impl ::protobuf::Message for CMsgProtoBufHeader {
479    fn is_initialized(&self) -> bool {
480        true
481    }
482
483    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
484        while !try!(is.eof()) {
485            let (field_number, wire_type) = try!(is.read_tag_unpack());
486            match field_number {
487                1 => {
488                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
489                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
490                    };
491                    let tmp = try!(is.read_fixed64());
492                    self.steamid = ::std::option::Option::Some(tmp);
493                },
494                2 => {
495                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
496                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
497                    };
498                    let tmp = try!(is.read_int32());
499                    self.client_sessionid = ::std::option::Option::Some(tmp);
500                },
501                3 => {
502                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
503                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
504                    };
505                    let tmp = try!(is.read_uint32());
506                    self.routing_appid = ::std::option::Option::Some(tmp);
507                },
508                10 => {
509                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
510                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
511                    };
512                    let tmp = try!(is.read_fixed64());
513                    self.jobid_source = ::std::option::Option::Some(tmp);
514                },
515                11 => {
516                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
517                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
518                    };
519                    let tmp = try!(is.read_fixed64());
520                    self.jobid_target = ::std::option::Option::Some(tmp);
521                },
522                12 => {
523                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.target_job_name));
524                },
525                24 => {
526                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
527                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
528                    };
529                    let tmp = try!(is.read_int32());
530                    self.seq_num = ::std::option::Option::Some(tmp);
531                },
532                13 => {
533                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
534                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
535                    };
536                    let tmp = try!(is.read_int32());
537                    self.eresult = ::std::option::Option::Some(tmp);
538                },
539                14 => {
540                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.error_message));
541                },
542                15 => {
543                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
544                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
545                    };
546                    let tmp = try!(is.read_uint32());
547                    self.ip = ::std::option::Option::Some(tmp);
548                },
549                16 => {
550                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
551                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
552                    };
553                    let tmp = try!(is.read_uint32());
554                    self.auth_account_flags = ::std::option::Option::Some(tmp);
555                },
556                22 => {
557                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
558                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
559                    };
560                    let tmp = try!(is.read_uint32());
561                    self.token_source = ::std::option::Option::Some(tmp);
562                },
563                23 => {
564                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
565                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
566                    };
567                    let tmp = try!(is.read_bool());
568                    self.admin_spoofing_user = ::std::option::Option::Some(tmp);
569                },
570                17 => {
571                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
572                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
573                    };
574                    let tmp = try!(is.read_int32());
575                    self.transport_error = ::std::option::Option::Some(tmp);
576                },
577                18 => {
578                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
579                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
580                    };
581                    let tmp = try!(is.read_uint64());
582                    self.messageid = ::std::option::Option::Some(tmp);
583                },
584                19 => {
585                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
586                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
587                    };
588                    let tmp = try!(is.read_uint32());
589                    self.publisher_group_id = ::std::option::Option::Some(tmp);
590                },
591                20 => {
592                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
593                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
594                    };
595                    let tmp = try!(is.read_uint32());
596                    self.sysid = ::std::option::Option::Some(tmp);
597                },
598                21 => {
599                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
600                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
601                    };
602                    let tmp = try!(is.read_uint64());
603                    self.trace_tag = ::std::option::Option::Some(tmp);
604                },
605                25 => {
606                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
607                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
608                    };
609                    let tmp = try!(is.read_uint32());
610                    self.webapi_key_id = ::std::option::Option::Some(tmp);
611                },
612                _ => {
613                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
614                },
615            };
616        }
617        ::std::result::Result::Ok(())
618    }
619
620    // Compute sizes of nested messages
621    #[allow(unused_variables)]
622    fn compute_size(&self) -> u32 {
623        let mut my_size = 0;
624        if self.steamid.is_some() {
625            my_size += 9;
626        };
627        for value in self.client_sessionid.iter() {
628            my_size += ::protobuf::rt::value_size(2, *value, ::protobuf::wire_format::WireTypeVarint);
629        };
630        for value in self.routing_appid.iter() {
631            my_size += ::protobuf::rt::value_size(3, *value, ::protobuf::wire_format::WireTypeVarint);
632        };
633        if self.jobid_source.is_some() {
634            my_size += 9;
635        };
636        if self.jobid_target.is_some() {
637            my_size += 9;
638        };
639        for value in self.target_job_name.iter() {
640            my_size += ::protobuf::rt::string_size(12, &value);
641        };
642        for value in self.seq_num.iter() {
643            my_size += ::protobuf::rt::value_size(24, *value, ::protobuf::wire_format::WireTypeVarint);
644        };
645        for value in self.eresult.iter() {
646            my_size += ::protobuf::rt::value_size(13, *value, ::protobuf::wire_format::WireTypeVarint);
647        };
648        for value in self.error_message.iter() {
649            my_size += ::protobuf::rt::string_size(14, &value);
650        };
651        for value in self.ip.iter() {
652            my_size += ::protobuf::rt::value_size(15, *value, ::protobuf::wire_format::WireTypeVarint);
653        };
654        for value in self.auth_account_flags.iter() {
655            my_size += ::protobuf::rt::value_size(16, *value, ::protobuf::wire_format::WireTypeVarint);
656        };
657        for value in self.token_source.iter() {
658            my_size += ::protobuf::rt::value_size(22, *value, ::protobuf::wire_format::WireTypeVarint);
659        };
660        if self.admin_spoofing_user.is_some() {
661            my_size += 3;
662        };
663        for value in self.transport_error.iter() {
664            my_size += ::protobuf::rt::value_size(17, *value, ::protobuf::wire_format::WireTypeVarint);
665        };
666        for value in self.messageid.iter() {
667            my_size += ::protobuf::rt::value_size(18, *value, ::protobuf::wire_format::WireTypeVarint);
668        };
669        for value in self.publisher_group_id.iter() {
670            my_size += ::protobuf::rt::value_size(19, *value, ::protobuf::wire_format::WireTypeVarint);
671        };
672        for value in self.sysid.iter() {
673            my_size += ::protobuf::rt::value_size(20, *value, ::protobuf::wire_format::WireTypeVarint);
674        };
675        for value in self.trace_tag.iter() {
676            my_size += ::protobuf::rt::value_size(21, *value, ::protobuf::wire_format::WireTypeVarint);
677        };
678        for value in self.webapi_key_id.iter() {
679            my_size += ::protobuf::rt::value_size(25, *value, ::protobuf::wire_format::WireTypeVarint);
680        };
681        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
682        self.cached_size.set(my_size);
683        my_size
684    }
685
686    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
687        if let Some(v) = self.steamid {
688            try!(os.write_fixed64(1, v));
689        };
690        if let Some(v) = self.client_sessionid {
691            try!(os.write_int32(2, v));
692        };
693        if let Some(v) = self.routing_appid {
694            try!(os.write_uint32(3, v));
695        };
696        if let Some(v) = self.jobid_source {
697            try!(os.write_fixed64(10, v));
698        };
699        if let Some(v) = self.jobid_target {
700            try!(os.write_fixed64(11, v));
701        };
702        if let Some(v) = self.target_job_name.as_ref() {
703            try!(os.write_string(12, &v));
704        };
705        if let Some(v) = self.seq_num {
706            try!(os.write_int32(24, v));
707        };
708        if let Some(v) = self.eresult {
709            try!(os.write_int32(13, v));
710        };
711        if let Some(v) = self.error_message.as_ref() {
712            try!(os.write_string(14, &v));
713        };
714        if let Some(v) = self.ip {
715            try!(os.write_uint32(15, v));
716        };
717        if let Some(v) = self.auth_account_flags {
718            try!(os.write_uint32(16, v));
719        };
720        if let Some(v) = self.token_source {
721            try!(os.write_uint32(22, v));
722        };
723        if let Some(v) = self.admin_spoofing_user {
724            try!(os.write_bool(23, v));
725        };
726        if let Some(v) = self.transport_error {
727            try!(os.write_int32(17, v));
728        };
729        if let Some(v) = self.messageid {
730            try!(os.write_uint64(18, v));
731        };
732        if let Some(v) = self.publisher_group_id {
733            try!(os.write_uint32(19, v));
734        };
735        if let Some(v) = self.sysid {
736            try!(os.write_uint32(20, v));
737        };
738        if let Some(v) = self.trace_tag {
739            try!(os.write_uint64(21, v));
740        };
741        if let Some(v) = self.webapi_key_id {
742            try!(os.write_uint32(25, v));
743        };
744        try!(os.write_unknown_fields(self.get_unknown_fields()));
745        ::std::result::Result::Ok(())
746    }
747
748    fn get_cached_size(&self) -> u32 {
749        self.cached_size.get()
750    }
751
752    fn get_unknown_fields<'s>(&'s self) -> &'s ::protobuf::UnknownFields {
753        &self.unknown_fields
754    }
755
756    fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut ::protobuf::UnknownFields {
757        &mut self.unknown_fields
758    }
759
760    fn type_id(&self) -> ::std::any::TypeId {
761        ::std::any::TypeId::of::<CMsgProtoBufHeader>()
762    }
763
764    fn as_any(&self) -> &::std::any::Any {
765        self as &::std::any::Any
766    }
767
768    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
769        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
770    }
771}
772
773impl ::protobuf::MessageStatic for CMsgProtoBufHeader {
774    fn new() -> CMsgProtoBufHeader {
775        CMsgProtoBufHeader::new()
776    }
777
778    fn descriptor_static(_: ::std::option::Option<CMsgProtoBufHeader>) -> &'static ::protobuf::reflect::MessageDescriptor {
779        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
780            lock: ::protobuf::lazy::ONCE_INIT,
781            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
782        };
783        unsafe {
784            descriptor.get(|| {
785                let mut fields = ::std::vec::Vec::new();
786                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
787                    "steamid",
788                    CMsgProtoBufHeader::has_steamid,
789                    CMsgProtoBufHeader::get_steamid,
790                ));
791                fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor(
792                    "client_sessionid",
793                    CMsgProtoBufHeader::has_client_sessionid,
794                    CMsgProtoBufHeader::get_client_sessionid,
795                ));
796                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
797                    "routing_appid",
798                    CMsgProtoBufHeader::has_routing_appid,
799                    CMsgProtoBufHeader::get_routing_appid,
800                ));
801                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
802                    "jobid_source",
803                    CMsgProtoBufHeader::has_jobid_source,
804                    CMsgProtoBufHeader::get_jobid_source,
805                ));
806                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
807                    "jobid_target",
808                    CMsgProtoBufHeader::has_jobid_target,
809                    CMsgProtoBufHeader::get_jobid_target,
810                ));
811                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
812                    "target_job_name",
813                    CMsgProtoBufHeader::has_target_job_name,
814                    CMsgProtoBufHeader::get_target_job_name,
815                ));
816                fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor(
817                    "seq_num",
818                    CMsgProtoBufHeader::has_seq_num,
819                    CMsgProtoBufHeader::get_seq_num,
820                ));
821                fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor(
822                    "eresult",
823                    CMsgProtoBufHeader::has_eresult,
824                    CMsgProtoBufHeader::get_eresult,
825                ));
826                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
827                    "error_message",
828                    CMsgProtoBufHeader::has_error_message,
829                    CMsgProtoBufHeader::get_error_message,
830                ));
831                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
832                    "ip",
833                    CMsgProtoBufHeader::has_ip,
834                    CMsgProtoBufHeader::get_ip,
835                ));
836                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
837                    "auth_account_flags",
838                    CMsgProtoBufHeader::has_auth_account_flags,
839                    CMsgProtoBufHeader::get_auth_account_flags,
840                ));
841                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
842                    "token_source",
843                    CMsgProtoBufHeader::has_token_source,
844                    CMsgProtoBufHeader::get_token_source,
845                ));
846                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
847                    "admin_spoofing_user",
848                    CMsgProtoBufHeader::has_admin_spoofing_user,
849                    CMsgProtoBufHeader::get_admin_spoofing_user,
850                ));
851                fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor(
852                    "transport_error",
853                    CMsgProtoBufHeader::has_transport_error,
854                    CMsgProtoBufHeader::get_transport_error,
855                ));
856                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
857                    "messageid",
858                    CMsgProtoBufHeader::has_messageid,
859                    CMsgProtoBufHeader::get_messageid,
860                ));
861                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
862                    "publisher_group_id",
863                    CMsgProtoBufHeader::has_publisher_group_id,
864                    CMsgProtoBufHeader::get_publisher_group_id,
865                ));
866                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
867                    "sysid",
868                    CMsgProtoBufHeader::has_sysid,
869                    CMsgProtoBufHeader::get_sysid,
870                ));
871                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
872                    "trace_tag",
873                    CMsgProtoBufHeader::has_trace_tag,
874                    CMsgProtoBufHeader::get_trace_tag,
875                ));
876                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
877                    "webapi_key_id",
878                    CMsgProtoBufHeader::has_webapi_key_id,
879                    CMsgProtoBufHeader::get_webapi_key_id,
880                ));
881                ::protobuf::reflect::MessageDescriptor::new::<CMsgProtoBufHeader>(
882                    "CMsgProtoBufHeader",
883                    fields,
884                    file_descriptor_proto()
885                )
886            })
887        }
888    }
889}
890
891impl ::protobuf::Clear for CMsgProtoBufHeader {
892    fn clear(&mut self) {
893        self.clear_steamid();
894        self.clear_client_sessionid();
895        self.clear_routing_appid();
896        self.clear_jobid_source();
897        self.clear_jobid_target();
898        self.clear_target_job_name();
899        self.clear_seq_num();
900        self.clear_eresult();
901        self.clear_error_message();
902        self.clear_ip();
903        self.clear_auth_account_flags();
904        self.clear_token_source();
905        self.clear_admin_spoofing_user();
906        self.clear_transport_error();
907        self.clear_messageid();
908        self.clear_publisher_group_id();
909        self.clear_sysid();
910        self.clear_trace_tag();
911        self.clear_webapi_key_id();
912        self.unknown_fields.clear();
913    }
914}
915
916impl ::std::cmp::PartialEq for CMsgProtoBufHeader {
917    fn eq(&self, other: &CMsgProtoBufHeader) -> bool {
918        self.steamid == other.steamid &&
919        self.client_sessionid == other.client_sessionid &&
920        self.routing_appid == other.routing_appid &&
921        self.jobid_source == other.jobid_source &&
922        self.jobid_target == other.jobid_target &&
923        self.target_job_name == other.target_job_name &&
924        self.seq_num == other.seq_num &&
925        self.eresult == other.eresult &&
926        self.error_message == other.error_message &&
927        self.ip == other.ip &&
928        self.auth_account_flags == other.auth_account_flags &&
929        self.token_source == other.token_source &&
930        self.admin_spoofing_user == other.admin_spoofing_user &&
931        self.transport_error == other.transport_error &&
932        self.messageid == other.messageid &&
933        self.publisher_group_id == other.publisher_group_id &&
934        self.sysid == other.sysid &&
935        self.trace_tag == other.trace_tag &&
936        self.webapi_key_id == other.webapi_key_id &&
937        self.unknown_fields == other.unknown_fields
938    }
939}
940
941impl ::std::fmt::Debug for CMsgProtoBufHeader {
942    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
943        ::protobuf::text_format::fmt(self, f)
944    }
945}
946
947#[derive(Clone,Default)]
948pub struct CMsgMulti {
949    // message fields
950    size_unzipped: ::std::option::Option<u32>,
951    message_body: ::protobuf::SingularField<::std::vec::Vec<u8>>,
952    // special fields
953    unknown_fields: ::protobuf::UnknownFields,
954    cached_size: ::std::cell::Cell<u32>,
955}
956
957// see codegen.rs for the explanation why impl Sync explicitly
958unsafe impl ::std::marker::Sync for CMsgMulti {}
959
960impl CMsgMulti {
961    pub fn new() -> CMsgMulti {
962        ::std::default::Default::default()
963    }
964
965    pub fn default_instance() -> &'static CMsgMulti {
966        static mut instance: ::protobuf::lazy::Lazy<CMsgMulti> = ::protobuf::lazy::Lazy {
967            lock: ::protobuf::lazy::ONCE_INIT,
968            ptr: 0 as *const CMsgMulti,
969        };
970        unsafe {
971            instance.get(|| {
972                CMsgMulti {
973                    size_unzipped: ::std::option::Option::None,
974                    message_body: ::protobuf::SingularField::none(),
975                    unknown_fields: ::protobuf::UnknownFields::new(),
976                    cached_size: ::std::cell::Cell::new(0),
977                }
978            })
979        }
980    }
981
982    // optional uint32 size_unzipped = 1;
983
984    pub fn clear_size_unzipped(&mut self) {
985        self.size_unzipped = ::std::option::Option::None;
986    }
987
988    pub fn has_size_unzipped(&self) -> bool {
989        self.size_unzipped.is_some()
990    }
991
992    // Param is passed by value, moved
993    pub fn set_size_unzipped(&mut self, v: u32) {
994        self.size_unzipped = ::std::option::Option::Some(v);
995    }
996
997    pub fn get_size_unzipped<'a>(&self) -> u32 {
998        self.size_unzipped.unwrap_or(0)
999    }
1000
1001    // optional bytes message_body = 2;
1002
1003    pub fn clear_message_body(&mut self) {
1004        self.message_body.clear();
1005    }
1006
1007    pub fn has_message_body(&self) -> bool {
1008        self.message_body.is_some()
1009    }
1010
1011    // Param is passed by value, moved
1012    pub fn set_message_body(&mut self, v: ::std::vec::Vec<u8>) {
1013        self.message_body = ::protobuf::SingularField::some(v);
1014    }
1015
1016    // Mutable pointer to the field.
1017    // If field is not initialized, it is initialized with default value first.
1018    pub fn mut_message_body<'a>(&'a mut self) -> &'a mut ::std::vec::Vec<u8> {
1019        if self.message_body.is_none() {
1020            self.message_body.set_default();
1021        };
1022        self.message_body.as_mut().unwrap()
1023    }
1024
1025    // Take field
1026    pub fn take_message_body(&mut self) -> ::std::vec::Vec<u8> {
1027        self.message_body.take().unwrap_or_else(|| ::std::vec::Vec::new())
1028    }
1029
1030    pub fn get_message_body<'a>(&'a self) -> &'a [u8] {
1031        match self.message_body.as_ref() {
1032            Some(v) => &v,
1033            None => &[],
1034        }
1035    }
1036}
1037
1038impl ::protobuf::Message for CMsgMulti {
1039    fn is_initialized(&self) -> bool {
1040        true
1041    }
1042
1043    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
1044        while !try!(is.eof()) {
1045            let (field_number, wire_type) = try!(is.read_tag_unpack());
1046            match field_number {
1047                1 => {
1048                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1049                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1050                    };
1051                    let tmp = try!(is.read_uint32());
1052                    self.size_unzipped = ::std::option::Option::Some(tmp);
1053                },
1054                2 => {
1055                    try!(::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.message_body));
1056                },
1057                _ => {
1058                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
1059                },
1060            };
1061        }
1062        ::std::result::Result::Ok(())
1063    }
1064
1065    // Compute sizes of nested messages
1066    #[allow(unused_variables)]
1067    fn compute_size(&self) -> u32 {
1068        let mut my_size = 0;
1069        for value in self.size_unzipped.iter() {
1070            my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
1071        };
1072        for value in self.message_body.iter() {
1073            my_size += ::protobuf::rt::bytes_size(2, &value);
1074        };
1075        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1076        self.cached_size.set(my_size);
1077        my_size
1078    }
1079
1080    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
1081        if let Some(v) = self.size_unzipped {
1082            try!(os.write_uint32(1, v));
1083        };
1084        if let Some(v) = self.message_body.as_ref() {
1085            try!(os.write_bytes(2, &v));
1086        };
1087        try!(os.write_unknown_fields(self.get_unknown_fields()));
1088        ::std::result::Result::Ok(())
1089    }
1090
1091    fn get_cached_size(&self) -> u32 {
1092        self.cached_size.get()
1093    }
1094
1095    fn get_unknown_fields<'s>(&'s self) -> &'s ::protobuf::UnknownFields {
1096        &self.unknown_fields
1097    }
1098
1099    fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut ::protobuf::UnknownFields {
1100        &mut self.unknown_fields
1101    }
1102
1103    fn type_id(&self) -> ::std::any::TypeId {
1104        ::std::any::TypeId::of::<CMsgMulti>()
1105    }
1106
1107    fn as_any(&self) -> &::std::any::Any {
1108        self as &::std::any::Any
1109    }
1110
1111    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1112        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
1113    }
1114}
1115
1116impl ::protobuf::MessageStatic for CMsgMulti {
1117    fn new() -> CMsgMulti {
1118        CMsgMulti::new()
1119    }
1120
1121    fn descriptor_static(_: ::std::option::Option<CMsgMulti>) -> &'static ::protobuf::reflect::MessageDescriptor {
1122        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
1123            lock: ::protobuf::lazy::ONCE_INIT,
1124            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
1125        };
1126        unsafe {
1127            descriptor.get(|| {
1128                let mut fields = ::std::vec::Vec::new();
1129                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
1130                    "size_unzipped",
1131                    CMsgMulti::has_size_unzipped,
1132                    CMsgMulti::get_size_unzipped,
1133                ));
1134                fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor(
1135                    "message_body",
1136                    CMsgMulti::has_message_body,
1137                    CMsgMulti::get_message_body,
1138                ));
1139                ::protobuf::reflect::MessageDescriptor::new::<CMsgMulti>(
1140                    "CMsgMulti",
1141                    fields,
1142                    file_descriptor_proto()
1143                )
1144            })
1145        }
1146    }
1147}
1148
1149impl ::protobuf::Clear for CMsgMulti {
1150    fn clear(&mut self) {
1151        self.clear_size_unzipped();
1152        self.clear_message_body();
1153        self.unknown_fields.clear();
1154    }
1155}
1156
1157impl ::std::cmp::PartialEq for CMsgMulti {
1158    fn eq(&self, other: &CMsgMulti) -> bool {
1159        self.size_unzipped == other.size_unzipped &&
1160        self.message_body == other.message_body &&
1161        self.unknown_fields == other.unknown_fields
1162    }
1163}
1164
1165impl ::std::fmt::Debug for CMsgMulti {
1166    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1167        ::protobuf::text_format::fmt(self, f)
1168    }
1169}
1170
1171#[derive(Clone,Default)]
1172pub struct CMsgProtobufWrapped {
1173    // message fields
1174    message_body: ::protobuf::SingularField<::std::vec::Vec<u8>>,
1175    // special fields
1176    unknown_fields: ::protobuf::UnknownFields,
1177    cached_size: ::std::cell::Cell<u32>,
1178}
1179
1180// see codegen.rs for the explanation why impl Sync explicitly
1181unsafe impl ::std::marker::Sync for CMsgProtobufWrapped {}
1182
1183impl CMsgProtobufWrapped {
1184    pub fn new() -> CMsgProtobufWrapped {
1185        ::std::default::Default::default()
1186    }
1187
1188    pub fn default_instance() -> &'static CMsgProtobufWrapped {
1189        static mut instance: ::protobuf::lazy::Lazy<CMsgProtobufWrapped> = ::protobuf::lazy::Lazy {
1190            lock: ::protobuf::lazy::ONCE_INIT,
1191            ptr: 0 as *const CMsgProtobufWrapped,
1192        };
1193        unsafe {
1194            instance.get(|| {
1195                CMsgProtobufWrapped {
1196                    message_body: ::protobuf::SingularField::none(),
1197                    unknown_fields: ::protobuf::UnknownFields::new(),
1198                    cached_size: ::std::cell::Cell::new(0),
1199                }
1200            })
1201        }
1202    }
1203
1204    // optional bytes message_body = 1;
1205
1206    pub fn clear_message_body(&mut self) {
1207        self.message_body.clear();
1208    }
1209
1210    pub fn has_message_body(&self) -> bool {
1211        self.message_body.is_some()
1212    }
1213
1214    // Param is passed by value, moved
1215    pub fn set_message_body(&mut self, v: ::std::vec::Vec<u8>) {
1216        self.message_body = ::protobuf::SingularField::some(v);
1217    }
1218
1219    // Mutable pointer to the field.
1220    // If field is not initialized, it is initialized with default value first.
1221    pub fn mut_message_body<'a>(&'a mut self) -> &'a mut ::std::vec::Vec<u8> {
1222        if self.message_body.is_none() {
1223            self.message_body.set_default();
1224        };
1225        self.message_body.as_mut().unwrap()
1226    }
1227
1228    // Take field
1229    pub fn take_message_body(&mut self) -> ::std::vec::Vec<u8> {
1230        self.message_body.take().unwrap_or_else(|| ::std::vec::Vec::new())
1231    }
1232
1233    pub fn get_message_body<'a>(&'a self) -> &'a [u8] {
1234        match self.message_body.as_ref() {
1235            Some(v) => &v,
1236            None => &[],
1237        }
1238    }
1239}
1240
1241impl ::protobuf::Message for CMsgProtobufWrapped {
1242    fn is_initialized(&self) -> bool {
1243        true
1244    }
1245
1246    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
1247        while !try!(is.eof()) {
1248            let (field_number, wire_type) = try!(is.read_tag_unpack());
1249            match field_number {
1250                1 => {
1251                    try!(::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.message_body));
1252                },
1253                _ => {
1254                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
1255                },
1256            };
1257        }
1258        ::std::result::Result::Ok(())
1259    }
1260
1261    // Compute sizes of nested messages
1262    #[allow(unused_variables)]
1263    fn compute_size(&self) -> u32 {
1264        let mut my_size = 0;
1265        for value in self.message_body.iter() {
1266            my_size += ::protobuf::rt::bytes_size(1, &value);
1267        };
1268        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1269        self.cached_size.set(my_size);
1270        my_size
1271    }
1272
1273    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
1274        if let Some(v) = self.message_body.as_ref() {
1275            try!(os.write_bytes(1, &v));
1276        };
1277        try!(os.write_unknown_fields(self.get_unknown_fields()));
1278        ::std::result::Result::Ok(())
1279    }
1280
1281    fn get_cached_size(&self) -> u32 {
1282        self.cached_size.get()
1283    }
1284
1285    fn get_unknown_fields<'s>(&'s self) -> &'s ::protobuf::UnknownFields {
1286        &self.unknown_fields
1287    }
1288
1289    fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut ::protobuf::UnknownFields {
1290        &mut self.unknown_fields
1291    }
1292
1293    fn type_id(&self) -> ::std::any::TypeId {
1294        ::std::any::TypeId::of::<CMsgProtobufWrapped>()
1295    }
1296
1297    fn as_any(&self) -> &::std::any::Any {
1298        self as &::std::any::Any
1299    }
1300
1301    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1302        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
1303    }
1304}
1305
1306impl ::protobuf::MessageStatic for CMsgProtobufWrapped {
1307    fn new() -> CMsgProtobufWrapped {
1308        CMsgProtobufWrapped::new()
1309    }
1310
1311    fn descriptor_static(_: ::std::option::Option<CMsgProtobufWrapped>) -> &'static ::protobuf::reflect::MessageDescriptor {
1312        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
1313            lock: ::protobuf::lazy::ONCE_INIT,
1314            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
1315        };
1316        unsafe {
1317            descriptor.get(|| {
1318                let mut fields = ::std::vec::Vec::new();
1319                fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor(
1320                    "message_body",
1321                    CMsgProtobufWrapped::has_message_body,
1322                    CMsgProtobufWrapped::get_message_body,
1323                ));
1324                ::protobuf::reflect::MessageDescriptor::new::<CMsgProtobufWrapped>(
1325                    "CMsgProtobufWrapped",
1326                    fields,
1327                    file_descriptor_proto()
1328                )
1329            })
1330        }
1331    }
1332}
1333
1334impl ::protobuf::Clear for CMsgProtobufWrapped {
1335    fn clear(&mut self) {
1336        self.clear_message_body();
1337        self.unknown_fields.clear();
1338    }
1339}
1340
1341impl ::std::cmp::PartialEq for CMsgProtobufWrapped {
1342    fn eq(&self, other: &CMsgProtobufWrapped) -> bool {
1343        self.message_body == other.message_body &&
1344        self.unknown_fields == other.unknown_fields
1345    }
1346}
1347
1348impl ::std::fmt::Debug for CMsgProtobufWrapped {
1349    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1350        ::protobuf::text_format::fmt(self, f)
1351    }
1352}
1353
1354#[derive(Clone,Default)]
1355pub struct CMsgAuthTicket {
1356    // message fields
1357    estate: ::std::option::Option<u32>,
1358    eresult: ::std::option::Option<u32>,
1359    steamid: ::std::option::Option<u64>,
1360    gameid: ::std::option::Option<u64>,
1361    h_steam_pipe: ::std::option::Option<u32>,
1362    ticket_crc: ::std::option::Option<u32>,
1363    ticket: ::protobuf::SingularField<::std::vec::Vec<u8>>,
1364    // special fields
1365    unknown_fields: ::protobuf::UnknownFields,
1366    cached_size: ::std::cell::Cell<u32>,
1367}
1368
1369// see codegen.rs for the explanation why impl Sync explicitly
1370unsafe impl ::std::marker::Sync for CMsgAuthTicket {}
1371
1372impl CMsgAuthTicket {
1373    pub fn new() -> CMsgAuthTicket {
1374        ::std::default::Default::default()
1375    }
1376
1377    pub fn default_instance() -> &'static CMsgAuthTicket {
1378        static mut instance: ::protobuf::lazy::Lazy<CMsgAuthTicket> = ::protobuf::lazy::Lazy {
1379            lock: ::protobuf::lazy::ONCE_INIT,
1380            ptr: 0 as *const CMsgAuthTicket,
1381        };
1382        unsafe {
1383            instance.get(|| {
1384                CMsgAuthTicket {
1385                    estate: ::std::option::Option::None,
1386                    eresult: ::std::option::Option::None,
1387                    steamid: ::std::option::Option::None,
1388                    gameid: ::std::option::Option::None,
1389                    h_steam_pipe: ::std::option::Option::None,
1390                    ticket_crc: ::std::option::Option::None,
1391                    ticket: ::protobuf::SingularField::none(),
1392                    unknown_fields: ::protobuf::UnknownFields::new(),
1393                    cached_size: ::std::cell::Cell::new(0),
1394                }
1395            })
1396        }
1397    }
1398
1399    // optional uint32 estate = 1;
1400
1401    pub fn clear_estate(&mut self) {
1402        self.estate = ::std::option::Option::None;
1403    }
1404
1405    pub fn has_estate(&self) -> bool {
1406        self.estate.is_some()
1407    }
1408
1409    // Param is passed by value, moved
1410    pub fn set_estate(&mut self, v: u32) {
1411        self.estate = ::std::option::Option::Some(v);
1412    }
1413
1414    pub fn get_estate<'a>(&self) -> u32 {
1415        self.estate.unwrap_or(0)
1416    }
1417
1418    // optional uint32 eresult = 2;
1419
1420    pub fn clear_eresult(&mut self) {
1421        self.eresult = ::std::option::Option::None;
1422    }
1423
1424    pub fn has_eresult(&self) -> bool {
1425        self.eresult.is_some()
1426    }
1427
1428    // Param is passed by value, moved
1429    pub fn set_eresult(&mut self, v: u32) {
1430        self.eresult = ::std::option::Option::Some(v);
1431    }
1432
1433    pub fn get_eresult<'a>(&self) -> u32 {
1434        self.eresult.unwrap_or(2u32)
1435    }
1436
1437    // optional fixed64 steamid = 3;
1438
1439    pub fn clear_steamid(&mut self) {
1440        self.steamid = ::std::option::Option::None;
1441    }
1442
1443    pub fn has_steamid(&self) -> bool {
1444        self.steamid.is_some()
1445    }
1446
1447    // Param is passed by value, moved
1448    pub fn set_steamid(&mut self, v: u64) {
1449        self.steamid = ::std::option::Option::Some(v);
1450    }
1451
1452    pub fn get_steamid<'a>(&self) -> u64 {
1453        self.steamid.unwrap_or(0)
1454    }
1455
1456    // optional fixed64 gameid = 4;
1457
1458    pub fn clear_gameid(&mut self) {
1459        self.gameid = ::std::option::Option::None;
1460    }
1461
1462    pub fn has_gameid(&self) -> bool {
1463        self.gameid.is_some()
1464    }
1465
1466    // Param is passed by value, moved
1467    pub fn set_gameid(&mut self, v: u64) {
1468        self.gameid = ::std::option::Option::Some(v);
1469    }
1470
1471    pub fn get_gameid<'a>(&self) -> u64 {
1472        self.gameid.unwrap_or(0)
1473    }
1474
1475    // optional uint32 h_steam_pipe = 5;
1476
1477    pub fn clear_h_steam_pipe(&mut self) {
1478        self.h_steam_pipe = ::std::option::Option::None;
1479    }
1480
1481    pub fn has_h_steam_pipe(&self) -> bool {
1482        self.h_steam_pipe.is_some()
1483    }
1484
1485    // Param is passed by value, moved
1486    pub fn set_h_steam_pipe(&mut self, v: u32) {
1487        self.h_steam_pipe = ::std::option::Option::Some(v);
1488    }
1489
1490    pub fn get_h_steam_pipe<'a>(&self) -> u32 {
1491        self.h_steam_pipe.unwrap_or(0)
1492    }
1493
1494    // optional uint32 ticket_crc = 6;
1495
1496    pub fn clear_ticket_crc(&mut self) {
1497        self.ticket_crc = ::std::option::Option::None;
1498    }
1499
1500    pub fn has_ticket_crc(&self) -> bool {
1501        self.ticket_crc.is_some()
1502    }
1503
1504    // Param is passed by value, moved
1505    pub fn set_ticket_crc(&mut self, v: u32) {
1506        self.ticket_crc = ::std::option::Option::Some(v);
1507    }
1508
1509    pub fn get_ticket_crc<'a>(&self) -> u32 {
1510        self.ticket_crc.unwrap_or(0)
1511    }
1512
1513    // optional bytes ticket = 7;
1514
1515    pub fn clear_ticket(&mut self) {
1516        self.ticket.clear();
1517    }
1518
1519    pub fn has_ticket(&self) -> bool {
1520        self.ticket.is_some()
1521    }
1522
1523    // Param is passed by value, moved
1524    pub fn set_ticket(&mut self, v: ::std::vec::Vec<u8>) {
1525        self.ticket = ::protobuf::SingularField::some(v);
1526    }
1527
1528    // Mutable pointer to the field.
1529    // If field is not initialized, it is initialized with default value first.
1530    pub fn mut_ticket<'a>(&'a mut self) -> &'a mut ::std::vec::Vec<u8> {
1531        if self.ticket.is_none() {
1532            self.ticket.set_default();
1533        };
1534        self.ticket.as_mut().unwrap()
1535    }
1536
1537    // Take field
1538    pub fn take_ticket(&mut self) -> ::std::vec::Vec<u8> {
1539        self.ticket.take().unwrap_or_else(|| ::std::vec::Vec::new())
1540    }
1541
1542    pub fn get_ticket<'a>(&'a self) -> &'a [u8] {
1543        match self.ticket.as_ref() {
1544            Some(v) => &v,
1545            None => &[],
1546        }
1547    }
1548}
1549
1550impl ::protobuf::Message for CMsgAuthTicket {
1551    fn is_initialized(&self) -> bool {
1552        true
1553    }
1554
1555    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
1556        while !try!(is.eof()) {
1557            let (field_number, wire_type) = try!(is.read_tag_unpack());
1558            match field_number {
1559                1 => {
1560                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1561                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1562                    };
1563                    let tmp = try!(is.read_uint32());
1564                    self.estate = ::std::option::Option::Some(tmp);
1565                },
1566                2 => {
1567                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1568                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1569                    };
1570                    let tmp = try!(is.read_uint32());
1571                    self.eresult = ::std::option::Option::Some(tmp);
1572                },
1573                3 => {
1574                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
1575                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1576                    };
1577                    let tmp = try!(is.read_fixed64());
1578                    self.steamid = ::std::option::Option::Some(tmp);
1579                },
1580                4 => {
1581                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
1582                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1583                    };
1584                    let tmp = try!(is.read_fixed64());
1585                    self.gameid = ::std::option::Option::Some(tmp);
1586                },
1587                5 => {
1588                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1589                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1590                    };
1591                    let tmp = try!(is.read_uint32());
1592                    self.h_steam_pipe = ::std::option::Option::Some(tmp);
1593                },
1594                6 => {
1595                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1596                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1597                    };
1598                    let tmp = try!(is.read_uint32());
1599                    self.ticket_crc = ::std::option::Option::Some(tmp);
1600                },
1601                7 => {
1602                    try!(::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.ticket));
1603                },
1604                _ => {
1605                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
1606                },
1607            };
1608        }
1609        ::std::result::Result::Ok(())
1610    }
1611
1612    // Compute sizes of nested messages
1613    #[allow(unused_variables)]
1614    fn compute_size(&self) -> u32 {
1615        let mut my_size = 0;
1616        for value in self.estate.iter() {
1617            my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
1618        };
1619        for value in self.eresult.iter() {
1620            my_size += ::protobuf::rt::value_size(2, *value, ::protobuf::wire_format::WireTypeVarint);
1621        };
1622        if self.steamid.is_some() {
1623            my_size += 9;
1624        };
1625        if self.gameid.is_some() {
1626            my_size += 9;
1627        };
1628        for value in self.h_steam_pipe.iter() {
1629            my_size += ::protobuf::rt::value_size(5, *value, ::protobuf::wire_format::WireTypeVarint);
1630        };
1631        for value in self.ticket_crc.iter() {
1632            my_size += ::protobuf::rt::value_size(6, *value, ::protobuf::wire_format::WireTypeVarint);
1633        };
1634        for value in self.ticket.iter() {
1635            my_size += ::protobuf::rt::bytes_size(7, &value);
1636        };
1637        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1638        self.cached_size.set(my_size);
1639        my_size
1640    }
1641
1642    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
1643        if let Some(v) = self.estate {
1644            try!(os.write_uint32(1, v));
1645        };
1646        if let Some(v) = self.eresult {
1647            try!(os.write_uint32(2, v));
1648        };
1649        if let Some(v) = self.steamid {
1650            try!(os.write_fixed64(3, v));
1651        };
1652        if let Some(v) = self.gameid {
1653            try!(os.write_fixed64(4, v));
1654        };
1655        if let Some(v) = self.h_steam_pipe {
1656            try!(os.write_uint32(5, v));
1657        };
1658        if let Some(v) = self.ticket_crc {
1659            try!(os.write_uint32(6, v));
1660        };
1661        if let Some(v) = self.ticket.as_ref() {
1662            try!(os.write_bytes(7, &v));
1663        };
1664        try!(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<'s>(&'s self) -> &'s ::protobuf::UnknownFields {
1673        &self.unknown_fields
1674    }
1675
1676    fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut ::protobuf::UnknownFields {
1677        &mut self.unknown_fields
1678    }
1679
1680    fn type_id(&self) -> ::std::any::TypeId {
1681        ::std::any::TypeId::of::<CMsgAuthTicket>()
1682    }
1683
1684    fn as_any(&self) -> &::std::any::Any {
1685        self as &::std::any::Any
1686    }
1687
1688    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1689        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
1690    }
1691}
1692
1693impl ::protobuf::MessageStatic for CMsgAuthTicket {
1694    fn new() -> CMsgAuthTicket {
1695        CMsgAuthTicket::new()
1696    }
1697
1698    fn descriptor_static(_: ::std::option::Option<CMsgAuthTicket>) -> &'static ::protobuf::reflect::MessageDescriptor {
1699        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
1700            lock: ::protobuf::lazy::ONCE_INIT,
1701            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
1702        };
1703        unsafe {
1704            descriptor.get(|| {
1705                let mut fields = ::std::vec::Vec::new();
1706                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
1707                    "estate",
1708                    CMsgAuthTicket::has_estate,
1709                    CMsgAuthTicket::get_estate,
1710                ));
1711                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
1712                    "eresult",
1713                    CMsgAuthTicket::has_eresult,
1714                    CMsgAuthTicket::get_eresult,
1715                ));
1716                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
1717                    "steamid",
1718                    CMsgAuthTicket::has_steamid,
1719                    CMsgAuthTicket::get_steamid,
1720                ));
1721                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
1722                    "gameid",
1723                    CMsgAuthTicket::has_gameid,
1724                    CMsgAuthTicket::get_gameid,
1725                ));
1726                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
1727                    "h_steam_pipe",
1728                    CMsgAuthTicket::has_h_steam_pipe,
1729                    CMsgAuthTicket::get_h_steam_pipe,
1730                ));
1731                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
1732                    "ticket_crc",
1733                    CMsgAuthTicket::has_ticket_crc,
1734                    CMsgAuthTicket::get_ticket_crc,
1735                ));
1736                fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor(
1737                    "ticket",
1738                    CMsgAuthTicket::has_ticket,
1739                    CMsgAuthTicket::get_ticket,
1740                ));
1741                ::protobuf::reflect::MessageDescriptor::new::<CMsgAuthTicket>(
1742                    "CMsgAuthTicket",
1743                    fields,
1744                    file_descriptor_proto()
1745                )
1746            })
1747        }
1748    }
1749}
1750
1751impl ::protobuf::Clear for CMsgAuthTicket {
1752    fn clear(&mut self) {
1753        self.clear_estate();
1754        self.clear_eresult();
1755        self.clear_steamid();
1756        self.clear_gameid();
1757        self.clear_h_steam_pipe();
1758        self.clear_ticket_crc();
1759        self.clear_ticket();
1760        self.unknown_fields.clear();
1761    }
1762}
1763
1764impl ::std::cmp::PartialEq for CMsgAuthTicket {
1765    fn eq(&self, other: &CMsgAuthTicket) -> bool {
1766        self.estate == other.estate &&
1767        self.eresult == other.eresult &&
1768        self.steamid == other.steamid &&
1769        self.gameid == other.gameid &&
1770        self.h_steam_pipe == other.h_steam_pipe &&
1771        self.ticket_crc == other.ticket_crc &&
1772        self.ticket == other.ticket &&
1773        self.unknown_fields == other.unknown_fields
1774    }
1775}
1776
1777impl ::std::fmt::Debug for CMsgAuthTicket {
1778    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1779        ::protobuf::text_format::fmt(self, f)
1780    }
1781}
1782
1783#[derive(Clone,Default)]
1784pub struct CCDDBAppDetailCommon {
1785    // message fields
1786    appid: ::std::option::Option<u32>,
1787    name: ::protobuf::SingularField<::std::string::String>,
1788    icon: ::protobuf::SingularField<::std::string::String>,
1789    logo: ::protobuf::SingularField<::std::string::String>,
1790    logo_small: ::protobuf::SingularField<::std::string::String>,
1791    tool: ::std::option::Option<bool>,
1792    demo: ::std::option::Option<bool>,
1793    media: ::std::option::Option<bool>,
1794    community_visible_stats: ::std::option::Option<bool>,
1795    friendly_name: ::protobuf::SingularField<::std::string::String>,
1796    propagation: ::protobuf::SingularField<::std::string::String>,
1797    has_adult_content: ::std::option::Option<bool>,
1798    // special fields
1799    unknown_fields: ::protobuf::UnknownFields,
1800    cached_size: ::std::cell::Cell<u32>,
1801}
1802
1803// see codegen.rs for the explanation why impl Sync explicitly
1804unsafe impl ::std::marker::Sync for CCDDBAppDetailCommon {}
1805
1806impl CCDDBAppDetailCommon {
1807    pub fn new() -> CCDDBAppDetailCommon {
1808        ::std::default::Default::default()
1809    }
1810
1811    pub fn default_instance() -> &'static CCDDBAppDetailCommon {
1812        static mut instance: ::protobuf::lazy::Lazy<CCDDBAppDetailCommon> = ::protobuf::lazy::Lazy {
1813            lock: ::protobuf::lazy::ONCE_INIT,
1814            ptr: 0 as *const CCDDBAppDetailCommon,
1815        };
1816        unsafe {
1817            instance.get(|| {
1818                CCDDBAppDetailCommon {
1819                    appid: ::std::option::Option::None,
1820                    name: ::protobuf::SingularField::none(),
1821                    icon: ::protobuf::SingularField::none(),
1822                    logo: ::protobuf::SingularField::none(),
1823                    logo_small: ::protobuf::SingularField::none(),
1824                    tool: ::std::option::Option::None,
1825                    demo: ::std::option::Option::None,
1826                    media: ::std::option::Option::None,
1827                    community_visible_stats: ::std::option::Option::None,
1828                    friendly_name: ::protobuf::SingularField::none(),
1829                    propagation: ::protobuf::SingularField::none(),
1830                    has_adult_content: ::std::option::Option::None,
1831                    unknown_fields: ::protobuf::UnknownFields::new(),
1832                    cached_size: ::std::cell::Cell::new(0),
1833                }
1834            })
1835        }
1836    }
1837
1838    // optional uint32 appid = 1;
1839
1840    pub fn clear_appid(&mut self) {
1841        self.appid = ::std::option::Option::None;
1842    }
1843
1844    pub fn has_appid(&self) -> bool {
1845        self.appid.is_some()
1846    }
1847
1848    // Param is passed by value, moved
1849    pub fn set_appid(&mut self, v: u32) {
1850        self.appid = ::std::option::Option::Some(v);
1851    }
1852
1853    pub fn get_appid<'a>(&self) -> u32 {
1854        self.appid.unwrap_or(0)
1855    }
1856
1857    // optional string name = 2;
1858
1859    pub fn clear_name(&mut self) {
1860        self.name.clear();
1861    }
1862
1863    pub fn has_name(&self) -> bool {
1864        self.name.is_some()
1865    }
1866
1867    // Param is passed by value, moved
1868    pub fn set_name(&mut self, v: ::std::string::String) {
1869        self.name = ::protobuf::SingularField::some(v);
1870    }
1871
1872    // Mutable pointer to the field.
1873    // If field is not initialized, it is initialized with default value first.
1874    pub fn mut_name<'a>(&'a mut self) -> &'a mut ::std::string::String {
1875        if self.name.is_none() {
1876            self.name.set_default();
1877        };
1878        self.name.as_mut().unwrap()
1879    }
1880
1881    // Take field
1882    pub fn take_name(&mut self) -> ::std::string::String {
1883        self.name.take().unwrap_or_else(|| ::std::string::String::new())
1884    }
1885
1886    pub fn get_name<'a>(&'a self) -> &'a str {
1887        match self.name.as_ref() {
1888            Some(v) => &v,
1889            None => "",
1890        }
1891    }
1892
1893    // optional string icon = 3;
1894
1895    pub fn clear_icon(&mut self) {
1896        self.icon.clear();
1897    }
1898
1899    pub fn has_icon(&self) -> bool {
1900        self.icon.is_some()
1901    }
1902
1903    // Param is passed by value, moved
1904    pub fn set_icon(&mut self, v: ::std::string::String) {
1905        self.icon = ::protobuf::SingularField::some(v);
1906    }
1907
1908    // Mutable pointer to the field.
1909    // If field is not initialized, it is initialized with default value first.
1910    pub fn mut_icon<'a>(&'a mut self) -> &'a mut ::std::string::String {
1911        if self.icon.is_none() {
1912            self.icon.set_default();
1913        };
1914        self.icon.as_mut().unwrap()
1915    }
1916
1917    // Take field
1918    pub fn take_icon(&mut self) -> ::std::string::String {
1919        self.icon.take().unwrap_or_else(|| ::std::string::String::new())
1920    }
1921
1922    pub fn get_icon<'a>(&'a self) -> &'a str {
1923        match self.icon.as_ref() {
1924            Some(v) => &v,
1925            None => "",
1926        }
1927    }
1928
1929    // optional string logo = 4;
1930
1931    pub fn clear_logo(&mut self) {
1932        self.logo.clear();
1933    }
1934
1935    pub fn has_logo(&self) -> bool {
1936        self.logo.is_some()
1937    }
1938
1939    // Param is passed by value, moved
1940    pub fn set_logo(&mut self, v: ::std::string::String) {
1941        self.logo = ::protobuf::SingularField::some(v);
1942    }
1943
1944    // Mutable pointer to the field.
1945    // If field is not initialized, it is initialized with default value first.
1946    pub fn mut_logo<'a>(&'a mut self) -> &'a mut ::std::string::String {
1947        if self.logo.is_none() {
1948            self.logo.set_default();
1949        };
1950        self.logo.as_mut().unwrap()
1951    }
1952
1953    // Take field
1954    pub fn take_logo(&mut self) -> ::std::string::String {
1955        self.logo.take().unwrap_or_else(|| ::std::string::String::new())
1956    }
1957
1958    pub fn get_logo<'a>(&'a self) -> &'a str {
1959        match self.logo.as_ref() {
1960            Some(v) => &v,
1961            None => "",
1962        }
1963    }
1964
1965    // optional string logo_small = 5;
1966
1967    pub fn clear_logo_small(&mut self) {
1968        self.logo_small.clear();
1969    }
1970
1971    pub fn has_logo_small(&self) -> bool {
1972        self.logo_small.is_some()
1973    }
1974
1975    // Param is passed by value, moved
1976    pub fn set_logo_small(&mut self, v: ::std::string::String) {
1977        self.logo_small = ::protobuf::SingularField::some(v);
1978    }
1979
1980    // Mutable pointer to the field.
1981    // If field is not initialized, it is initialized with default value first.
1982    pub fn mut_logo_small<'a>(&'a mut self) -> &'a mut ::std::string::String {
1983        if self.logo_small.is_none() {
1984            self.logo_small.set_default();
1985        };
1986        self.logo_small.as_mut().unwrap()
1987    }
1988
1989    // Take field
1990    pub fn take_logo_small(&mut self) -> ::std::string::String {
1991        self.logo_small.take().unwrap_or_else(|| ::std::string::String::new())
1992    }
1993
1994    pub fn get_logo_small<'a>(&'a self) -> &'a str {
1995        match self.logo_small.as_ref() {
1996            Some(v) => &v,
1997            None => "",
1998        }
1999    }
2000
2001    // optional bool tool = 6;
2002
2003    pub fn clear_tool(&mut self) {
2004        self.tool = ::std::option::Option::None;
2005    }
2006
2007    pub fn has_tool(&self) -> bool {
2008        self.tool.is_some()
2009    }
2010
2011    // Param is passed by value, moved
2012    pub fn set_tool(&mut self, v: bool) {
2013        self.tool = ::std::option::Option::Some(v);
2014    }
2015
2016    pub fn get_tool<'a>(&self) -> bool {
2017        self.tool.unwrap_or(false)
2018    }
2019
2020    // optional bool demo = 7;
2021
2022    pub fn clear_demo(&mut self) {
2023        self.demo = ::std::option::Option::None;
2024    }
2025
2026    pub fn has_demo(&self) -> bool {
2027        self.demo.is_some()
2028    }
2029
2030    // Param is passed by value, moved
2031    pub fn set_demo(&mut self, v: bool) {
2032        self.demo = ::std::option::Option::Some(v);
2033    }
2034
2035    pub fn get_demo<'a>(&self) -> bool {
2036        self.demo.unwrap_or(false)
2037    }
2038
2039    // optional bool media = 8;
2040
2041    pub fn clear_media(&mut self) {
2042        self.media = ::std::option::Option::None;
2043    }
2044
2045    pub fn has_media(&self) -> bool {
2046        self.media.is_some()
2047    }
2048
2049    // Param is passed by value, moved
2050    pub fn set_media(&mut self, v: bool) {
2051        self.media = ::std::option::Option::Some(v);
2052    }
2053
2054    pub fn get_media<'a>(&self) -> bool {
2055        self.media.unwrap_or(false)
2056    }
2057
2058    // optional bool community_visible_stats = 9;
2059
2060    pub fn clear_community_visible_stats(&mut self) {
2061        self.community_visible_stats = ::std::option::Option::None;
2062    }
2063
2064    pub fn has_community_visible_stats(&self) -> bool {
2065        self.community_visible_stats.is_some()
2066    }
2067
2068    // Param is passed by value, moved
2069    pub fn set_community_visible_stats(&mut self, v: bool) {
2070        self.community_visible_stats = ::std::option::Option::Some(v);
2071    }
2072
2073    pub fn get_community_visible_stats<'a>(&self) -> bool {
2074        self.community_visible_stats.unwrap_or(false)
2075    }
2076
2077    // optional string friendly_name = 10;
2078
2079    pub fn clear_friendly_name(&mut self) {
2080        self.friendly_name.clear();
2081    }
2082
2083    pub fn has_friendly_name(&self) -> bool {
2084        self.friendly_name.is_some()
2085    }
2086
2087    // Param is passed by value, moved
2088    pub fn set_friendly_name(&mut self, v: ::std::string::String) {
2089        self.friendly_name = ::protobuf::SingularField::some(v);
2090    }
2091
2092    // Mutable pointer to the field.
2093    // If field is not initialized, it is initialized with default value first.
2094    pub fn mut_friendly_name<'a>(&'a mut self) -> &'a mut ::std::string::String {
2095        if self.friendly_name.is_none() {
2096            self.friendly_name.set_default();
2097        };
2098        self.friendly_name.as_mut().unwrap()
2099    }
2100
2101    // Take field
2102    pub fn take_friendly_name(&mut self) -> ::std::string::String {
2103        self.friendly_name.take().unwrap_or_else(|| ::std::string::String::new())
2104    }
2105
2106    pub fn get_friendly_name<'a>(&'a self) -> &'a str {
2107        match self.friendly_name.as_ref() {
2108            Some(v) => &v,
2109            None => "",
2110        }
2111    }
2112
2113    // optional string propagation = 11;
2114
2115    pub fn clear_propagation(&mut self) {
2116        self.propagation.clear();
2117    }
2118
2119    pub fn has_propagation(&self) -> bool {
2120        self.propagation.is_some()
2121    }
2122
2123    // Param is passed by value, moved
2124    pub fn set_propagation(&mut self, v: ::std::string::String) {
2125        self.propagation = ::protobuf::SingularField::some(v);
2126    }
2127
2128    // Mutable pointer to the field.
2129    // If field is not initialized, it is initialized with default value first.
2130    pub fn mut_propagation<'a>(&'a mut self) -> &'a mut ::std::string::String {
2131        if self.propagation.is_none() {
2132            self.propagation.set_default();
2133        };
2134        self.propagation.as_mut().unwrap()
2135    }
2136
2137    // Take field
2138    pub fn take_propagation(&mut self) -> ::std::string::String {
2139        self.propagation.take().unwrap_or_else(|| ::std::string::String::new())
2140    }
2141
2142    pub fn get_propagation<'a>(&'a self) -> &'a str {
2143        match self.propagation.as_ref() {
2144            Some(v) => &v,
2145            None => "",
2146        }
2147    }
2148
2149    // optional bool has_adult_content = 12;
2150
2151    pub fn clear_has_adult_content(&mut self) {
2152        self.has_adult_content = ::std::option::Option::None;
2153    }
2154
2155    pub fn has_has_adult_content(&self) -> bool {
2156        self.has_adult_content.is_some()
2157    }
2158
2159    // Param is passed by value, moved
2160    pub fn set_has_adult_content(&mut self, v: bool) {
2161        self.has_adult_content = ::std::option::Option::Some(v);
2162    }
2163
2164    pub fn get_has_adult_content<'a>(&self) -> bool {
2165        self.has_adult_content.unwrap_or(false)
2166    }
2167}
2168
2169impl ::protobuf::Message for CCDDBAppDetailCommon {
2170    fn is_initialized(&self) -> bool {
2171        true
2172    }
2173
2174    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
2175        while !try!(is.eof()) {
2176            let (field_number, wire_type) = try!(is.read_tag_unpack());
2177            match field_number {
2178                1 => {
2179                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2180                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2181                    };
2182                    let tmp = try!(is.read_uint32());
2183                    self.appid = ::std::option::Option::Some(tmp);
2184                },
2185                2 => {
2186                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name));
2187                },
2188                3 => {
2189                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.icon));
2190                },
2191                4 => {
2192                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.logo));
2193                },
2194                5 => {
2195                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.logo_small));
2196                },
2197                6 => {
2198                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2199                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2200                    };
2201                    let tmp = try!(is.read_bool());
2202                    self.tool = ::std::option::Option::Some(tmp);
2203                },
2204                7 => {
2205                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2206                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2207                    };
2208                    let tmp = try!(is.read_bool());
2209                    self.demo = ::std::option::Option::Some(tmp);
2210                },
2211                8 => {
2212                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2213                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2214                    };
2215                    let tmp = try!(is.read_bool());
2216                    self.media = ::std::option::Option::Some(tmp);
2217                },
2218                9 => {
2219                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2220                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2221                    };
2222                    let tmp = try!(is.read_bool());
2223                    self.community_visible_stats = ::std::option::Option::Some(tmp);
2224                },
2225                10 => {
2226                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.friendly_name));
2227                },
2228                11 => {
2229                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.propagation));
2230                },
2231                12 => {
2232                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2233                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2234                    };
2235                    let tmp = try!(is.read_bool());
2236                    self.has_adult_content = ::std::option::Option::Some(tmp);
2237                },
2238                _ => {
2239                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
2240                },
2241            };
2242        }
2243        ::std::result::Result::Ok(())
2244    }
2245
2246    // Compute sizes of nested messages
2247    #[allow(unused_variables)]
2248    fn compute_size(&self) -> u32 {
2249        let mut my_size = 0;
2250        for value in self.appid.iter() {
2251            my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
2252        };
2253        for value in self.name.iter() {
2254            my_size += ::protobuf::rt::string_size(2, &value);
2255        };
2256        for value in self.icon.iter() {
2257            my_size += ::protobuf::rt::string_size(3, &value);
2258        };
2259        for value in self.logo.iter() {
2260            my_size += ::protobuf::rt::string_size(4, &value);
2261        };
2262        for value in self.logo_small.iter() {
2263            my_size += ::protobuf::rt::string_size(5, &value);
2264        };
2265        if self.tool.is_some() {
2266            my_size += 2;
2267        };
2268        if self.demo.is_some() {
2269            my_size += 2;
2270        };
2271        if self.media.is_some() {
2272            my_size += 2;
2273        };
2274        if self.community_visible_stats.is_some() {
2275            my_size += 2;
2276        };
2277        for value in self.friendly_name.iter() {
2278            my_size += ::protobuf::rt::string_size(10, &value);
2279        };
2280        for value in self.propagation.iter() {
2281            my_size += ::protobuf::rt::string_size(11, &value);
2282        };
2283        if self.has_adult_content.is_some() {
2284            my_size += 2;
2285        };
2286        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2287        self.cached_size.set(my_size);
2288        my_size
2289    }
2290
2291    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
2292        if let Some(v) = self.appid {
2293            try!(os.write_uint32(1, v));
2294        };
2295        if let Some(v) = self.name.as_ref() {
2296            try!(os.write_string(2, &v));
2297        };
2298        if let Some(v) = self.icon.as_ref() {
2299            try!(os.write_string(3, &v));
2300        };
2301        if let Some(v) = self.logo.as_ref() {
2302            try!(os.write_string(4, &v));
2303        };
2304        if let Some(v) = self.logo_small.as_ref() {
2305            try!(os.write_string(5, &v));
2306        };
2307        if let Some(v) = self.tool {
2308            try!(os.write_bool(6, v));
2309        };
2310        if let Some(v) = self.demo {
2311            try!(os.write_bool(7, v));
2312        };
2313        if let Some(v) = self.media {
2314            try!(os.write_bool(8, v));
2315        };
2316        if let Some(v) = self.community_visible_stats {
2317            try!(os.write_bool(9, v));
2318        };
2319        if let Some(v) = self.friendly_name.as_ref() {
2320            try!(os.write_string(10, &v));
2321        };
2322        if let Some(v) = self.propagation.as_ref() {
2323            try!(os.write_string(11, &v));
2324        };
2325        if let Some(v) = self.has_adult_content {
2326            try!(os.write_bool(12, v));
2327        };
2328        try!(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<'s>(&'s self) -> &'s ::protobuf::UnknownFields {
2337        &self.unknown_fields
2338    }
2339
2340    fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut ::protobuf::UnknownFields {
2341        &mut self.unknown_fields
2342    }
2343
2344    fn type_id(&self) -> ::std::any::TypeId {
2345        ::std::any::TypeId::of::<CCDDBAppDetailCommon>()
2346    }
2347
2348    fn as_any(&self) -> &::std::any::Any {
2349        self as &::std::any::Any
2350    }
2351
2352    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2353        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
2354    }
2355}
2356
2357impl ::protobuf::MessageStatic for CCDDBAppDetailCommon {
2358    fn new() -> CCDDBAppDetailCommon {
2359        CCDDBAppDetailCommon::new()
2360    }
2361
2362    fn descriptor_static(_: ::std::option::Option<CCDDBAppDetailCommon>) -> &'static ::protobuf::reflect::MessageDescriptor {
2363        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
2364            lock: ::protobuf::lazy::ONCE_INIT,
2365            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
2366        };
2367        unsafe {
2368            descriptor.get(|| {
2369                let mut fields = ::std::vec::Vec::new();
2370                fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor(
2371                    "appid",
2372                    CCDDBAppDetailCommon::has_appid,
2373                    CCDDBAppDetailCommon::get_appid,
2374                ));
2375                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
2376                    "name",
2377                    CCDDBAppDetailCommon::has_name,
2378                    CCDDBAppDetailCommon::get_name,
2379                ));
2380                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
2381                    "icon",
2382                    CCDDBAppDetailCommon::has_icon,
2383                    CCDDBAppDetailCommon::get_icon,
2384                ));
2385                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
2386                    "logo",
2387                    CCDDBAppDetailCommon::has_logo,
2388                    CCDDBAppDetailCommon::get_logo,
2389                ));
2390                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
2391                    "logo_small",
2392                    CCDDBAppDetailCommon::has_logo_small,
2393                    CCDDBAppDetailCommon::get_logo_small,
2394                ));
2395                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
2396                    "tool",
2397                    CCDDBAppDetailCommon::has_tool,
2398                    CCDDBAppDetailCommon::get_tool,
2399                ));
2400                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
2401                    "demo",
2402                    CCDDBAppDetailCommon::has_demo,
2403                    CCDDBAppDetailCommon::get_demo,
2404                ));
2405                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
2406                    "media",
2407                    CCDDBAppDetailCommon::has_media,
2408                    CCDDBAppDetailCommon::get_media,
2409                ));
2410                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
2411                    "community_visible_stats",
2412                    CCDDBAppDetailCommon::has_community_visible_stats,
2413                    CCDDBAppDetailCommon::get_community_visible_stats,
2414                ));
2415                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
2416                    "friendly_name",
2417                    CCDDBAppDetailCommon::has_friendly_name,
2418                    CCDDBAppDetailCommon::get_friendly_name,
2419                ));
2420                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
2421                    "propagation",
2422                    CCDDBAppDetailCommon::has_propagation,
2423                    CCDDBAppDetailCommon::get_propagation,
2424                ));
2425                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
2426                    "has_adult_content",
2427                    CCDDBAppDetailCommon::has_has_adult_content,
2428                    CCDDBAppDetailCommon::get_has_adult_content,
2429                ));
2430                ::protobuf::reflect::MessageDescriptor::new::<CCDDBAppDetailCommon>(
2431                    "CCDDBAppDetailCommon",
2432                    fields,
2433                    file_descriptor_proto()
2434                )
2435            })
2436        }
2437    }
2438}
2439
2440impl ::protobuf::Clear for CCDDBAppDetailCommon {
2441    fn clear(&mut self) {
2442        self.clear_appid();
2443        self.clear_name();
2444        self.clear_icon();
2445        self.clear_logo();
2446        self.clear_logo_small();
2447        self.clear_tool();
2448        self.clear_demo();
2449        self.clear_media();
2450        self.clear_community_visible_stats();
2451        self.clear_friendly_name();
2452        self.clear_propagation();
2453        self.clear_has_adult_content();
2454        self.unknown_fields.clear();
2455    }
2456}
2457
2458impl ::std::cmp::PartialEq for CCDDBAppDetailCommon {
2459    fn eq(&self, other: &CCDDBAppDetailCommon) -> bool {
2460        self.appid == other.appid &&
2461        self.name == other.name &&
2462        self.icon == other.icon &&
2463        self.logo == other.logo &&
2464        self.logo_small == other.logo_small &&
2465        self.tool == other.tool &&
2466        self.demo == other.demo &&
2467        self.media == other.media &&
2468        self.community_visible_stats == other.community_visible_stats &&
2469        self.friendly_name == other.friendly_name &&
2470        self.propagation == other.propagation &&
2471        self.has_adult_content == other.has_adult_content &&
2472        self.unknown_fields == other.unknown_fields
2473    }
2474}
2475
2476impl ::std::fmt::Debug for CCDDBAppDetailCommon {
2477    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2478        ::protobuf::text_format::fmt(self, f)
2479    }
2480}
2481
2482#[derive(Clone,Default)]
2483pub struct CMsgAppRights {
2484    // message fields
2485    edit_info: ::std::option::Option<bool>,
2486    publish: ::std::option::Option<bool>,
2487    view_error_data: ::std::option::Option<bool>,
2488    download: ::std::option::Option<bool>,
2489    upload_cdkeys: ::std::option::Option<bool>,
2490    generate_cdkeys: ::std::option::Option<bool>,
2491    view_financials: ::std::option::Option<bool>,
2492    manage_ceg: ::std::option::Option<bool>,
2493    manage_signing: ::std::option::Option<bool>,
2494    manage_cdkeys: ::std::option::Option<bool>,
2495    edit_marketing: ::std::option::Option<bool>,
2496    economy_support: ::std::option::Option<bool>,
2497    economy_support_supervisor: ::std::option::Option<bool>,
2498    manage_pricing: ::std::option::Option<bool>,
2499    broadcast_live: ::std::option::Option<bool>,
2500    // special fields
2501    unknown_fields: ::protobuf::UnknownFields,
2502    cached_size: ::std::cell::Cell<u32>,
2503}
2504
2505// see codegen.rs for the explanation why impl Sync explicitly
2506unsafe impl ::std::marker::Sync for CMsgAppRights {}
2507
2508impl CMsgAppRights {
2509    pub fn new() -> CMsgAppRights {
2510        ::std::default::Default::default()
2511    }
2512
2513    pub fn default_instance() -> &'static CMsgAppRights {
2514        static mut instance: ::protobuf::lazy::Lazy<CMsgAppRights> = ::protobuf::lazy::Lazy {
2515            lock: ::protobuf::lazy::ONCE_INIT,
2516            ptr: 0 as *const CMsgAppRights,
2517        };
2518        unsafe {
2519            instance.get(|| {
2520                CMsgAppRights {
2521                    edit_info: ::std::option::Option::None,
2522                    publish: ::std::option::Option::None,
2523                    view_error_data: ::std::option::Option::None,
2524                    download: ::std::option::Option::None,
2525                    upload_cdkeys: ::std::option::Option::None,
2526                    generate_cdkeys: ::std::option::Option::None,
2527                    view_financials: ::std::option::Option::None,
2528                    manage_ceg: ::std::option::Option::None,
2529                    manage_signing: ::std::option::Option::None,
2530                    manage_cdkeys: ::std::option::Option::None,
2531                    edit_marketing: ::std::option::Option::None,
2532                    economy_support: ::std::option::Option::None,
2533                    economy_support_supervisor: ::std::option::Option::None,
2534                    manage_pricing: ::std::option::Option::None,
2535                    broadcast_live: ::std::option::Option::None,
2536                    unknown_fields: ::protobuf::UnknownFields::new(),
2537                    cached_size: ::std::cell::Cell::new(0),
2538                }
2539            })
2540        }
2541    }
2542
2543    // optional bool edit_info = 1;
2544
2545    pub fn clear_edit_info(&mut self) {
2546        self.edit_info = ::std::option::Option::None;
2547    }
2548
2549    pub fn has_edit_info(&self) -> bool {
2550        self.edit_info.is_some()
2551    }
2552
2553    // Param is passed by value, moved
2554    pub fn set_edit_info(&mut self, v: bool) {
2555        self.edit_info = ::std::option::Option::Some(v);
2556    }
2557
2558    pub fn get_edit_info<'a>(&self) -> bool {
2559        self.edit_info.unwrap_or(false)
2560    }
2561
2562    // optional bool publish = 2;
2563
2564    pub fn clear_publish(&mut self) {
2565        self.publish = ::std::option::Option::None;
2566    }
2567
2568    pub fn has_publish(&self) -> bool {
2569        self.publish.is_some()
2570    }
2571
2572    // Param is passed by value, moved
2573    pub fn set_publish(&mut self, v: bool) {
2574        self.publish = ::std::option::Option::Some(v);
2575    }
2576
2577    pub fn get_publish<'a>(&self) -> bool {
2578        self.publish.unwrap_or(false)
2579    }
2580
2581    // optional bool view_error_data = 3;
2582
2583    pub fn clear_view_error_data(&mut self) {
2584        self.view_error_data = ::std::option::Option::None;
2585    }
2586
2587    pub fn has_view_error_data(&self) -> bool {
2588        self.view_error_data.is_some()
2589    }
2590
2591    // Param is passed by value, moved
2592    pub fn set_view_error_data(&mut self, v: bool) {
2593        self.view_error_data = ::std::option::Option::Some(v);
2594    }
2595
2596    pub fn get_view_error_data<'a>(&self) -> bool {
2597        self.view_error_data.unwrap_or(false)
2598    }
2599
2600    // optional bool download = 4;
2601
2602    pub fn clear_download(&mut self) {
2603        self.download = ::std::option::Option::None;
2604    }
2605
2606    pub fn has_download(&self) -> bool {
2607        self.download.is_some()
2608    }
2609
2610    // Param is passed by value, moved
2611    pub fn set_download(&mut self, v: bool) {
2612        self.download = ::std::option::Option::Some(v);
2613    }
2614
2615    pub fn get_download<'a>(&self) -> bool {
2616        self.download.unwrap_or(false)
2617    }
2618
2619    // optional bool upload_cdkeys = 5;
2620
2621    pub fn clear_upload_cdkeys(&mut self) {
2622        self.upload_cdkeys = ::std::option::Option::None;
2623    }
2624
2625    pub fn has_upload_cdkeys(&self) -> bool {
2626        self.upload_cdkeys.is_some()
2627    }
2628
2629    // Param is passed by value, moved
2630    pub fn set_upload_cdkeys(&mut self, v: bool) {
2631        self.upload_cdkeys = ::std::option::Option::Some(v);
2632    }
2633
2634    pub fn get_upload_cdkeys<'a>(&self) -> bool {
2635        self.upload_cdkeys.unwrap_or(false)
2636    }
2637
2638    // optional bool generate_cdkeys = 6;
2639
2640    pub fn clear_generate_cdkeys(&mut self) {
2641        self.generate_cdkeys = ::std::option::Option::None;
2642    }
2643
2644    pub fn has_generate_cdkeys(&self) -> bool {
2645        self.generate_cdkeys.is_some()
2646    }
2647
2648    // Param is passed by value, moved
2649    pub fn set_generate_cdkeys(&mut self, v: bool) {
2650        self.generate_cdkeys = ::std::option::Option::Some(v);
2651    }
2652
2653    pub fn get_generate_cdkeys<'a>(&self) -> bool {
2654        self.generate_cdkeys.unwrap_or(false)
2655    }
2656
2657    // optional bool view_financials = 7;
2658
2659    pub fn clear_view_financials(&mut self) {
2660        self.view_financials = ::std::option::Option::None;
2661    }
2662
2663    pub fn has_view_financials(&self) -> bool {
2664        self.view_financials.is_some()
2665    }
2666
2667    // Param is passed by value, moved
2668    pub fn set_view_financials(&mut self, v: bool) {
2669        self.view_financials = ::std::option::Option::Some(v);
2670    }
2671
2672    pub fn get_view_financials<'a>(&self) -> bool {
2673        self.view_financials.unwrap_or(false)
2674    }
2675
2676    // optional bool manage_ceg = 8;
2677
2678    pub fn clear_manage_ceg(&mut self) {
2679        self.manage_ceg = ::std::option::Option::None;
2680    }
2681
2682    pub fn has_manage_ceg(&self) -> bool {
2683        self.manage_ceg.is_some()
2684    }
2685
2686    // Param is passed by value, moved
2687    pub fn set_manage_ceg(&mut self, v: bool) {
2688        self.manage_ceg = ::std::option::Option::Some(v);
2689    }
2690
2691    pub fn get_manage_ceg<'a>(&self) -> bool {
2692        self.manage_ceg.unwrap_or(false)
2693    }
2694
2695    // optional bool manage_signing = 9;
2696
2697    pub fn clear_manage_signing(&mut self) {
2698        self.manage_signing = ::std::option::Option::None;
2699    }
2700
2701    pub fn has_manage_signing(&self) -> bool {
2702        self.manage_signing.is_some()
2703    }
2704
2705    // Param is passed by value, moved
2706    pub fn set_manage_signing(&mut self, v: bool) {
2707        self.manage_signing = ::std::option::Option::Some(v);
2708    }
2709
2710    pub fn get_manage_signing<'a>(&self) -> bool {
2711        self.manage_signing.unwrap_or(false)
2712    }
2713
2714    // optional bool manage_cdkeys = 10;
2715
2716    pub fn clear_manage_cdkeys(&mut self) {
2717        self.manage_cdkeys = ::std::option::Option::None;
2718    }
2719
2720    pub fn has_manage_cdkeys(&self) -> bool {
2721        self.manage_cdkeys.is_some()
2722    }
2723
2724    // Param is passed by value, moved
2725    pub fn set_manage_cdkeys(&mut self, v: bool) {
2726        self.manage_cdkeys = ::std::option::Option::Some(v);
2727    }
2728
2729    pub fn get_manage_cdkeys<'a>(&self) -> bool {
2730        self.manage_cdkeys.unwrap_or(false)
2731    }
2732
2733    // optional bool edit_marketing = 11;
2734
2735    pub fn clear_edit_marketing(&mut self) {
2736        self.edit_marketing = ::std::option::Option::None;
2737    }
2738
2739    pub fn has_edit_marketing(&self) -> bool {
2740        self.edit_marketing.is_some()
2741    }
2742
2743    // Param is passed by value, moved
2744    pub fn set_edit_marketing(&mut self, v: bool) {
2745        self.edit_marketing = ::std::option::Option::Some(v);
2746    }
2747
2748    pub fn get_edit_marketing<'a>(&self) -> bool {
2749        self.edit_marketing.unwrap_or(false)
2750    }
2751
2752    // optional bool economy_support = 12;
2753
2754    pub fn clear_economy_support(&mut self) {
2755        self.economy_support = ::std::option::Option::None;
2756    }
2757
2758    pub fn has_economy_support(&self) -> bool {
2759        self.economy_support.is_some()
2760    }
2761
2762    // Param is passed by value, moved
2763    pub fn set_economy_support(&mut self, v: bool) {
2764        self.economy_support = ::std::option::Option::Some(v);
2765    }
2766
2767    pub fn get_economy_support<'a>(&self) -> bool {
2768        self.economy_support.unwrap_or(false)
2769    }
2770
2771    // optional bool economy_support_supervisor = 13;
2772
2773    pub fn clear_economy_support_supervisor(&mut self) {
2774        self.economy_support_supervisor = ::std::option::Option::None;
2775    }
2776
2777    pub fn has_economy_support_supervisor(&self) -> bool {
2778        self.economy_support_supervisor.is_some()
2779    }
2780
2781    // Param is passed by value, moved
2782    pub fn set_economy_support_supervisor(&mut self, v: bool) {
2783        self.economy_support_supervisor = ::std::option::Option::Some(v);
2784    }
2785
2786    pub fn get_economy_support_supervisor<'a>(&self) -> bool {
2787        self.economy_support_supervisor.unwrap_or(false)
2788    }
2789
2790    // optional bool manage_pricing = 14;
2791
2792    pub fn clear_manage_pricing(&mut self) {
2793        self.manage_pricing = ::std::option::Option::None;
2794    }
2795
2796    pub fn has_manage_pricing(&self) -> bool {
2797        self.manage_pricing.is_some()
2798    }
2799
2800    // Param is passed by value, moved
2801    pub fn set_manage_pricing(&mut self, v: bool) {
2802        self.manage_pricing = ::std::option::Option::Some(v);
2803    }
2804
2805    pub fn get_manage_pricing<'a>(&self) -> bool {
2806        self.manage_pricing.unwrap_or(false)
2807    }
2808
2809    // optional bool broadcast_live = 15;
2810
2811    pub fn clear_broadcast_live(&mut self) {
2812        self.broadcast_live = ::std::option::Option::None;
2813    }
2814
2815    pub fn has_broadcast_live(&self) -> bool {
2816        self.broadcast_live.is_some()
2817    }
2818
2819    // Param is passed by value, moved
2820    pub fn set_broadcast_live(&mut self, v: bool) {
2821        self.broadcast_live = ::std::option::Option::Some(v);
2822    }
2823
2824    pub fn get_broadcast_live<'a>(&self) -> bool {
2825        self.broadcast_live.unwrap_or(false)
2826    }
2827}
2828
2829impl ::protobuf::Message for CMsgAppRights {
2830    fn is_initialized(&self) -> bool {
2831        true
2832    }
2833
2834    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
2835        while !try!(is.eof()) {
2836            let (field_number, wire_type) = try!(is.read_tag_unpack());
2837            match field_number {
2838                1 => {
2839                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2840                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2841                    };
2842                    let tmp = try!(is.read_bool());
2843                    self.edit_info = ::std::option::Option::Some(tmp);
2844                },
2845                2 => {
2846                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2847                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2848                    };
2849                    let tmp = try!(is.read_bool());
2850                    self.publish = ::std::option::Option::Some(tmp);
2851                },
2852                3 => {
2853                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2854                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2855                    };
2856                    let tmp = try!(is.read_bool());
2857                    self.view_error_data = ::std::option::Option::Some(tmp);
2858                },
2859                4 => {
2860                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2861                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2862                    };
2863                    let tmp = try!(is.read_bool());
2864                    self.download = ::std::option::Option::Some(tmp);
2865                },
2866                5 => {
2867                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2868                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2869                    };
2870                    let tmp = try!(is.read_bool());
2871                    self.upload_cdkeys = ::std::option::Option::Some(tmp);
2872                },
2873                6 => {
2874                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2875                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2876                    };
2877                    let tmp = try!(is.read_bool());
2878                    self.generate_cdkeys = ::std::option::Option::Some(tmp);
2879                },
2880                7 => {
2881                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2882                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2883                    };
2884                    let tmp = try!(is.read_bool());
2885                    self.view_financials = ::std::option::Option::Some(tmp);
2886                },
2887                8 => {
2888                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2889                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2890                    };
2891                    let tmp = try!(is.read_bool());
2892                    self.manage_ceg = ::std::option::Option::Some(tmp);
2893                },
2894                9 => {
2895                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2896                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2897                    };
2898                    let tmp = try!(is.read_bool());
2899                    self.manage_signing = ::std::option::Option::Some(tmp);
2900                },
2901                10 => {
2902                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2903                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2904                    };
2905                    let tmp = try!(is.read_bool());
2906                    self.manage_cdkeys = ::std::option::Option::Some(tmp);
2907                },
2908                11 => {
2909                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2910                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2911                    };
2912                    let tmp = try!(is.read_bool());
2913                    self.edit_marketing = ::std::option::Option::Some(tmp);
2914                },
2915                12 => {
2916                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2917                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2918                    };
2919                    let tmp = try!(is.read_bool());
2920                    self.economy_support = ::std::option::Option::Some(tmp);
2921                },
2922                13 => {
2923                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2924                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2925                    };
2926                    let tmp = try!(is.read_bool());
2927                    self.economy_support_supervisor = ::std::option::Option::Some(tmp);
2928                },
2929                14 => {
2930                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2931                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2932                    };
2933                    let tmp = try!(is.read_bool());
2934                    self.manage_pricing = ::std::option::Option::Some(tmp);
2935                },
2936                15 => {
2937                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2938                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2939                    };
2940                    let tmp = try!(is.read_bool());
2941                    self.broadcast_live = ::std::option::Option::Some(tmp);
2942                },
2943                _ => {
2944                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
2945                },
2946            };
2947        }
2948        ::std::result::Result::Ok(())
2949    }
2950
2951    // Compute sizes of nested messages
2952    #[allow(unused_variables)]
2953    fn compute_size(&self) -> u32 {
2954        let mut my_size = 0;
2955        if self.edit_info.is_some() {
2956            my_size += 2;
2957        };
2958        if self.publish.is_some() {
2959            my_size += 2;
2960        };
2961        if self.view_error_data.is_some() {
2962            my_size += 2;
2963        };
2964        if self.download.is_some() {
2965            my_size += 2;
2966        };
2967        if self.upload_cdkeys.is_some() {
2968            my_size += 2;
2969        };
2970        if self.generate_cdkeys.is_some() {
2971            my_size += 2;
2972        };
2973        if self.view_financials.is_some() {
2974            my_size += 2;
2975        };
2976        if self.manage_ceg.is_some() {
2977            my_size += 2;
2978        };
2979        if self.manage_signing.is_some() {
2980            my_size += 2;
2981        };
2982        if self.manage_cdkeys.is_some() {
2983            my_size += 2;
2984        };
2985        if self.edit_marketing.is_some() {
2986            my_size += 2;
2987        };
2988        if self.economy_support.is_some() {
2989            my_size += 2;
2990        };
2991        if self.economy_support_supervisor.is_some() {
2992            my_size += 2;
2993        };
2994        if self.manage_pricing.is_some() {
2995            my_size += 2;
2996        };
2997        if self.broadcast_live.is_some() {
2998            my_size += 2;
2999        };
3000        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3001        self.cached_size.set(my_size);
3002        my_size
3003    }
3004
3005    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
3006        if let Some(v) = self.edit_info {
3007            try!(os.write_bool(1, v));
3008        };
3009        if let Some(v) = self.publish {
3010            try!(os.write_bool(2, v));
3011        };
3012        if let Some(v) = self.view_error_data {
3013            try!(os.write_bool(3, v));
3014        };
3015        if let Some(v) = self.download {
3016            try!(os.write_bool(4, v));
3017        };
3018        if let Some(v) = self.upload_cdkeys {
3019            try!(os.write_bool(5, v));
3020        };
3021        if let Some(v) = self.generate_cdkeys {
3022            try!(os.write_bool(6, v));
3023        };
3024        if let Some(v) = self.view_financials {
3025            try!(os.write_bool(7, v));
3026        };
3027        if let Some(v) = self.manage_ceg {
3028            try!(os.write_bool(8, v));
3029        };
3030        if let Some(v) = self.manage_signing {
3031            try!(os.write_bool(9, v));
3032        };
3033        if let Some(v) = self.manage_cdkeys {
3034            try!(os.write_bool(10, v));
3035        };
3036        if let Some(v) = self.edit_marketing {
3037            try!(os.write_bool(11, v));
3038        };
3039        if let Some(v) = self.economy_support {
3040            try!(os.write_bool(12, v));
3041        };
3042        if let Some(v) = self.economy_support_supervisor {
3043            try!(os.write_bool(13, v));
3044        };
3045        if let Some(v) = self.manage_pricing {
3046            try!(os.write_bool(14, v));
3047        };
3048        if let Some(v) = self.broadcast_live {
3049            try!(os.write_bool(15, v));
3050        };
3051        try!(os.write_unknown_fields(self.get_unknown_fields()));
3052        ::std::result::Result::Ok(())
3053    }
3054
3055    fn get_cached_size(&self) -> u32 {
3056        self.cached_size.get()
3057    }
3058
3059    fn get_unknown_fields<'s>(&'s self) -> &'s ::protobuf::UnknownFields {
3060        &self.unknown_fields
3061    }
3062
3063    fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut ::protobuf::UnknownFields {
3064        &mut self.unknown_fields
3065    }
3066
3067    fn type_id(&self) -> ::std::any::TypeId {
3068        ::std::any::TypeId::of::<CMsgAppRights>()
3069    }
3070
3071    fn as_any(&self) -> &::std::any::Any {
3072        self as &::std::any::Any
3073    }
3074
3075    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3076        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
3077    }
3078}
3079
3080impl ::protobuf::MessageStatic for CMsgAppRights {
3081    fn new() -> CMsgAppRights {
3082        CMsgAppRights::new()
3083    }
3084
3085    fn descriptor_static(_: ::std::option::Option<CMsgAppRights>) -> &'static ::protobuf::reflect::MessageDescriptor {
3086        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
3087            lock: ::protobuf::lazy::ONCE_INIT,
3088            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
3089        };
3090        unsafe {
3091            descriptor.get(|| {
3092                let mut fields = ::std::vec::Vec::new();
3093                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3094                    "edit_info",
3095                    CMsgAppRights::has_edit_info,
3096                    CMsgAppRights::get_edit_info,
3097                ));
3098                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3099                    "publish",
3100                    CMsgAppRights::has_publish,
3101                    CMsgAppRights::get_publish,
3102                ));
3103                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3104                    "view_error_data",
3105                    CMsgAppRights::has_view_error_data,
3106                    CMsgAppRights::get_view_error_data,
3107                ));
3108                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3109                    "download",
3110                    CMsgAppRights::has_download,
3111                    CMsgAppRights::get_download,
3112                ));
3113                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3114                    "upload_cdkeys",
3115                    CMsgAppRights::has_upload_cdkeys,
3116                    CMsgAppRights::get_upload_cdkeys,
3117                ));
3118                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3119                    "generate_cdkeys",
3120                    CMsgAppRights::has_generate_cdkeys,
3121                    CMsgAppRights::get_generate_cdkeys,
3122                ));
3123                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3124                    "view_financials",
3125                    CMsgAppRights::has_view_financials,
3126                    CMsgAppRights::get_view_financials,
3127                ));
3128                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3129                    "manage_ceg",
3130                    CMsgAppRights::has_manage_ceg,
3131                    CMsgAppRights::get_manage_ceg,
3132                ));
3133                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3134                    "manage_signing",
3135                    CMsgAppRights::has_manage_signing,
3136                    CMsgAppRights::get_manage_signing,
3137                ));
3138                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3139                    "manage_cdkeys",
3140                    CMsgAppRights::has_manage_cdkeys,
3141                    CMsgAppRights::get_manage_cdkeys,
3142                ));
3143                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3144                    "edit_marketing",
3145                    CMsgAppRights::has_edit_marketing,
3146                    CMsgAppRights::get_edit_marketing,
3147                ));
3148                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3149                    "economy_support",
3150                    CMsgAppRights::has_economy_support,
3151                    CMsgAppRights::get_economy_support,
3152                ));
3153                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3154                    "economy_support_supervisor",
3155                    CMsgAppRights::has_economy_support_supervisor,
3156                    CMsgAppRights::get_economy_support_supervisor,
3157                ));
3158                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3159                    "manage_pricing",
3160                    CMsgAppRights::has_manage_pricing,
3161                    CMsgAppRights::get_manage_pricing,
3162                ));
3163                fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
3164                    "broadcast_live",
3165                    CMsgAppRights::has_broadcast_live,
3166                    CMsgAppRights::get_broadcast_live,
3167                ));
3168                ::protobuf::reflect::MessageDescriptor::new::<CMsgAppRights>(
3169                    "CMsgAppRights",
3170                    fields,
3171                    file_descriptor_proto()
3172                )
3173            })
3174        }
3175    }
3176}
3177
3178impl ::protobuf::Clear for CMsgAppRights {
3179    fn clear(&mut self) {
3180        self.clear_edit_info();
3181        self.clear_publish();
3182        self.clear_view_error_data();
3183        self.clear_download();
3184        self.clear_upload_cdkeys();
3185        self.clear_generate_cdkeys();
3186        self.clear_view_financials();
3187        self.clear_manage_ceg();
3188        self.clear_manage_signing();
3189        self.clear_manage_cdkeys();
3190        self.clear_edit_marketing();
3191        self.clear_economy_support();
3192        self.clear_economy_support_supervisor();
3193        self.clear_manage_pricing();
3194        self.clear_broadcast_live();
3195        self.unknown_fields.clear();
3196    }
3197}
3198
3199impl ::std::cmp::PartialEq for CMsgAppRights {
3200    fn eq(&self, other: &CMsgAppRights) -> bool {
3201        self.edit_info == other.edit_info &&
3202        self.publish == other.publish &&
3203        self.view_error_data == other.view_error_data &&
3204        self.download == other.download &&
3205        self.upload_cdkeys == other.upload_cdkeys &&
3206        self.generate_cdkeys == other.generate_cdkeys &&
3207        self.view_financials == other.view_financials &&
3208        self.manage_ceg == other.manage_ceg &&
3209        self.manage_signing == other.manage_signing &&
3210        self.manage_cdkeys == other.manage_cdkeys &&
3211        self.edit_marketing == other.edit_marketing &&
3212        self.economy_support == other.economy_support &&
3213        self.economy_support_supervisor == other.economy_support_supervisor &&
3214        self.manage_pricing == other.manage_pricing &&
3215        self.broadcast_live == other.broadcast_live &&
3216        self.unknown_fields == other.unknown_fields
3217    }
3218}
3219
3220impl ::std::fmt::Debug for CMsgAppRights {
3221    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3222        ::protobuf::text_format::fmt(self, f)
3223    }
3224}
3225
3226static file_descriptor_proto_data: &'static [u8] = &[
3227    0x0a, 0x18, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f,
3228    0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
3229    0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63,
3230    0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf8, 0x03, 0x0a,
3231    0x12, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x48, 0x65, 0x61,
3232    0x64, 0x65, 0x72, 0x12, 0x0f, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01,
3233    0x20, 0x01, 0x28, 0x06, 0x12, 0x18, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
3234    0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x12, 0x15,
3235    0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18,
3236    0x03, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x2a, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x69, 0x64, 0x5f, 0x73,
3237    0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x3a, 0x14, 0x31, 0x38, 0x34,
3238    0x34, 0x36, 0x37, 0x34, 0x34, 0x30, 0x37, 0x33, 0x37, 0x30, 0x39, 0x35, 0x35, 0x31, 0x36, 0x31,
3239    0x35, 0x12, 0x2a, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
3240    0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x06, 0x3a, 0x14, 0x31, 0x38, 0x34, 0x34, 0x36, 0x37, 0x34,
3241    0x34, 0x30, 0x37, 0x33, 0x37, 0x30, 0x39, 0x35, 0x35, 0x31, 0x36, 0x31, 0x35, 0x12, 0x17, 0x0a,
3242    0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
3243    0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x12, 0x0f, 0x0a, 0x07, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75,
3244    0x6d, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x12, 0x12, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75,
3245    0x6c, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x12, 0x15, 0x0a, 0x0d, 0x65,
3246    0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01,
3247    0x28, 0x09, 0x12, 0x0a, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x1a,
3248    0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66,
3249    0x6c, 0x61, 0x67, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x14, 0x0a, 0x0c, 0x74, 0x6f,
3250    0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d,
3251    0x12, 0x1b, 0x0a, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x69,
3252    0x6e, 0x67, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x12, 0x1a, 0x0a,
3253    0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72,
3254    0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x31, 0x12, 0x27, 0x0a, 0x09, 0x6d, 0x65, 0x73,
3255    0x73, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x14, 0x31, 0x38,
3256    0x34, 0x34, 0x36, 0x37, 0x34, 0x34, 0x30, 0x37, 0x33, 0x37, 0x30, 0x39, 0x35, 0x35, 0x31, 0x36,
3257    0x31, 0x35, 0x12, 0x1a, 0x0a, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f,
3258    0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x0d,
3259    0x0a, 0x05, 0x73, 0x79, 0x73, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x11, 0x0a,
3260    0x09, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04,
3261    0x12, 0x15, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69,
3262    0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x22, 0x38, 0x0a, 0x09, 0x43, 0x4d, 0x73, 0x67, 0x4d,
3263    0x75, 0x6c, 0x74, 0x69, 0x12, 0x15, 0x0a, 0x0d, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x75, 0x6e, 0x7a,
3264    0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x14, 0x0a, 0x0c, 0x6d,
3265    0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
3266    0x0c, 0x22, 0x2b, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3267    0x66, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73,
3268    0x61, 0x67, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x22, 0x8f,
3269    0x01, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65,
3270    0x74, 0x12, 0x0e, 0x0a, 0x06, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3271    0x0d, 0x12, 0x12, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01,
3272    0x28, 0x0d, 0x3a, 0x01, 0x32, 0x12, 0x0f, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64,
3273    0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x12, 0x0e, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x64,
3274    0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x12, 0x14, 0x0a, 0x0c, 0x68, 0x5f, 0x73, 0x74, 0x65, 0x61,
3275    0x6d, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x12, 0x0a, 0x0a,
3276    0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
3277    0x12, 0x0e, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c,
3278    0x22, 0xf6, 0x01, 0x0a, 0x14, 0x43, 0x43, 0x44, 0x44, 0x42, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74,
3279    0x61, 0x69, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x05, 0x61, 0x70, 0x70,
3280    0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3281    0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x12, 0x0c, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x03,
3282    0x20, 0x01, 0x28, 0x09, 0x12, 0x0c, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01,
3283    0x28, 0x09, 0x12, 0x12, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0x6c,
3284    0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x12, 0x0c, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x06,
3285    0x20, 0x01, 0x28, 0x08, 0x12, 0x0c, 0x0a, 0x04, 0x64, 0x65, 0x6d, 0x6f, 0x18, 0x07, 0x20, 0x01,
3286    0x28, 0x08, 0x12, 0x0d, 0x0a, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28,
3287    0x08, 0x12, 0x1f, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x76,
3288    0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01,
3289    0x28, 0x08, 0x12, 0x15, 0x0a, 0x0d, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x5f, 0x6e,
3290    0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x12, 0x13, 0x0a, 0x0b, 0x70, 0x72, 0x6f,
3291    0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x12, 0x19,
3292    0x0a, 0x11, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
3293    0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x22, 0xef, 0x02, 0x0a, 0x0d, 0x43, 0x4d,
3294    0x73, 0x67, 0x41, 0x70, 0x70, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x12, 0x11, 0x0a, 0x09, 0x65,
3295    0x64, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x12, 0x0f,
3296    0x0a, 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x12,
3297    0x17, 0x0a, 0x0f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x61,
3298    0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x12, 0x10, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e,
3299    0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x12, 0x15, 0x0a, 0x0d, 0x75, 0x70,
3300    0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x64, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
3301    0x08, 0x12, 0x17, 0x0a, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x64,
3302    0x6b, 0x65, 0x79, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x12, 0x17, 0x0a, 0x0f, 0x76, 0x69,
3303    0x65, 0x77, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x07, 0x20,
3304    0x01, 0x28, 0x08, 0x12, 0x12, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x65,
3305    0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x12, 0x16, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67,
3306    0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x12,
3307    0x15, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x64, 0x6b, 0x65, 0x79, 0x73,
3308    0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x12, 0x16, 0x0a, 0x0e, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x6d,
3309    0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x12, 0x17,
3310    0x0a, 0x0f, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x79, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
3311    0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x12, 0x22, 0x0a, 0x1a, 0x65, 0x63, 0x6f, 0x6e, 0x6f,
3312    0x6d, 0x79, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x70, 0x65, 0x72,
3313    0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x12, 0x16, 0x0a, 0x0e, 0x6d,
3314    0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20,
3315    0x01, 0x28, 0x08, 0x12, 0x16, 0x0a, 0x0e, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74,
3316    0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x41, 0x0a, 0x12, 0x6d,
3317    0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
3318    0x74, 0x18, 0xd0, 0x86, 0x03, 0x20, 0x01, 0x28, 0x05, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3319    0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73,
3320    0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x02, 0x33, 0x32, 0x3a, 0x42,
3321    0x0a, 0x12, 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6c,
3322    0x69, 0x6d, 0x69, 0x74, 0x18, 0xd1, 0x86, 0x03, 0x20, 0x01, 0x28, 0x05, 0x12, 0x1f, 0x2e, 0x67,
3323    0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d,
3324    0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x03, 0x33,
3325    0x38, 0x34, 0x42, 0x05, 0x48, 0x01, 0x80, 0x01, 0x00, 0x4a, 0xd0, 0x23, 0x0a, 0x06, 0x12, 0x04,
3326    0x00, 0x00, 0x52, 0x01, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x00, 0x07, 0x29, 0x0a,
3327    0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0xe7, 0x07,
3328    0x00, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0xe7, 0x07, 0x00, 0x02, 0x12,
3329    0x03, 0x02, 0x07, 0x13, 0x0a, 0x0d, 0x0a, 0x06, 0x08, 0xe7, 0x07, 0x00, 0x02, 0x00, 0x12, 0x03,
3330    0x02, 0x07, 0x13, 0x0a, 0x0e, 0x0a, 0x07, 0x08, 0xe7, 0x07, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03,
3331    0x02, 0x07, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0xe7, 0x07, 0x00, 0x03, 0x12, 0x03, 0x02, 0x16,
3332    0x1b, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x03, 0x00, 0x23, 0x0a, 0x0b, 0x0a, 0x04, 0x08,
3333    0xe7, 0x07, 0x01, 0x12, 0x03, 0x03, 0x00, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0xe7, 0x07, 0x01,
3334    0x02, 0x12, 0x03, 0x03, 0x07, 0x1a, 0x0a, 0x0d, 0x0a, 0x06, 0x08, 0xe7, 0x07, 0x01, 0x02, 0x00,
3335    0x12, 0x03, 0x03, 0x07, 0x1a, 0x0a, 0x0e, 0x0a, 0x07, 0x08, 0xe7, 0x07, 0x01, 0x02, 0x00, 0x01,
3336    0x12, 0x03, 0x03, 0x07, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0xe7, 0x07, 0x01, 0x03, 0x12, 0x03,
3337    0x03, 0x1d, 0x22, 0x0a, 0x09, 0x0a, 0x01, 0x07, 0x12, 0x04, 0x05, 0x00, 0x08, 0x01, 0x0a, 0x09,
3338    0x0a, 0x02, 0x07, 0x00, 0x12, 0x03, 0x06, 0x08, 0x41, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x02,
3339    0x12, 0x03, 0x05, 0x07, 0x26, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x04, 0x12, 0x03, 0x06, 0x08,
3340    0x10, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x05, 0x12, 0x03, 0x06, 0x11, 0x16, 0x0a, 0x0a, 0x0a,
3341    0x03, 0x07, 0x00, 0x01, 0x12, 0x03, 0x06, 0x17, 0x29, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x03,
3342    0x12, 0x03, 0x06, 0x2c, 0x31, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x08, 0x12, 0x03, 0x06, 0x32,
3343    0x40, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x07, 0x12, 0x03, 0x06, 0x3d, 0x3f, 0x0a, 0x09, 0x0a,
3344    0x02, 0x07, 0x01, 0x12, 0x03, 0x07, 0x08, 0x42, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x02, 0x12,
3345    0x03, 0x05, 0x07, 0x26, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x04, 0x12, 0x03, 0x07, 0x08, 0x10,
3346    0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x05, 0x12, 0x03, 0x07, 0x11, 0x16, 0x0a, 0x0a, 0x0a, 0x03,
3347    0x07, 0x01, 0x01, 0x12, 0x03, 0x07, 0x17, 0x29, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x03, 0x12,
3348    0x03, 0x07, 0x2c, 0x31, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x08, 0x12, 0x03, 0x07, 0x32, 0x41,
3349    0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x07, 0x12, 0x03, 0x07, 0x3d, 0x40, 0x0a, 0x0a, 0x0a, 0x02,
3350    0x04, 0x00, 0x12, 0x04, 0x0a, 0x00, 0x1e, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12,
3351    0x03, 0x0a, 0x08, 0x1a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0b, 0x08,
3352    0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x0b, 0x08, 0x10, 0x0a,
3353    0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x0b, 0x11, 0x18, 0x0a, 0x0c, 0x0a,
3354    0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0b, 0x19, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3355    0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0b, 0x23, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02,
3356    0x01, 0x12, 0x03, 0x0c, 0x08, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12,
3357    0x03, 0x0c, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x0c,
3358    0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x0c, 0x17, 0x27,
3359    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0c, 0x2a, 0x2b, 0x0a, 0x0b,
3360    0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x0d, 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3361    0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x0d, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02,
3362    0x02, 0x05, 0x12, 0x03, 0x0d, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01,
3363    0x12, 0x03, 0x0d, 0x18, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03,
3364    0x0d, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x0e, 0x08, 0x4c,
3365    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, 0x0e, 0x08, 0x10, 0x0a, 0x0c,
3366    0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x0e, 0x11, 0x18, 0x0a, 0x0c, 0x0a, 0x05,
3367    0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x0e, 0x19, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00,
3368    0x02, 0x03, 0x03, 0x12, 0x03, 0x0e, 0x28, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03,
3369    0x08, 0x12, 0x03, 0x0e, 0x2b, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x07, 0x12,
3370    0x03, 0x0e, 0x36, 0x4a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x0f, 0x08,
3371    0x4c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x04, 0x12, 0x03, 0x0f, 0x08, 0x10, 0x0a,
3372    0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x0f, 0x11, 0x18, 0x0a, 0x0c, 0x0a,
3373    0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x0f, 0x19, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3374    0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x0f, 0x28, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02,
3375    0x04, 0x08, 0x12, 0x03, 0x0f, 0x2b, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x07,
3376    0x12, 0x03, 0x0f, 0x36, 0x4a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x10,
3377    0x08, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x04, 0x12, 0x03, 0x10, 0x08, 0x10,
3378    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x10, 0x11, 0x17, 0x0a, 0x0c,
3379    0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x10, 0x18, 0x27, 0x0a, 0x0c, 0x0a, 0x05,
3380    0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x10, 0x2a, 0x2c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00,
3381    0x02, 0x06, 0x12, 0x03, 0x11, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x04,
3382    0x12, 0x03, 0x11, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03,
3383    0x11, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x11, 0x17,
3384    0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x11, 0x21, 0x23, 0x0a,
3385    0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x12, 0x08, 0x32, 0x0a, 0x0c, 0x0a, 0x05,
3386    0x04, 0x00, 0x02, 0x07, 0x04, 0x12, 0x03, 0x12, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00,
3387    0x02, 0x07, 0x05, 0x12, 0x03, 0x12, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07,
3388    0x01, 0x12, 0x03, 0x12, 0x17, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12,
3389    0x03, 0x12, 0x21, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x03, 0x12,
3390    0x24, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x07, 0x12, 0x03, 0x12, 0x2f, 0x30,
3391    0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x13, 0x08, 0x2b, 0x0a, 0x0c, 0x0a,
3392    0x05, 0x04, 0x00, 0x02, 0x08, 0x04, 0x12, 0x03, 0x13, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3393    0x00, 0x02, 0x08, 0x05, 0x12, 0x03, 0x13, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02,
3394    0x08, 0x01, 0x12, 0x03, 0x13, 0x18, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03,
3395    0x12, 0x03, 0x13, 0x28, 0x2a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x14,
3396    0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x04, 0x12, 0x03, 0x14, 0x08, 0x10,
3397    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x05, 0x12, 0x03, 0x14, 0x11, 0x17, 0x0a, 0x0c,
3398    0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x14, 0x18, 0x1a, 0x0a, 0x0c, 0x0a, 0x05,
3399    0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x14, 0x1d, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00,
3400    0x02, 0x0a, 0x12, 0x03, 0x15, 0x08, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x04,
3401    0x12, 0x03, 0x15, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x05, 0x12, 0x03,
3402    0x15, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x15, 0x18,
3403    0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, 0x12, 0x03, 0x15, 0x2d, 0x2f, 0x0a,
3404    0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x16, 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x05,
3405    0x04, 0x00, 0x02, 0x0b, 0x04, 0x12, 0x03, 0x16, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00,
3406    0x02, 0x0b, 0x05, 0x12, 0x03, 0x16, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b,
3407    0x01, 0x12, 0x03, 0x16, 0x18, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12,
3408    0x03, 0x16, 0x27, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0c, 0x12, 0x03, 0x17, 0x08,
3409    0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x04, 0x12, 0x03, 0x17, 0x08, 0x10, 0x0a,
3410    0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x05, 0x12, 0x03, 0x17, 0x11, 0x15, 0x0a, 0x0c, 0x0a,
3411    0x05, 0x04, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x17, 0x16, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3412    0x00, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x17, 0x2c, 0x2e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02,
3413    0x0d, 0x12, 0x03, 0x18, 0x08, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x04, 0x12,
3414    0x03, 0x18, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x05, 0x12, 0x03, 0x18,
3415    0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x01, 0x12, 0x03, 0x18, 0x17, 0x26,
3416    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x03, 0x12, 0x03, 0x18, 0x29, 0x2b, 0x0a, 0x0c,
3417    0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x12, 0x03, 0x18, 0x2c, 0x39, 0x0a, 0x0c, 0x0a, 0x05,
3418    0x04, 0x00, 0x02, 0x0d, 0x07, 0x12, 0x03, 0x18, 0x37, 0x38, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00,
3419    0x02, 0x0e, 0x12, 0x03, 0x19, 0x08, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x04,
3420    0x12, 0x03, 0x19, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x05, 0x12, 0x03,
3421    0x19, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x01, 0x12, 0x03, 0x19, 0x18,
3422    0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x03, 0x12, 0x03, 0x19, 0x24, 0x26, 0x0a,
3423    0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x12, 0x03, 0x19, 0x27, 0x47, 0x0a, 0x0c, 0x0a,
3424    0x05, 0x04, 0x00, 0x02, 0x0e, 0x07, 0x12, 0x03, 0x19, 0x32, 0x46, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
3425    0x00, 0x02, 0x0f, 0x12, 0x03, 0x1a, 0x08, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f,
3426    0x04, 0x12, 0x03, 0x1a, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x05, 0x12,
3427    0x03, 0x1a, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x03, 0x1a,
3428    0x18, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x03, 0x1a, 0x2d, 0x2f,
3429    0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x10, 0x12, 0x03, 0x1b, 0x08, 0x23, 0x0a, 0x0c, 0x0a,
3430    0x05, 0x04, 0x00, 0x02, 0x10, 0x04, 0x12, 0x03, 0x1b, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3431    0x00, 0x02, 0x10, 0x05, 0x12, 0x03, 0x1b, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02,
3432    0x10, 0x01, 0x12, 0x03, 0x1b, 0x18, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x03,
3433    0x12, 0x03, 0x1b, 0x20, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x11, 0x12, 0x03, 0x1c,
3434    0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x04, 0x12, 0x03, 0x1c, 0x08, 0x10,
3435    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x05, 0x12, 0x03, 0x1c, 0x11, 0x17, 0x0a, 0x0c,
3436    0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x01, 0x12, 0x03, 0x1c, 0x18, 0x21, 0x0a, 0x0c, 0x0a, 0x05,
3437    0x04, 0x00, 0x02, 0x11, 0x03, 0x12, 0x03, 0x1c, 0x24, 0x26, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00,
3438    0x02, 0x12, 0x12, 0x03, 0x1d, 0x08, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x04,
3439    0x12, 0x03, 0x1d, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x05, 0x12, 0x03,
3440    0x1d, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x01, 0x12, 0x03, 0x1d, 0x18,
3441    0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x03, 0x12, 0x03, 0x1d, 0x28, 0x2a, 0x0a,
3442    0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x20, 0x00, 0x23, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04,
3443    0x01, 0x01, 0x12, 0x03, 0x20, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12,
3444    0x03, 0x21, 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x04, 0x12, 0x03, 0x21,
3445    0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x21, 0x11, 0x17,
3446    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x21, 0x18, 0x25, 0x0a, 0x0c,
3447    0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x21, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04,
3448    0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x22, 0x08, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02,
3449    0x01, 0x04, 0x12, 0x03, 0x22, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05,
3450    0x12, 0x03, 0x22, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03,
3451    0x22, 0x17, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x22, 0x26,
3452    0x27, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x25, 0x00, 0x27, 0x01, 0x0a, 0x0a, 0x0a,
3453    0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x25, 0x08, 0x1b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02,
3454    0x00, 0x12, 0x03, 0x26, 0x08, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x04, 0x12,
3455    0x03, 0x26, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x26,
3456    0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x26, 0x17, 0x23,
3457    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x26, 0x26, 0x27, 0x0a, 0x0a,
3458    0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x29, 0x00, 0x31, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03,
3459    0x01, 0x12, 0x03, 0x29, 0x08, 0x16, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03,
3460    0x2a, 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x2a, 0x08,
3461    0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x03, 0x2a, 0x11, 0x17, 0x0a,
3462    0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2a, 0x18, 0x1e, 0x0a, 0x0c, 0x0a,
3463    0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x2a, 0x21, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
3464    0x03, 0x02, 0x01, 0x12, 0x03, 0x2b, 0x08, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01,
3465    0x04, 0x12, 0x03, 0x2b, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12,
3466    0x03, 0x2b, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x2b,
3467    0x18, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x2b, 0x22, 0x23,
3468    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x03, 0x2b, 0x24, 0x31, 0x0a, 0x0c,
3469    0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x07, 0x12, 0x03, 0x2b, 0x2f, 0x30, 0x0a, 0x0b, 0x0a, 0x04,
3470    0x04, 0x03, 0x02, 0x02, 0x12, 0x03, 0x2c, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02,
3471    0x02, 0x04, 0x12, 0x03, 0x2c, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x05,
3472    0x12, 0x03, 0x2c, 0x11, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03,
3473    0x2c, 0x19, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x03, 0x2c, 0x23,
3474    0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x03, 0x2d, 0x08, 0x24, 0x0a, 0x0c,
3475    0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x04, 0x12, 0x03, 0x2d, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05,
3476    0x04, 0x03, 0x02, 0x03, 0x05, 0x12, 0x03, 0x2d, 0x11, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03,
3477    0x02, 0x03, 0x01, 0x12, 0x03, 0x2d, 0x19, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03,
3478    0x03, 0x12, 0x03, 0x2d, 0x22, 0x23, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x04, 0x12, 0x03,
3479    0x2e, 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x04, 0x12, 0x03, 0x2e, 0x08,
3480    0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x05, 0x12, 0x03, 0x2e, 0x11, 0x17, 0x0a,
3481    0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x01, 0x12, 0x03, 0x2e, 0x18, 0x24, 0x0a, 0x0c, 0x0a,
3482    0x05, 0x04, 0x03, 0x02, 0x04, 0x03, 0x12, 0x03, 0x2e, 0x27, 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
3483    0x03, 0x02, 0x05, 0x12, 0x03, 0x2f, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05,
3484    0x04, 0x12, 0x03, 0x2f, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x05, 0x12,
3485    0x03, 0x2f, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x01, 0x12, 0x03, 0x2f,
3486    0x18, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x03, 0x12, 0x03, 0x2f, 0x25, 0x26,
3487    0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x06, 0x12, 0x03, 0x30, 0x08, 0x22, 0x0a, 0x0c, 0x0a,
3488    0x05, 0x04, 0x03, 0x02, 0x06, 0x04, 0x12, 0x03, 0x30, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3489    0x03, 0x02, 0x06, 0x05, 0x12, 0x03, 0x30, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02,
3490    0x06, 0x01, 0x12, 0x03, 0x30, 0x17, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x06, 0x03,
3491    0x12, 0x03, 0x30, 0x20, 0x21, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x33, 0x00, 0x40,
3492    0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x33, 0x08, 0x1c, 0x0a, 0x0b, 0x0a,
3493    0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x34, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04,
3494    0x02, 0x00, 0x04, 0x12, 0x03, 0x34, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00,
3495    0x05, 0x12, 0x03, 0x34, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12,
3496    0x03, 0x34, 0x18, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x34,
3497    0x20, 0x21, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x35, 0x08, 0x21, 0x0a,
3498    0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x04, 0x12, 0x03, 0x35, 0x08, 0x10, 0x0a, 0x0c, 0x0a,
3499    0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, 0x35, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3500    0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x35, 0x18, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02,
3501    0x01, 0x03, 0x12, 0x03, 0x35, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12,
3502    0x03, 0x36, 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x03, 0x36,
3503    0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x05, 0x12, 0x03, 0x36, 0x11, 0x17,
3504    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x36, 0x18, 0x1c, 0x0a, 0x0c,
3505    0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x36, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04,
3506    0x04, 0x04, 0x02, 0x03, 0x12, 0x03, 0x37, 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02,
3507    0x03, 0x04, 0x12, 0x03, 0x37, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x05,
3508    0x12, 0x03, 0x37, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, 0x12, 0x03,
3509    0x37, 0x18, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, 0x03, 0x37, 0x1f,
3510    0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, 0x03, 0x38, 0x08, 0x27, 0x0a, 0x0c,
3511    0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x04, 0x12, 0x03, 0x38, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05,
3512    0x04, 0x04, 0x02, 0x04, 0x05, 0x12, 0x03, 0x38, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04,
3513    0x02, 0x04, 0x01, 0x12, 0x03, 0x38, 0x18, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04,
3514    0x03, 0x12, 0x03, 0x38, 0x25, 0x26, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x05, 0x12, 0x03,
3515    0x39, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x04, 0x12, 0x03, 0x39, 0x08,
3516    0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x05, 0x12, 0x03, 0x39, 0x11, 0x15, 0x0a,
3517    0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x01, 0x12, 0x03, 0x39, 0x16, 0x1a, 0x0a, 0x0c, 0x0a,
3518    0x05, 0x04, 0x04, 0x02, 0x05, 0x03, 0x12, 0x03, 0x39, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
3519    0x04, 0x02, 0x06, 0x12, 0x03, 0x3a, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06,
3520    0x04, 0x12, 0x03, 0x3a, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, 0x05, 0x12,
3521    0x03, 0x3a, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, 0x01, 0x12, 0x03, 0x3a,
3522    0x16, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, 0x03, 0x12, 0x03, 0x3a, 0x1d, 0x1e,
3523    0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x07, 0x12, 0x03, 0x3b, 0x08, 0x20, 0x0a, 0x0c, 0x0a,
3524    0x05, 0x04, 0x04, 0x02, 0x07, 0x04, 0x12, 0x03, 0x3b, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3525    0x04, 0x02, 0x07, 0x05, 0x12, 0x03, 0x3b, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02,
3526    0x07, 0x01, 0x12, 0x03, 0x3b, 0x16, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x07, 0x03,
3527    0x12, 0x03, 0x3b, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x08, 0x12, 0x03, 0x3c,
3528    0x08, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, 0x04, 0x12, 0x03, 0x3c, 0x08, 0x10,
3529    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, 0x05, 0x12, 0x03, 0x3c, 0x11, 0x15, 0x0a, 0x0c,
3530    0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, 0x01, 0x12, 0x03, 0x3c, 0x16, 0x2d, 0x0a, 0x0c, 0x0a, 0x05,
3531    0x04, 0x04, 0x02, 0x08, 0x03, 0x12, 0x03, 0x3c, 0x30, 0x31, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04,
3532    0x02, 0x09, 0x12, 0x03, 0x3d, 0x08, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x09, 0x04,
3533    0x12, 0x03, 0x3d, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x09, 0x05, 0x12, 0x03,
3534    0x3d, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x09, 0x01, 0x12, 0x03, 0x3d, 0x18,
3535    0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x09, 0x03, 0x12, 0x03, 0x3d, 0x28, 0x2a, 0x0a,
3536    0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0a, 0x12, 0x03, 0x3e, 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x05,
3537    0x04, 0x04, 0x02, 0x0a, 0x04, 0x12, 0x03, 0x3e, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04,
3538    0x02, 0x0a, 0x05, 0x12, 0x03, 0x3e, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0a,
3539    0x01, 0x12, 0x03, 0x3e, 0x18, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0a, 0x03, 0x12,
3540    0x03, 0x3e, 0x26, 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0b, 0x12, 0x03, 0x3f, 0x08,
3541    0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0b, 0x04, 0x12, 0x03, 0x3f, 0x08, 0x10, 0x0a,
3542    0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0b, 0x05, 0x12, 0x03, 0x3f, 0x11, 0x15, 0x0a, 0x0c, 0x0a,
3543    0x05, 0x04, 0x04, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x3f, 0x16, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3544    0x04, 0x02, 0x0b, 0x03, 0x12, 0x03, 0x3f, 0x2a, 0x2c, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12,
3545    0x04, 0x42, 0x00, 0x52, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x42, 0x08,
3546    0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x43, 0x08, 0x24, 0x0a, 0x0c,
3547    0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x04, 0x12, 0x03, 0x43, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05,
3548    0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x43, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05,
3549    0x02, 0x00, 0x01, 0x12, 0x03, 0x43, 0x16, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00,
3550    0x03, 0x12, 0x03, 0x43, 0x22, 0x23, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x03,
3551    0x44, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x04, 0x12, 0x03, 0x44, 0x08,
3552    0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x03, 0x44, 0x11, 0x15, 0x0a,
3553    0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x03, 0x44, 0x16, 0x1d, 0x0a, 0x0c, 0x0a,
3554    0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03, 0x44, 0x20, 0x21, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
3555    0x05, 0x02, 0x02, 0x12, 0x03, 0x45, 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02,
3556    0x04, 0x12, 0x03, 0x45, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x05, 0x12,
3557    0x03, 0x45, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x03, 0x45,
3558    0x16, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x03, 0x45, 0x28, 0x29,
3559    0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x03, 0x46, 0x08, 0x23, 0x0a, 0x0c, 0x0a,
3560    0x05, 0x04, 0x05, 0x02, 0x03, 0x04, 0x12, 0x03, 0x46, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3561    0x05, 0x02, 0x03, 0x05, 0x12, 0x03, 0x46, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02,
3562    0x03, 0x01, 0x12, 0x03, 0x46, 0x16, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03,
3563    0x12, 0x03, 0x46, 0x21, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x03, 0x47,
3564    0x08, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x04, 0x12, 0x03, 0x47, 0x08, 0x10,
3565    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x05, 0x12, 0x03, 0x47, 0x11, 0x15, 0x0a, 0x0c,
3566    0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x03, 0x47, 0x16, 0x23, 0x0a, 0x0c, 0x0a, 0x05,
3567    0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x03, 0x47, 0x26, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05,
3568    0x02, 0x05, 0x12, 0x03, 0x48, 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x04,
3569    0x12, 0x03, 0x48, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x05, 0x12, 0x03,
3570    0x48, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x01, 0x12, 0x03, 0x48, 0x16,
3571    0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x03, 0x12, 0x03, 0x48, 0x28, 0x29, 0x0a,
3572    0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x06, 0x12, 0x03, 0x49, 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x05,
3573    0x04, 0x05, 0x02, 0x06, 0x04, 0x12, 0x03, 0x49, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05,
3574    0x02, 0x06, 0x05, 0x12, 0x03, 0x49, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06,
3575    0x01, 0x12, 0x03, 0x49, 0x16, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x03, 0x12,
3576    0x03, 0x49, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x07, 0x12, 0x03, 0x4a, 0x08,
3577    0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x04, 0x12, 0x03, 0x4a, 0x08, 0x10, 0x0a,
3578    0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x05, 0x12, 0x03, 0x4a, 0x11, 0x15, 0x0a, 0x0c, 0x0a,
3579    0x05, 0x04, 0x05, 0x02, 0x07, 0x01, 0x12, 0x03, 0x4a, 0x16, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3580    0x05, 0x02, 0x07, 0x03, 0x12, 0x03, 0x4a, 0x23, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02,
3581    0x08, 0x12, 0x03, 0x4b, 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x04, 0x12,
3582    0x03, 0x4b, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x05, 0x12, 0x03, 0x4b,
3583    0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x01, 0x12, 0x03, 0x4b, 0x16, 0x24,
3584    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x03, 0x12, 0x03, 0x4b, 0x27, 0x28, 0x0a, 0x0b,
3585    0x0a, 0x04, 0x04, 0x05, 0x02, 0x09, 0x12, 0x03, 0x4c, 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3586    0x05, 0x02, 0x09, 0x04, 0x12, 0x03, 0x4c, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02,
3587    0x09, 0x05, 0x12, 0x03, 0x4c, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x09, 0x01,
3588    0x12, 0x03, 0x4c, 0x16, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x09, 0x03, 0x12, 0x03,
3589    0x4c, 0x26, 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0a, 0x12, 0x03, 0x4d, 0x08, 0x2a,
3590    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0a, 0x04, 0x12, 0x03, 0x4d, 0x08, 0x10, 0x0a, 0x0c,
3591    0x0a, 0x05, 0x04, 0x05, 0x02, 0x0a, 0x05, 0x12, 0x03, 0x4d, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05,
3592    0x04, 0x05, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x4d, 0x16, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05,
3593    0x02, 0x0a, 0x03, 0x12, 0x03, 0x4d, 0x27, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0b,
3594    0x12, 0x03, 0x4e, 0x08, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x04, 0x12, 0x03,
3595    0x4e, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x05, 0x12, 0x03, 0x4e, 0x11,
3596    0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x4e, 0x16, 0x25, 0x0a,
3597    0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x03, 0x12, 0x03, 0x4e, 0x28, 0x2a, 0x0a, 0x0b, 0x0a,
3598    0x04, 0x04, 0x05, 0x02, 0x0c, 0x12, 0x03, 0x4f, 0x08, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05,
3599    0x02, 0x0c, 0x04, 0x12, 0x03, 0x4f, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0c,
3600    0x05, 0x12, 0x03, 0x4f, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0c, 0x01, 0x12,
3601    0x03, 0x4f, 0x16, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x4f,
3602    0x33, 0x35, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0d, 0x12, 0x03, 0x50, 0x08, 0x2a, 0x0a,
3603    0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x04, 0x12, 0x03, 0x50, 0x08, 0x10, 0x0a, 0x0c, 0x0a,
3604    0x05, 0x04, 0x05, 0x02, 0x0d, 0x05, 0x12, 0x03, 0x50, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
3605    0x05, 0x02, 0x0d, 0x01, 0x12, 0x03, 0x50, 0x16, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02,
3606    0x0d, 0x03, 0x12, 0x03, 0x50, 0x27, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0e, 0x12,
3607    0x03, 0x51, 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x04, 0x12, 0x03, 0x51,
3608    0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x05, 0x12, 0x03, 0x51, 0x11, 0x15,
3609    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x01, 0x12, 0x03, 0x51, 0x16, 0x24, 0x0a, 0x0c,
3610    0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x03, 0x12, 0x03, 0x51, 0x27, 0x29,
3611];
3612
3613static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
3614    lock: ::protobuf::lazy::ONCE_INIT,
3615    ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto,
3616};
3617
3618fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
3619    ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
3620}
3621
3622pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
3623    unsafe {
3624        file_descriptor_proto_lazy.get(|| {
3625            parse_descriptor_proto()
3626        })
3627    }
3628}