steam-vent-proto 0.1.0

Protobuf structs used by the Steam client protocol
Documentation
// This file is generated by rust-protobuf 2.24.1. Do not edit
// @generated

// https://github.com/rust-lang/rust-clippy/issues/702
#![allow(unknown_lints)]
#![allow(clippy::all)]

#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]

#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_imports)]
#![allow(unused_results)]
//! Generated file from `steammessages_depotbuilder.steamclient.proto`

/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_24_1;

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_InitDepotBuild_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    depotid: ::std::option::Option<u32>,
    workshop_itemid: ::std::option::Option<u64>,
    for_local_cs: ::std::option::Option<bool>,
    target_branch: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_InitDepotBuild_Request {
    fn default() -> &'a CContentBuilder_InitDepotBuild_Request {
        <CContentBuilder_InitDepotBuild_Request as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_InitDepotBuild_Request {
    pub fn new() -> CContentBuilder_InitDepotBuild_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional uint32 depotid = 2;


    pub fn get_depotid(&self) -> u32 {
        self.depotid.unwrap_or(0)
    }
    pub fn clear_depotid(&mut self) {
        self.depotid = ::std::option::Option::None;
    }

    pub fn has_depotid(&self) -> bool {
        self.depotid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_depotid(&mut self, v: u32) {
        self.depotid = ::std::option::Option::Some(v);
    }

    // optional uint64 workshop_itemid = 3;


    pub fn get_workshop_itemid(&self) -> u64 {
        self.workshop_itemid.unwrap_or(0)
    }
    pub fn clear_workshop_itemid(&mut self) {
        self.workshop_itemid = ::std::option::Option::None;
    }

    pub fn has_workshop_itemid(&self) -> bool {
        self.workshop_itemid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_workshop_itemid(&mut self, v: u64) {
        self.workshop_itemid = ::std::option::Option::Some(v);
    }

    // optional bool for_local_cs = 4;


    pub fn get_for_local_cs(&self) -> bool {
        self.for_local_cs.unwrap_or(false)
    }
    pub fn clear_for_local_cs(&mut self) {
        self.for_local_cs = ::std::option::Option::None;
    }

    pub fn has_for_local_cs(&self) -> bool {
        self.for_local_cs.is_some()
    }

    // Param is passed by value, moved
    pub fn set_for_local_cs(&mut self, v: bool) {
        self.for_local_cs = ::std::option::Option::Some(v);
    }

    // optional string target_branch = 5;


    pub fn get_target_branch(&self) -> &str {
        match self.target_branch.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_target_branch(&mut self) {
        self.target_branch.clear();
    }

    pub fn has_target_branch(&self) -> bool {
        self.target_branch.is_some()
    }

    // Param is passed by value, moved
    pub fn set_target_branch(&mut self, v: ::std::string::String) {
        self.target_branch = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_target_branch(&mut self) -> &mut ::std::string::String {
        if self.target_branch.is_none() {
            self.target_branch.set_default();
        }
        self.target_branch.as_mut().unwrap()
    }

    // Take field
    pub fn take_target_branch(&mut self) -> ::std::string::String {
        self.target_branch.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CContentBuilder_InitDepotBuild_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.depotid = ::std::option::Option::Some(tmp);
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.workshop_itemid = ::std::option::Option::Some(tmp);
                },
                4 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.for_local_cs = ::std::option::Option::Some(tmp);
                },
                5 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.target_branch)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.depotid {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.workshop_itemid {
            my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.for_local_cs {
            my_size += 2;
        }
        if let Some(ref v) = self.target_branch.as_ref() {
            my_size += ::protobuf::rt::string_size(5, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.depotid {
            os.write_uint32(2, v)?;
        }
        if let Some(v) = self.workshop_itemid {
            os.write_uint64(3, v)?;
        }
        if let Some(v) = self.for_local_cs {
            os.write_bool(4, v)?;
        }
        if let Some(ref v) = self.target_branch.as_ref() {
            os.write_string(5, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_InitDepotBuild_Request {
        CContentBuilder_InitDepotBuild_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CContentBuilder_InitDepotBuild_Request| { &m.appid },
                |m: &mut CContentBuilder_InitDepotBuild_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "depotid",
                |m: &CContentBuilder_InitDepotBuild_Request| { &m.depotid },
                |m: &mut CContentBuilder_InitDepotBuild_Request| { &mut m.depotid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "workshop_itemid",
                |m: &CContentBuilder_InitDepotBuild_Request| { &m.workshop_itemid },
                |m: &mut CContentBuilder_InitDepotBuild_Request| { &mut m.workshop_itemid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "for_local_cs",
                |m: &CContentBuilder_InitDepotBuild_Request| { &m.for_local_cs },
                |m: &mut CContentBuilder_InitDepotBuild_Request| { &mut m.for_local_cs },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "target_branch",
                |m: &CContentBuilder_InitDepotBuild_Request| { &m.target_branch },
                |m: &mut CContentBuilder_InitDepotBuild_Request| { &mut m.target_branch },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_InitDepotBuild_Request>(
                "CContentBuilder_InitDepotBuild_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_InitDepotBuild_Request {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_InitDepotBuild_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_InitDepotBuild_Request::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_InitDepotBuild_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.depotid = ::std::option::Option::None;
        self.workshop_itemid = ::std::option::Option::None;
        self.for_local_cs = ::std::option::Option::None;
        self.target_branch.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_InitDepotBuild_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_InitDepotBuild_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_InitDepotBuild_Response {
    // message fields
    baseline_manifestid: ::std::option::Option<u64>,
    chunk_size: ::std::option::Option<u32>,
    aes_key: ::protobuf::SingularField<::std::vec::Vec<u8>>,
    rsa_key: ::protobuf::SingularField<::std::vec::Vec<u8>>,
    url_host: ::protobuf::SingularField<::std::string::String>,
    offset_detection_enabled: ::std::option::Option<bool>,
    offset_detection_min_clean_chunk: ::std::option::Option<u32>,
    offset_detection_blast_radius_pre: ::std::option::Option<u32>,
    offset_detection_blast_radius_post: ::std::option::Option<u32>,
    offset_detection_max_distance_pre: ::std::option::Option<u32>,
    offset_detection_max_distance_post: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_InitDepotBuild_Response {
    fn default() -> &'a CContentBuilder_InitDepotBuild_Response {
        <CContentBuilder_InitDepotBuild_Response as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_InitDepotBuild_Response {
    pub fn new() -> CContentBuilder_InitDepotBuild_Response {
        ::std::default::Default::default()
    }

    // optional uint64 baseline_manifestid = 1;


    pub fn get_baseline_manifestid(&self) -> u64 {
        self.baseline_manifestid.unwrap_or(0)
    }
    pub fn clear_baseline_manifestid(&mut self) {
        self.baseline_manifestid = ::std::option::Option::None;
    }

    pub fn has_baseline_manifestid(&self) -> bool {
        self.baseline_manifestid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_baseline_manifestid(&mut self, v: u64) {
        self.baseline_manifestid = ::std::option::Option::Some(v);
    }

    // optional uint32 chunk_size = 2;


    pub fn get_chunk_size(&self) -> u32 {
        self.chunk_size.unwrap_or(0)
    }
    pub fn clear_chunk_size(&mut self) {
        self.chunk_size = ::std::option::Option::None;
    }

    pub fn has_chunk_size(&self) -> bool {
        self.chunk_size.is_some()
    }

    // Param is passed by value, moved
    pub fn set_chunk_size(&mut self, v: u32) {
        self.chunk_size = ::std::option::Option::Some(v);
    }

    // optional bytes aes_key = 3;


    pub fn get_aes_key(&self) -> &[u8] {
        match self.aes_key.as_ref() {
            Some(v) => &v,
            None => &[],
        }
    }
    pub fn clear_aes_key(&mut self) {
        self.aes_key.clear();
    }

    pub fn has_aes_key(&self) -> bool {
        self.aes_key.is_some()
    }

    // Param is passed by value, moved
    pub fn set_aes_key(&mut self, v: ::std::vec::Vec<u8>) {
        self.aes_key = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_aes_key(&mut self) -> &mut ::std::vec::Vec<u8> {
        if self.aes_key.is_none() {
            self.aes_key.set_default();
        }
        self.aes_key.as_mut().unwrap()
    }

    // Take field
    pub fn take_aes_key(&mut self) -> ::std::vec::Vec<u8> {
        self.aes_key.take().unwrap_or_else(|| ::std::vec::Vec::new())
    }

    // optional bytes rsa_key = 4;


    pub fn get_rsa_key(&self) -> &[u8] {
        match self.rsa_key.as_ref() {
            Some(v) => &v,
            None => &[],
        }
    }
    pub fn clear_rsa_key(&mut self) {
        self.rsa_key.clear();
    }

    pub fn has_rsa_key(&self) -> bool {
        self.rsa_key.is_some()
    }

    // Param is passed by value, moved
    pub fn set_rsa_key(&mut self, v: ::std::vec::Vec<u8>) {
        self.rsa_key = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_rsa_key(&mut self) -> &mut ::std::vec::Vec<u8> {
        if self.rsa_key.is_none() {
            self.rsa_key.set_default();
        }
        self.rsa_key.as_mut().unwrap()
    }

    // Take field
    pub fn take_rsa_key(&mut self) -> ::std::vec::Vec<u8> {
        self.rsa_key.take().unwrap_or_else(|| ::std::vec::Vec::new())
    }

    // optional string url_host = 5;


    pub fn get_url_host(&self) -> &str {
        match self.url_host.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_url_host(&mut self) {
        self.url_host.clear();
    }

    pub fn has_url_host(&self) -> bool {
        self.url_host.is_some()
    }

    // Param is passed by value, moved
    pub fn set_url_host(&mut self, v: ::std::string::String) {
        self.url_host = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_url_host(&mut self) -> &mut ::std::string::String {
        if self.url_host.is_none() {
            self.url_host.set_default();
        }
        self.url_host.as_mut().unwrap()
    }

    // Take field
    pub fn take_url_host(&mut self) -> ::std::string::String {
        self.url_host.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool offset_detection_enabled = 6;


    pub fn get_offset_detection_enabled(&self) -> bool {
        self.offset_detection_enabled.unwrap_or(false)
    }
    pub fn clear_offset_detection_enabled(&mut self) {
        self.offset_detection_enabled = ::std::option::Option::None;
    }

    pub fn has_offset_detection_enabled(&self) -> bool {
        self.offset_detection_enabled.is_some()
    }

    // Param is passed by value, moved
    pub fn set_offset_detection_enabled(&mut self, v: bool) {
        self.offset_detection_enabled = ::std::option::Option::Some(v);
    }

    // optional uint32 offset_detection_min_clean_chunk = 7;


    pub fn get_offset_detection_min_clean_chunk(&self) -> u32 {
        self.offset_detection_min_clean_chunk.unwrap_or(0)
    }
    pub fn clear_offset_detection_min_clean_chunk(&mut self) {
        self.offset_detection_min_clean_chunk = ::std::option::Option::None;
    }

    pub fn has_offset_detection_min_clean_chunk(&self) -> bool {
        self.offset_detection_min_clean_chunk.is_some()
    }

    // Param is passed by value, moved
    pub fn set_offset_detection_min_clean_chunk(&mut self, v: u32) {
        self.offset_detection_min_clean_chunk = ::std::option::Option::Some(v);
    }

    // optional uint32 offset_detection_blast_radius_pre = 8;


    pub fn get_offset_detection_blast_radius_pre(&self) -> u32 {
        self.offset_detection_blast_radius_pre.unwrap_or(0)
    }
    pub fn clear_offset_detection_blast_radius_pre(&mut self) {
        self.offset_detection_blast_radius_pre = ::std::option::Option::None;
    }

    pub fn has_offset_detection_blast_radius_pre(&self) -> bool {
        self.offset_detection_blast_radius_pre.is_some()
    }

    // Param is passed by value, moved
    pub fn set_offset_detection_blast_radius_pre(&mut self, v: u32) {
        self.offset_detection_blast_radius_pre = ::std::option::Option::Some(v);
    }

    // optional uint32 offset_detection_blast_radius_post = 9;


    pub fn get_offset_detection_blast_radius_post(&self) -> u32 {
        self.offset_detection_blast_radius_post.unwrap_or(0)
    }
    pub fn clear_offset_detection_blast_radius_post(&mut self) {
        self.offset_detection_blast_radius_post = ::std::option::Option::None;
    }

    pub fn has_offset_detection_blast_radius_post(&self) -> bool {
        self.offset_detection_blast_radius_post.is_some()
    }

    // Param is passed by value, moved
    pub fn set_offset_detection_blast_radius_post(&mut self, v: u32) {
        self.offset_detection_blast_radius_post = ::std::option::Option::Some(v);
    }

    // optional uint32 offset_detection_max_distance_pre = 10;


    pub fn get_offset_detection_max_distance_pre(&self) -> u32 {
        self.offset_detection_max_distance_pre.unwrap_or(0)
    }
    pub fn clear_offset_detection_max_distance_pre(&mut self) {
        self.offset_detection_max_distance_pre = ::std::option::Option::None;
    }

    pub fn has_offset_detection_max_distance_pre(&self) -> bool {
        self.offset_detection_max_distance_pre.is_some()
    }

    // Param is passed by value, moved
    pub fn set_offset_detection_max_distance_pre(&mut self, v: u32) {
        self.offset_detection_max_distance_pre = ::std::option::Option::Some(v);
    }

    // optional uint32 offset_detection_max_distance_post = 11;


    pub fn get_offset_detection_max_distance_post(&self) -> u32 {
        self.offset_detection_max_distance_post.unwrap_or(0)
    }
    pub fn clear_offset_detection_max_distance_post(&mut self) {
        self.offset_detection_max_distance_post = ::std::option::Option::None;
    }

    pub fn has_offset_detection_max_distance_post(&self) -> bool {
        self.offset_detection_max_distance_post.is_some()
    }

    // Param is passed by value, moved
    pub fn set_offset_detection_max_distance_post(&mut self, v: u32) {
        self.offset_detection_max_distance_post = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CContentBuilder_InitDepotBuild_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.baseline_manifestid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.chunk_size = ::std::option::Option::Some(tmp);
                },
                3 => {
                    ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.aes_key)?;
                },
                4 => {
                    ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.rsa_key)?;
                },
                5 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.url_host)?;
                },
                6 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.offset_detection_enabled = ::std::option::Option::Some(tmp);
                },
                7 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.offset_detection_min_clean_chunk = ::std::option::Option::Some(tmp);
                },
                8 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.offset_detection_blast_radius_pre = ::std::option::Option::Some(tmp);
                },
                9 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.offset_detection_blast_radius_post = ::std::option::Option::Some(tmp);
                },
                10 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.offset_detection_max_distance_pre = ::std::option::Option::Some(tmp);
                },
                11 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.offset_detection_max_distance_post = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.baseline_manifestid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.chunk_size {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.aes_key.as_ref() {
            my_size += ::protobuf::rt::bytes_size(3, &v);
        }
        if let Some(ref v) = self.rsa_key.as_ref() {
            my_size += ::protobuf::rt::bytes_size(4, &v);
        }
        if let Some(ref v) = self.url_host.as_ref() {
            my_size += ::protobuf::rt::string_size(5, &v);
        }
        if let Some(v) = self.offset_detection_enabled {
            my_size += 2;
        }
        if let Some(v) = self.offset_detection_min_clean_chunk {
            my_size += ::protobuf::rt::value_size(7, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.offset_detection_blast_radius_pre {
            my_size += ::protobuf::rt::value_size(8, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.offset_detection_blast_radius_post {
            my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.offset_detection_max_distance_pre {
            my_size += ::protobuf::rt::value_size(10, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.offset_detection_max_distance_post {
            my_size += ::protobuf::rt::value_size(11, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.baseline_manifestid {
            os.write_uint64(1, v)?;
        }
        if let Some(v) = self.chunk_size {
            os.write_uint32(2, v)?;
        }
        if let Some(ref v) = self.aes_key.as_ref() {
            os.write_bytes(3, &v)?;
        }
        if let Some(ref v) = self.rsa_key.as_ref() {
            os.write_bytes(4, &v)?;
        }
        if let Some(ref v) = self.url_host.as_ref() {
            os.write_string(5, &v)?;
        }
        if let Some(v) = self.offset_detection_enabled {
            os.write_bool(6, v)?;
        }
        if let Some(v) = self.offset_detection_min_clean_chunk {
            os.write_uint32(7, v)?;
        }
        if let Some(v) = self.offset_detection_blast_radius_pre {
            os.write_uint32(8, v)?;
        }
        if let Some(v) = self.offset_detection_blast_radius_post {
            os.write_uint32(9, v)?;
        }
        if let Some(v) = self.offset_detection_max_distance_pre {
            os.write_uint32(10, v)?;
        }
        if let Some(v) = self.offset_detection_max_distance_post {
            os.write_uint32(11, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_InitDepotBuild_Response {
        CContentBuilder_InitDepotBuild_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "baseline_manifestid",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.baseline_manifestid },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.baseline_manifestid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "chunk_size",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.chunk_size },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.chunk_size },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
                "aes_key",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.aes_key },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.aes_key },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
                "rsa_key",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.rsa_key },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.rsa_key },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "url_host",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.url_host },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.url_host },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "offset_detection_enabled",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.offset_detection_enabled },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.offset_detection_enabled },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "offset_detection_min_clean_chunk",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.offset_detection_min_clean_chunk },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.offset_detection_min_clean_chunk },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "offset_detection_blast_radius_pre",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.offset_detection_blast_radius_pre },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.offset_detection_blast_radius_pre },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "offset_detection_blast_radius_post",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.offset_detection_blast_radius_post },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.offset_detection_blast_radius_post },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "offset_detection_max_distance_pre",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.offset_detection_max_distance_pre },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.offset_detection_max_distance_pre },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "offset_detection_max_distance_post",
                |m: &CContentBuilder_InitDepotBuild_Response| { &m.offset_detection_max_distance_post },
                |m: &mut CContentBuilder_InitDepotBuild_Response| { &mut m.offset_detection_max_distance_post },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_InitDepotBuild_Response>(
                "CContentBuilder_InitDepotBuild_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_InitDepotBuild_Response {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_InitDepotBuild_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_InitDepotBuild_Response::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_InitDepotBuild_Response {
    fn clear(&mut self) {
        self.baseline_manifestid = ::std::option::Option::None;
        self.chunk_size = ::std::option::Option::None;
        self.aes_key.clear();
        self.rsa_key.clear();
        self.url_host.clear();
        self.offset_detection_enabled = ::std::option::Option::None;
        self.offset_detection_min_clean_chunk = ::std::option::Option::None;
        self.offset_detection_blast_radius_pre = ::std::option::Option::None;
        self.offset_detection_blast_radius_post = ::std::option::Option::None;
        self.offset_detection_max_distance_pre = ::std::option::Option::None;
        self.offset_detection_max_distance_post = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_InitDepotBuild_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_InitDepotBuild_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_StartDepotUpload_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    depotid: ::std::option::Option<u32>,
    workshop_itemid: ::std::option::Option<u64>,
    for_local_cs: ::std::option::Option<bool>,
    baseline_manifestid: ::std::option::Option<u64>,
    manifest_size: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_StartDepotUpload_Request {
    fn default() -> &'a CContentBuilder_StartDepotUpload_Request {
        <CContentBuilder_StartDepotUpload_Request as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_StartDepotUpload_Request {
    pub fn new() -> CContentBuilder_StartDepotUpload_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional uint32 depotid = 2;


    pub fn get_depotid(&self) -> u32 {
        self.depotid.unwrap_or(0)
    }
    pub fn clear_depotid(&mut self) {
        self.depotid = ::std::option::Option::None;
    }

    pub fn has_depotid(&self) -> bool {
        self.depotid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_depotid(&mut self, v: u32) {
        self.depotid = ::std::option::Option::Some(v);
    }

    // optional uint64 workshop_itemid = 3;


    pub fn get_workshop_itemid(&self) -> u64 {
        self.workshop_itemid.unwrap_or(0)
    }
    pub fn clear_workshop_itemid(&mut self) {
        self.workshop_itemid = ::std::option::Option::None;
    }

    pub fn has_workshop_itemid(&self) -> bool {
        self.workshop_itemid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_workshop_itemid(&mut self, v: u64) {
        self.workshop_itemid = ::std::option::Option::Some(v);
    }

    // optional bool for_local_cs = 4;


    pub fn get_for_local_cs(&self) -> bool {
        self.for_local_cs.unwrap_or(false)
    }
    pub fn clear_for_local_cs(&mut self) {
        self.for_local_cs = ::std::option::Option::None;
    }

    pub fn has_for_local_cs(&self) -> bool {
        self.for_local_cs.is_some()
    }

    // Param is passed by value, moved
    pub fn set_for_local_cs(&mut self, v: bool) {
        self.for_local_cs = ::std::option::Option::Some(v);
    }

    // optional uint64 baseline_manifestid = 5;


    pub fn get_baseline_manifestid(&self) -> u64 {
        self.baseline_manifestid.unwrap_or(0)
    }
    pub fn clear_baseline_manifestid(&mut self) {
        self.baseline_manifestid = ::std::option::Option::None;
    }

    pub fn has_baseline_manifestid(&self) -> bool {
        self.baseline_manifestid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_baseline_manifestid(&mut self, v: u64) {
        self.baseline_manifestid = ::std::option::Option::Some(v);
    }

    // optional uint32 manifest_size = 6;


    pub fn get_manifest_size(&self) -> u32 {
        self.manifest_size.unwrap_or(0)
    }
    pub fn clear_manifest_size(&mut self) {
        self.manifest_size = ::std::option::Option::None;
    }

    pub fn has_manifest_size(&self) -> bool {
        self.manifest_size.is_some()
    }

    // Param is passed by value, moved
    pub fn set_manifest_size(&mut self, v: u32) {
        self.manifest_size = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CContentBuilder_StartDepotUpload_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.depotid = ::std::option::Option::Some(tmp);
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.workshop_itemid = ::std::option::Option::Some(tmp);
                },
                4 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.for_local_cs = ::std::option::Option::Some(tmp);
                },
                5 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.baseline_manifestid = ::std::option::Option::Some(tmp);
                },
                6 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.manifest_size = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.depotid {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.workshop_itemid {
            my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.for_local_cs {
            my_size += 2;
        }
        if let Some(v) = self.baseline_manifestid {
            my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.manifest_size {
            my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.depotid {
            os.write_uint32(2, v)?;
        }
        if let Some(v) = self.workshop_itemid {
            os.write_uint64(3, v)?;
        }
        if let Some(v) = self.for_local_cs {
            os.write_bool(4, v)?;
        }
        if let Some(v) = self.baseline_manifestid {
            os.write_uint64(5, v)?;
        }
        if let Some(v) = self.manifest_size {
            os.write_uint32(6, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_StartDepotUpload_Request {
        CContentBuilder_StartDepotUpload_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CContentBuilder_StartDepotUpload_Request| { &m.appid },
                |m: &mut CContentBuilder_StartDepotUpload_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "depotid",
                |m: &CContentBuilder_StartDepotUpload_Request| { &m.depotid },
                |m: &mut CContentBuilder_StartDepotUpload_Request| { &mut m.depotid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "workshop_itemid",
                |m: &CContentBuilder_StartDepotUpload_Request| { &m.workshop_itemid },
                |m: &mut CContentBuilder_StartDepotUpload_Request| { &mut m.workshop_itemid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "for_local_cs",
                |m: &CContentBuilder_StartDepotUpload_Request| { &m.for_local_cs },
                |m: &mut CContentBuilder_StartDepotUpload_Request| { &mut m.for_local_cs },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "baseline_manifestid",
                |m: &CContentBuilder_StartDepotUpload_Request| { &m.baseline_manifestid },
                |m: &mut CContentBuilder_StartDepotUpload_Request| { &mut m.baseline_manifestid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "manifest_size",
                |m: &CContentBuilder_StartDepotUpload_Request| { &m.manifest_size },
                |m: &mut CContentBuilder_StartDepotUpload_Request| { &mut m.manifest_size },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_StartDepotUpload_Request>(
                "CContentBuilder_StartDepotUpload_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_StartDepotUpload_Request {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_StartDepotUpload_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_StartDepotUpload_Request::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_StartDepotUpload_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.depotid = ::std::option::Option::None;
        self.workshop_itemid = ::std::option::Option::None;
        self.for_local_cs = ::std::option::Option::None;
        self.baseline_manifestid = ::std::option::Option::None;
        self.manifest_size = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_StartDepotUpload_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_StartDepotUpload_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_StartDepotUpload_Response {
    // message fields
    depot_build_handle: ::std::option::Option<u64>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_StartDepotUpload_Response {
    fn default() -> &'a CContentBuilder_StartDepotUpload_Response {
        <CContentBuilder_StartDepotUpload_Response as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_StartDepotUpload_Response {
    pub fn new() -> CContentBuilder_StartDepotUpload_Response {
        ::std::default::Default::default()
    }

    // optional uint64 depot_build_handle = 1;


    pub fn get_depot_build_handle(&self) -> u64 {
        self.depot_build_handle.unwrap_or(0)
    }
    pub fn clear_depot_build_handle(&mut self) {
        self.depot_build_handle = ::std::option::Option::None;
    }

    pub fn has_depot_build_handle(&self) -> bool {
        self.depot_build_handle.is_some()
    }

    // Param is passed by value, moved
    pub fn set_depot_build_handle(&mut self, v: u64) {
        self.depot_build_handle = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CContentBuilder_StartDepotUpload_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.depot_build_handle = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.depot_build_handle {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.depot_build_handle {
            os.write_uint64(1, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_StartDepotUpload_Response {
        CContentBuilder_StartDepotUpload_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "depot_build_handle",
                |m: &CContentBuilder_StartDepotUpload_Response| { &m.depot_build_handle },
                |m: &mut CContentBuilder_StartDepotUpload_Response| { &mut m.depot_build_handle },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_StartDepotUpload_Response>(
                "CContentBuilder_StartDepotUpload_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_StartDepotUpload_Response {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_StartDepotUpload_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_StartDepotUpload_Response::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_StartDepotUpload_Response {
    fn clear(&mut self) {
        self.depot_build_handle = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_StartDepotUpload_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_StartDepotUpload_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_GetMissingDepotChunks_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    depot_build_handle: ::std::option::Option<u64>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_GetMissingDepotChunks_Request {
    fn default() -> &'a CContentBuilder_GetMissingDepotChunks_Request {
        <CContentBuilder_GetMissingDepotChunks_Request as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_GetMissingDepotChunks_Request {
    pub fn new() -> CContentBuilder_GetMissingDepotChunks_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional uint64 depot_build_handle = 2;


    pub fn get_depot_build_handle(&self) -> u64 {
        self.depot_build_handle.unwrap_or(0)
    }
    pub fn clear_depot_build_handle(&mut self) {
        self.depot_build_handle = ::std::option::Option::None;
    }

    pub fn has_depot_build_handle(&self) -> bool {
        self.depot_build_handle.is_some()
    }

    // Param is passed by value, moved
    pub fn set_depot_build_handle(&mut self, v: u64) {
        self.depot_build_handle = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CContentBuilder_GetMissingDepotChunks_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.depot_build_handle = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.depot_build_handle {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.depot_build_handle {
            os.write_uint64(2, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_GetMissingDepotChunks_Request {
        CContentBuilder_GetMissingDepotChunks_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CContentBuilder_GetMissingDepotChunks_Request| { &m.appid },
                |m: &mut CContentBuilder_GetMissingDepotChunks_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "depot_build_handle",
                |m: &CContentBuilder_GetMissingDepotChunks_Request| { &m.depot_build_handle },
                |m: &mut CContentBuilder_GetMissingDepotChunks_Request| { &mut m.depot_build_handle },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_GetMissingDepotChunks_Request>(
                "CContentBuilder_GetMissingDepotChunks_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_GetMissingDepotChunks_Request {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_GetMissingDepotChunks_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_GetMissingDepotChunks_Request::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_GetMissingDepotChunks_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.depot_build_handle = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_GetMissingDepotChunks_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_GetMissingDepotChunks_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_GetMissingDepotChunks_Response {
    // message fields
    pub missing_chunks: ::protobuf::RepeatedField<CContentBuilder_GetMissingDepotChunks_Response_Chunks>,
    total_missing_chunks: ::std::option::Option<u32>,
    total_missing_bytes: ::std::option::Option<u64>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_GetMissingDepotChunks_Response {
    fn default() -> &'a CContentBuilder_GetMissingDepotChunks_Response {
        <CContentBuilder_GetMissingDepotChunks_Response as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_GetMissingDepotChunks_Response {
    pub fn new() -> CContentBuilder_GetMissingDepotChunks_Response {
        ::std::default::Default::default()
    }

    // repeated .CContentBuilder_GetMissingDepotChunks_Response.Chunks missing_chunks = 1;


    pub fn get_missing_chunks(&self) -> &[CContentBuilder_GetMissingDepotChunks_Response_Chunks] {
        &self.missing_chunks
    }
    pub fn clear_missing_chunks(&mut self) {
        self.missing_chunks.clear();
    }

    // Param is passed by value, moved
    pub fn set_missing_chunks(&mut self, v: ::protobuf::RepeatedField<CContentBuilder_GetMissingDepotChunks_Response_Chunks>) {
        self.missing_chunks = v;
    }

    // Mutable pointer to the field.
    pub fn mut_missing_chunks(&mut self) -> &mut ::protobuf::RepeatedField<CContentBuilder_GetMissingDepotChunks_Response_Chunks> {
        &mut self.missing_chunks
    }

    // Take field
    pub fn take_missing_chunks(&mut self) -> ::protobuf::RepeatedField<CContentBuilder_GetMissingDepotChunks_Response_Chunks> {
        ::std::mem::replace(&mut self.missing_chunks, ::protobuf::RepeatedField::new())
    }

    // optional uint32 total_missing_chunks = 2;


    pub fn get_total_missing_chunks(&self) -> u32 {
        self.total_missing_chunks.unwrap_or(0)
    }
    pub fn clear_total_missing_chunks(&mut self) {
        self.total_missing_chunks = ::std::option::Option::None;
    }

    pub fn has_total_missing_chunks(&self) -> bool {
        self.total_missing_chunks.is_some()
    }

    // Param is passed by value, moved
    pub fn set_total_missing_chunks(&mut self, v: u32) {
        self.total_missing_chunks = ::std::option::Option::Some(v);
    }

    // optional uint64 total_missing_bytes = 3;


    pub fn get_total_missing_bytes(&self) -> u64 {
        self.total_missing_bytes.unwrap_or(0)
    }
    pub fn clear_total_missing_bytes(&mut self) {
        self.total_missing_bytes = ::std::option::Option::None;
    }

    pub fn has_total_missing_bytes(&self) -> bool {
        self.total_missing_bytes.is_some()
    }

    // Param is passed by value, moved
    pub fn set_total_missing_bytes(&mut self, v: u64) {
        self.total_missing_bytes = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CContentBuilder_GetMissingDepotChunks_Response {
    fn is_initialized(&self) -> bool {
        for v in &self.missing_chunks {
            if !v.is_initialized() {
                return false;
            }
        };
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.missing_chunks)?;
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.total_missing_chunks = ::std::option::Option::Some(tmp);
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.total_missing_bytes = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        for value in &self.missing_chunks {
            let len = value.compute_size();
            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
        };
        if let Some(v) = self.total_missing_chunks {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.total_missing_bytes {
            my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        for v in &self.missing_chunks {
            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
            os.write_raw_varint32(v.get_cached_size())?;
            v.write_to_with_cached_sizes(os)?;
        };
        if let Some(v) = self.total_missing_chunks {
            os.write_uint32(2, v)?;
        }
        if let Some(v) = self.total_missing_bytes {
            os.write_uint64(3, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_GetMissingDepotChunks_Response {
        CContentBuilder_GetMissingDepotChunks_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CContentBuilder_GetMissingDepotChunks_Response_Chunks>>(
                "missing_chunks",
                |m: &CContentBuilder_GetMissingDepotChunks_Response| { &m.missing_chunks },
                |m: &mut CContentBuilder_GetMissingDepotChunks_Response| { &mut m.missing_chunks },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "total_missing_chunks",
                |m: &CContentBuilder_GetMissingDepotChunks_Response| { &m.total_missing_chunks },
                |m: &mut CContentBuilder_GetMissingDepotChunks_Response| { &mut m.total_missing_chunks },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "total_missing_bytes",
                |m: &CContentBuilder_GetMissingDepotChunks_Response| { &m.total_missing_bytes },
                |m: &mut CContentBuilder_GetMissingDepotChunks_Response| { &mut m.total_missing_bytes },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_GetMissingDepotChunks_Response>(
                "CContentBuilder_GetMissingDepotChunks_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_GetMissingDepotChunks_Response {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_GetMissingDepotChunks_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_GetMissingDepotChunks_Response::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_GetMissingDepotChunks_Response {
    fn clear(&mut self) {
        self.missing_chunks.clear();
        self.total_missing_chunks = ::std::option::Option::None;
        self.total_missing_bytes = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_GetMissingDepotChunks_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_GetMissingDepotChunks_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_GetMissingDepotChunks_Response_Chunks {
    // message fields
    sha: ::protobuf::SingularField<::std::vec::Vec<u8>>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_GetMissingDepotChunks_Response_Chunks {
    fn default() -> &'a CContentBuilder_GetMissingDepotChunks_Response_Chunks {
        <CContentBuilder_GetMissingDepotChunks_Response_Chunks as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_GetMissingDepotChunks_Response_Chunks {
    pub fn new() -> CContentBuilder_GetMissingDepotChunks_Response_Chunks {
        ::std::default::Default::default()
    }

    // optional bytes sha = 1;


    pub fn get_sha(&self) -> &[u8] {
        match self.sha.as_ref() {
            Some(v) => &v,
            None => &[],
        }
    }
    pub fn clear_sha(&mut self) {
        self.sha.clear();
    }

    pub fn has_sha(&self) -> bool {
        self.sha.is_some()
    }

    // Param is passed by value, moved
    pub fn set_sha(&mut self, v: ::std::vec::Vec<u8>) {
        self.sha = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_sha(&mut self) -> &mut ::std::vec::Vec<u8> {
        if self.sha.is_none() {
            self.sha.set_default();
        }
        self.sha.as_mut().unwrap()
    }

    // Take field
    pub fn take_sha(&mut self) -> ::std::vec::Vec<u8> {
        self.sha.take().unwrap_or_else(|| ::std::vec::Vec::new())
    }
}

impl ::protobuf::Message for CContentBuilder_GetMissingDepotChunks_Response_Chunks {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.sha)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.sha.as_ref() {
            my_size += ::protobuf::rt::bytes_size(1, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.sha.as_ref() {
            os.write_bytes(1, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_GetMissingDepotChunks_Response_Chunks {
        CContentBuilder_GetMissingDepotChunks_Response_Chunks::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
                "sha",
                |m: &CContentBuilder_GetMissingDepotChunks_Response_Chunks| { &m.sha },
                |m: &mut CContentBuilder_GetMissingDepotChunks_Response_Chunks| { &mut m.sha },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_GetMissingDepotChunks_Response_Chunks>(
                "CContentBuilder_GetMissingDepotChunks_Response.Chunks",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_GetMissingDepotChunks_Response_Chunks {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_GetMissingDepotChunks_Response_Chunks> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_GetMissingDepotChunks_Response_Chunks::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_GetMissingDepotChunks_Response_Chunks {
    fn clear(&mut self) {
        self.sha.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_GetMissingDepotChunks_Response_Chunks {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_GetMissingDepotChunks_Response_Chunks {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_FinishDepotUpload_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    depot_build_handle: ::std::option::Option<u64>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_FinishDepotUpload_Request {
    fn default() -> &'a CContentBuilder_FinishDepotUpload_Request {
        <CContentBuilder_FinishDepotUpload_Request as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_FinishDepotUpload_Request {
    pub fn new() -> CContentBuilder_FinishDepotUpload_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional uint64 depot_build_handle = 2;


    pub fn get_depot_build_handle(&self) -> u64 {
        self.depot_build_handle.unwrap_or(0)
    }
    pub fn clear_depot_build_handle(&mut self) {
        self.depot_build_handle = ::std::option::Option::None;
    }

    pub fn has_depot_build_handle(&self) -> bool {
        self.depot_build_handle.is_some()
    }

    // Param is passed by value, moved
    pub fn set_depot_build_handle(&mut self, v: u64) {
        self.depot_build_handle = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CContentBuilder_FinishDepotUpload_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.depot_build_handle = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.depot_build_handle {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.depot_build_handle {
            os.write_uint64(2, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_FinishDepotUpload_Request {
        CContentBuilder_FinishDepotUpload_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CContentBuilder_FinishDepotUpload_Request| { &m.appid },
                |m: &mut CContentBuilder_FinishDepotUpload_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "depot_build_handle",
                |m: &CContentBuilder_FinishDepotUpload_Request| { &m.depot_build_handle },
                |m: &mut CContentBuilder_FinishDepotUpload_Request| { &mut m.depot_build_handle },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_FinishDepotUpload_Request>(
                "CContentBuilder_FinishDepotUpload_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_FinishDepotUpload_Request {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_FinishDepotUpload_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_FinishDepotUpload_Request::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_FinishDepotUpload_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.depot_build_handle = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_FinishDepotUpload_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_FinishDepotUpload_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_FinishDepotUpload_Response {
    // message fields
    manifestid: ::std::option::Option<u64>,
    prev_reused: ::std::option::Option<bool>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_FinishDepotUpload_Response {
    fn default() -> &'a CContentBuilder_FinishDepotUpload_Response {
        <CContentBuilder_FinishDepotUpload_Response as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_FinishDepotUpload_Response {
    pub fn new() -> CContentBuilder_FinishDepotUpload_Response {
        ::std::default::Default::default()
    }

    // optional uint64 manifestid = 1;


    pub fn get_manifestid(&self) -> u64 {
        self.manifestid.unwrap_or(0)
    }
    pub fn clear_manifestid(&mut self) {
        self.manifestid = ::std::option::Option::None;
    }

    pub fn has_manifestid(&self) -> bool {
        self.manifestid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_manifestid(&mut self, v: u64) {
        self.manifestid = ::std::option::Option::Some(v);
    }

    // optional bool prev_reused = 2;


    pub fn get_prev_reused(&self) -> bool {
        self.prev_reused.unwrap_or(false)
    }
    pub fn clear_prev_reused(&mut self) {
        self.prev_reused = ::std::option::Option::None;
    }

    pub fn has_prev_reused(&self) -> bool {
        self.prev_reused.is_some()
    }

    // Param is passed by value, moved
    pub fn set_prev_reused(&mut self, v: bool) {
        self.prev_reused = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CContentBuilder_FinishDepotUpload_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.manifestid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.prev_reused = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.manifestid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.prev_reused {
            my_size += 2;
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.manifestid {
            os.write_uint64(1, v)?;
        }
        if let Some(v) = self.prev_reused {
            os.write_bool(2, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_FinishDepotUpload_Response {
        CContentBuilder_FinishDepotUpload_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "manifestid",
                |m: &CContentBuilder_FinishDepotUpload_Response| { &m.manifestid },
                |m: &mut CContentBuilder_FinishDepotUpload_Response| { &mut m.manifestid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "prev_reused",
                |m: &CContentBuilder_FinishDepotUpload_Response| { &m.prev_reused },
                |m: &mut CContentBuilder_FinishDepotUpload_Response| { &mut m.prev_reused },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_FinishDepotUpload_Response>(
                "CContentBuilder_FinishDepotUpload_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_FinishDepotUpload_Response {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_FinishDepotUpload_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_FinishDepotUpload_Response::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_FinishDepotUpload_Response {
    fn clear(&mut self) {
        self.manifestid = ::std::option::Option::None;
        self.prev_reused = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_FinishDepotUpload_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_FinishDepotUpload_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_CommitAppBuild_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    pub depot_manifests: ::protobuf::RepeatedField<CContentBuilder_CommitAppBuild_Request_Depots>,
    build_notes: ::protobuf::SingularField<::std::string::String>,
    live_branch: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_CommitAppBuild_Request {
    fn default() -> &'a CContentBuilder_CommitAppBuild_Request {
        <CContentBuilder_CommitAppBuild_Request as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_CommitAppBuild_Request {
    pub fn new() -> CContentBuilder_CommitAppBuild_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // repeated .CContentBuilder_CommitAppBuild_Request.Depots depot_manifests = 2;


    pub fn get_depot_manifests(&self) -> &[CContentBuilder_CommitAppBuild_Request_Depots] {
        &self.depot_manifests
    }
    pub fn clear_depot_manifests(&mut self) {
        self.depot_manifests.clear();
    }

    // Param is passed by value, moved
    pub fn set_depot_manifests(&mut self, v: ::protobuf::RepeatedField<CContentBuilder_CommitAppBuild_Request_Depots>) {
        self.depot_manifests = v;
    }

    // Mutable pointer to the field.
    pub fn mut_depot_manifests(&mut self) -> &mut ::protobuf::RepeatedField<CContentBuilder_CommitAppBuild_Request_Depots> {
        &mut self.depot_manifests
    }

    // Take field
    pub fn take_depot_manifests(&mut self) -> ::protobuf::RepeatedField<CContentBuilder_CommitAppBuild_Request_Depots> {
        ::std::mem::replace(&mut self.depot_manifests, ::protobuf::RepeatedField::new())
    }

    // optional string build_notes = 4;


    pub fn get_build_notes(&self) -> &str {
        match self.build_notes.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_build_notes(&mut self) {
        self.build_notes.clear();
    }

    pub fn has_build_notes(&self) -> bool {
        self.build_notes.is_some()
    }

    // Param is passed by value, moved
    pub fn set_build_notes(&mut self, v: ::std::string::String) {
        self.build_notes = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_build_notes(&mut self) -> &mut ::std::string::String {
        if self.build_notes.is_none() {
            self.build_notes.set_default();
        }
        self.build_notes.as_mut().unwrap()
    }

    // Take field
    pub fn take_build_notes(&mut self) -> ::std::string::String {
        self.build_notes.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string live_branch = 5;


    pub fn get_live_branch(&self) -> &str {
        match self.live_branch.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_live_branch(&mut self) {
        self.live_branch.clear();
    }

    pub fn has_live_branch(&self) -> bool {
        self.live_branch.is_some()
    }

    // Param is passed by value, moved
    pub fn set_live_branch(&mut self, v: ::std::string::String) {
        self.live_branch = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_live_branch(&mut self) -> &mut ::std::string::String {
        if self.live_branch.is_none() {
            self.live_branch.set_default();
        }
        self.live_branch.as_mut().unwrap()
    }

    // Take field
    pub fn take_live_branch(&mut self) -> ::std::string::String {
        self.live_branch.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CContentBuilder_CommitAppBuild_Request {
    fn is_initialized(&self) -> bool {
        for v in &self.depot_manifests {
            if !v.is_initialized() {
                return false;
            }
        };
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.depot_manifests)?;
                },
                4 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.build_notes)?;
                },
                5 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.live_branch)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        for value in &self.depot_manifests {
            let len = value.compute_size();
            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
        };
        if let Some(ref v) = self.build_notes.as_ref() {
            my_size += ::protobuf::rt::string_size(4, &v);
        }
        if let Some(ref v) = self.live_branch.as_ref() {
            my_size += ::protobuf::rt::string_size(5, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        for v in &self.depot_manifests {
            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
            os.write_raw_varint32(v.get_cached_size())?;
            v.write_to_with_cached_sizes(os)?;
        };
        if let Some(ref v) = self.build_notes.as_ref() {
            os.write_string(4, &v)?;
        }
        if let Some(ref v) = self.live_branch.as_ref() {
            os.write_string(5, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_CommitAppBuild_Request {
        CContentBuilder_CommitAppBuild_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CContentBuilder_CommitAppBuild_Request| { &m.appid },
                |m: &mut CContentBuilder_CommitAppBuild_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CContentBuilder_CommitAppBuild_Request_Depots>>(
                "depot_manifests",
                |m: &CContentBuilder_CommitAppBuild_Request| { &m.depot_manifests },
                |m: &mut CContentBuilder_CommitAppBuild_Request| { &mut m.depot_manifests },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "build_notes",
                |m: &CContentBuilder_CommitAppBuild_Request| { &m.build_notes },
                |m: &mut CContentBuilder_CommitAppBuild_Request| { &mut m.build_notes },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "live_branch",
                |m: &CContentBuilder_CommitAppBuild_Request| { &m.live_branch },
                |m: &mut CContentBuilder_CommitAppBuild_Request| { &mut m.live_branch },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_CommitAppBuild_Request>(
                "CContentBuilder_CommitAppBuild_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_CommitAppBuild_Request {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_CommitAppBuild_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_CommitAppBuild_Request::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_CommitAppBuild_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.depot_manifests.clear();
        self.build_notes.clear();
        self.live_branch.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_CommitAppBuild_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_CommitAppBuild_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_CommitAppBuild_Request_Depots {
    // message fields
    depotid: ::std::option::Option<u32>,
    manifestid: ::std::option::Option<u64>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_CommitAppBuild_Request_Depots {
    fn default() -> &'a CContentBuilder_CommitAppBuild_Request_Depots {
        <CContentBuilder_CommitAppBuild_Request_Depots as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_CommitAppBuild_Request_Depots {
    pub fn new() -> CContentBuilder_CommitAppBuild_Request_Depots {
        ::std::default::Default::default()
    }

    // optional uint32 depotid = 1;


    pub fn get_depotid(&self) -> u32 {
        self.depotid.unwrap_or(0)
    }
    pub fn clear_depotid(&mut self) {
        self.depotid = ::std::option::Option::None;
    }

    pub fn has_depotid(&self) -> bool {
        self.depotid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_depotid(&mut self, v: u32) {
        self.depotid = ::std::option::Option::Some(v);
    }

    // optional uint64 manifestid = 2;


    pub fn get_manifestid(&self) -> u64 {
        self.manifestid.unwrap_or(0)
    }
    pub fn clear_manifestid(&mut self) {
        self.manifestid = ::std::option::Option::None;
    }

    pub fn has_manifestid(&self) -> bool {
        self.manifestid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_manifestid(&mut self, v: u64) {
        self.manifestid = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CContentBuilder_CommitAppBuild_Request_Depots {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.depotid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.manifestid = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.depotid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.manifestid {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.depotid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.manifestid {
            os.write_uint64(2, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_CommitAppBuild_Request_Depots {
        CContentBuilder_CommitAppBuild_Request_Depots::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "depotid",
                |m: &CContentBuilder_CommitAppBuild_Request_Depots| { &m.depotid },
                |m: &mut CContentBuilder_CommitAppBuild_Request_Depots| { &mut m.depotid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "manifestid",
                |m: &CContentBuilder_CommitAppBuild_Request_Depots| { &m.manifestid },
                |m: &mut CContentBuilder_CommitAppBuild_Request_Depots| { &mut m.manifestid },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_CommitAppBuild_Request_Depots>(
                "CContentBuilder_CommitAppBuild_Request.Depots",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_CommitAppBuild_Request_Depots {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_CommitAppBuild_Request_Depots> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_CommitAppBuild_Request_Depots::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_CommitAppBuild_Request_Depots {
    fn clear(&mut self) {
        self.depotid = ::std::option::Option::None;
        self.manifestid = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_CommitAppBuild_Request_Depots {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_CommitAppBuild_Request_Depots {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_CommitAppBuild_Response {
    // message fields
    buildid: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_CommitAppBuild_Response {
    fn default() -> &'a CContentBuilder_CommitAppBuild_Response {
        <CContentBuilder_CommitAppBuild_Response as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_CommitAppBuild_Response {
    pub fn new() -> CContentBuilder_CommitAppBuild_Response {
        ::std::default::Default::default()
    }

    // optional uint32 buildid = 1;


    pub fn get_buildid(&self) -> u32 {
        self.buildid.unwrap_or(0)
    }
    pub fn clear_buildid(&mut self) {
        self.buildid = ::std::option::Option::None;
    }

    pub fn has_buildid(&self) -> bool {
        self.buildid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_buildid(&mut self, v: u32) {
        self.buildid = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CContentBuilder_CommitAppBuild_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.buildid = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.buildid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.buildid {
            os.write_uint32(1, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_CommitAppBuild_Response {
        CContentBuilder_CommitAppBuild_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "buildid",
                |m: &CContentBuilder_CommitAppBuild_Response| { &m.buildid },
                |m: &mut CContentBuilder_CommitAppBuild_Response| { &mut m.buildid },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_CommitAppBuild_Response>(
                "CContentBuilder_CommitAppBuild_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_CommitAppBuild_Response {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_CommitAppBuild_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_CommitAppBuild_Response::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_CommitAppBuild_Response {
    fn clear(&mut self) {
        self.buildid = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_CommitAppBuild_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_CommitAppBuild_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_SignInstallScript_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    depotid: ::std::option::Option<u32>,
    install_script: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_SignInstallScript_Request {
    fn default() -> &'a CContentBuilder_SignInstallScript_Request {
        <CContentBuilder_SignInstallScript_Request as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_SignInstallScript_Request {
    pub fn new() -> CContentBuilder_SignInstallScript_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional uint32 depotid = 2;


    pub fn get_depotid(&self) -> u32 {
        self.depotid.unwrap_or(0)
    }
    pub fn clear_depotid(&mut self) {
        self.depotid = ::std::option::Option::None;
    }

    pub fn has_depotid(&self) -> bool {
        self.depotid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_depotid(&mut self, v: u32) {
        self.depotid = ::std::option::Option::Some(v);
    }

    // optional string install_script = 3;


    pub fn get_install_script(&self) -> &str {
        match self.install_script.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_install_script(&mut self) {
        self.install_script.clear();
    }

    pub fn has_install_script(&self) -> bool {
        self.install_script.is_some()
    }

    // Param is passed by value, moved
    pub fn set_install_script(&mut self, v: ::std::string::String) {
        self.install_script = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_install_script(&mut self) -> &mut ::std::string::String {
        if self.install_script.is_none() {
            self.install_script.set_default();
        }
        self.install_script.as_mut().unwrap()
    }

    // Take field
    pub fn take_install_script(&mut self) -> ::std::string::String {
        self.install_script.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CContentBuilder_SignInstallScript_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.depotid = ::std::option::Option::Some(tmp);
                },
                3 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.install_script)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.depotid {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.install_script.as_ref() {
            my_size += ::protobuf::rt::string_size(3, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.depotid {
            os.write_uint32(2, v)?;
        }
        if let Some(ref v) = self.install_script.as_ref() {
            os.write_string(3, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_SignInstallScript_Request {
        CContentBuilder_SignInstallScript_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CContentBuilder_SignInstallScript_Request| { &m.appid },
                |m: &mut CContentBuilder_SignInstallScript_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "depotid",
                |m: &CContentBuilder_SignInstallScript_Request| { &m.depotid },
                |m: &mut CContentBuilder_SignInstallScript_Request| { &mut m.depotid },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "install_script",
                |m: &CContentBuilder_SignInstallScript_Request| { &m.install_script },
                |m: &mut CContentBuilder_SignInstallScript_Request| { &mut m.install_script },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_SignInstallScript_Request>(
                "CContentBuilder_SignInstallScript_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_SignInstallScript_Request {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_SignInstallScript_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_SignInstallScript_Request::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_SignInstallScript_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.depotid = ::std::option::Option::None;
        self.install_script.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_SignInstallScript_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_SignInstallScript_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CContentBuilder_SignInstallScript_Response {
    // message fields
    signed_install_script: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CContentBuilder_SignInstallScript_Response {
    fn default() -> &'a CContentBuilder_SignInstallScript_Response {
        <CContentBuilder_SignInstallScript_Response as ::protobuf::Message>::default_instance()
    }
}

impl CContentBuilder_SignInstallScript_Response {
    pub fn new() -> CContentBuilder_SignInstallScript_Response {
        ::std::default::Default::default()
    }

    // optional string signed_install_script = 1;


    pub fn get_signed_install_script(&self) -> &str {
        match self.signed_install_script.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_signed_install_script(&mut self) {
        self.signed_install_script.clear();
    }

    pub fn has_signed_install_script(&self) -> bool {
        self.signed_install_script.is_some()
    }

    // Param is passed by value, moved
    pub fn set_signed_install_script(&mut self, v: ::std::string::String) {
        self.signed_install_script = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_signed_install_script(&mut self) -> &mut ::std::string::String {
        if self.signed_install_script.is_none() {
            self.signed_install_script.set_default();
        }
        self.signed_install_script.as_mut().unwrap()
    }

    // Take field
    pub fn take_signed_install_script(&mut self) -> ::std::string::String {
        self.signed_install_script.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CContentBuilder_SignInstallScript_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.signed_install_script)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.signed_install_script.as_ref() {
            my_size += ::protobuf::rt::string_size(1, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.signed_install_script.as_ref() {
            os.write_string(1, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CContentBuilder_SignInstallScript_Response {
        CContentBuilder_SignInstallScript_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "signed_install_script",
                |m: &CContentBuilder_SignInstallScript_Response| { &m.signed_install_script },
                |m: &mut CContentBuilder_SignInstallScript_Response| { &mut m.signed_install_script },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CContentBuilder_SignInstallScript_Response>(
                "CContentBuilder_SignInstallScript_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CContentBuilder_SignInstallScript_Response {
        static instance: ::protobuf::rt::LazyV2<CContentBuilder_SignInstallScript_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CContentBuilder_SignInstallScript_Response::new)
    }
}

impl ::protobuf::Clear for CContentBuilder_SignInstallScript_Response {
    fn clear(&mut self) {
        self.signed_install_script.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CContentBuilder_SignInstallScript_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CContentBuilder_SignInstallScript_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

static file_descriptor_proto_data: &'static [u8] = b"\
    \n,steammessages_depotbuilder.steamclient.proto\x1a,steammessages_unifie\
    d_base.steamclient.proto\"\xc8\x01\n&CContentBuilder_InitDepotBuild_Requ\
    est\x12\x14\n\x05appid\x18\x01\x20\x01(\rR\x05appid\x12\x18\n\x07depotid\
    \x18\x02\x20\x01(\rR\x07depotid\x12'\n\x0fworkshop_itemid\x18\x03\x20\
    \x01(\x04R\x0eworkshopItemid\x12\x20\n\x0cfor_local_cs\x18\x04\x20\x01(\
    \x08R\nforLocalCs\x12#\n\rtarget_branch\x18\x05\x20\x01(\tR\x0ctargetBra\
    nch\"\xf4\x04\n'CContentBuilder_InitDepotBuild_Response\x12/\n\x13baseli\
    ne_manifestid\x18\x01\x20\x01(\x04R\x12baselineManifestid\x12\x1d\n\nchu\
    nk_size\x18\x02\x20\x01(\rR\tchunkSize\x12\x17\n\x07aes_key\x18\x03\x20\
    \x01(\x0cR\x06aesKey\x12\x17\n\x07rsa_key\x18\x04\x20\x01(\x0cR\x06rsaKe\
    y\x12\x19\n\x08url_host\x18\x05\x20\x01(\tR\x07urlHost\x128\n\x18offset_\
    detection_enabled\x18\x06\x20\x01(\x08R\x16offsetDetectionEnabled\x12F\n\
    \x20offset_detection_min_clean_chunk\x18\x07\x20\x01(\rR\x1coffsetDetect\
    ionMinCleanChunk\x12H\n!offset_detection_blast_radius_pre\x18\x08\x20\
    \x01(\rR\x1doffsetDetectionBlastRadiusPre\x12J\n\"offset_detection_blast\
    _radius_post\x18\t\x20\x01(\rR\x1eoffsetDetectionBlastRadiusPost\x12H\n!\
    offset_detection_max_distance_pre\x18\n\x20\x01(\rR\x1doffsetDetectionMa\
    xDistancePre\x12J\n\"offset_detection_max_distance_post\x18\x0b\x20\x01(\
    \rR\x1eoffsetDetectionMaxDistancePost\"\xfb\x01\n(CContentBuilder_StartD\
    epotUpload_Request\x12\x14\n\x05appid\x18\x01\x20\x01(\rR\x05appid\x12\
    \x18\n\x07depotid\x18\x02\x20\x01(\rR\x07depotid\x12'\n\x0fworkshop_item\
    id\x18\x03\x20\x01(\x04R\x0eworkshopItemid\x12\x20\n\x0cfor_local_cs\x18\
    \x04\x20\x01(\x08R\nforLocalCs\x12/\n\x13baseline_manifestid\x18\x05\x20\
    \x01(\x04R\x12baselineManifestid\x12#\n\rmanifest_size\x18\x06\x20\x01(\
    \rR\x0cmanifestSize\"Y\n)CContentBuilder_StartDepotUpload_Response\x12,\
    \n\x12depot_build_handle\x18\x01\x20\x01(\x04R\x10depotBuildHandle\"s\n-\
    CContentBuilder_GetMissingDepotChunks_Request\x12\x14\n\x05appid\x18\x01\
    \x20\x01(\rR\x05appid\x12,\n\x12depot_build_handle\x18\x02\x20\x01(\x04R\
    \x10depotBuildHandle\"\x8d\x02\n.CContentBuilder_GetMissingDepotChunks_R\
    esponse\x12]\n\x0emissing_chunks\x18\x01\x20\x03(\x0b26.CContentBuilder_\
    GetMissingDepotChunks_Response.ChunksR\rmissingChunks\x120\n\x14total_mi\
    ssing_chunks\x18\x02\x20\x01(\rR\x12totalMissingChunks\x12.\n\x13total_m\
    issing_bytes\x18\x03\x20\x01(\x04R\x11totalMissingBytes\x1a\x1a\n\x06Chu\
    nks\x12\x10\n\x03sha\x18\x01\x20\x01(\x0cR\x03sha\"o\n)CContentBuilder_F\
    inishDepotUpload_Request\x12\x14\n\x05appid\x18\x01\x20\x01(\rR\x05appid\
    \x12,\n\x12depot_build_handle\x18\x02\x20\x01(\x04R\x10depotBuildHandle\
    \"m\n*CContentBuilder_FinishDepotUpload_Response\x12\x1e\n\nmanifestid\
    \x18\x01\x20\x01(\x04R\nmanifestid\x12\x1f\n\x0bprev_reused\x18\x02\x20\
    \x01(\x08R\nprevReused\"\x9d\x02\n&CContentBuilder_CommitAppBuild_Reques\
    t\x12\x14\n\x05appid\x18\x01\x20\x01(\rR\x05appid\x12W\n\x0fdepot_manife\
    sts\x18\x02\x20\x03(\x0b2..CContentBuilder_CommitAppBuild_Request.Depots\
    R\x0edepotManifests\x12\x1f\n\x0bbuild_notes\x18\x04\x20\x01(\tR\nbuildN\
    otes\x12\x1f\n\x0blive_branch\x18\x05\x20\x01(\tR\nliveBranch\x1aB\n\x06\
    Depots\x12\x18\n\x07depotid\x18\x01\x20\x01(\rR\x07depotid\x12\x1e\n\nma\
    nifestid\x18\x02\x20\x01(\x04R\nmanifestid\"C\n'CContentBuilder_CommitAp\
    pBuild_Response\x12\x18\n\x07buildid\x18\x01\x20\x01(\rR\x07buildid\"\
    \x82\x01\n)CContentBuilder_SignInstallScript_Request\x12\x14\n\x05appid\
    \x18\x01\x20\x01(\rR\x05appid\x12\x18\n\x07depotid\x18\x02\x20\x01(\rR\
    \x07depotid\x12%\n\x0einstall_script\x18\x03\x20\x01(\tR\rinstallScript\
    \"`\n*CContentBuilder_SignInstallScript_Response\x122\n\x15signed_instal\
    l_script\x18\x01\x20\x01(\tR\x13signedInstallScript2\x92\x08\n\x0eConten\
    tBuilder\x12\x98\x01\n\x0eInitDepotBuild\x12'.CContentBuilder_InitDepotB\
    uild_Request\x1a(.CContentBuilder_InitDepotBuild_Response\"3\x82\xb5\x18\
    /Get\x20inital\x20parameters\x20to\x20start\x20building\x20a\x20depot\
    \x12\x9e\x01\n\x10StartDepotUpload\x12).CContentBuilder_StartDepotUpload\
    _Request\x1a*.CContentBuilder_StartDepotUpload_Response\"3\x82\xb5\x18/S\
    tart\x20uploading\x20manifest\x20and\x20chunks\x20for\x20a\x20depot\x12\
    \xa9\x01\n\x15GetMissingDepotChunks\x12..CContentBuilder_GetMissingDepot\
    Chunks_Request\x1a/.CContentBuilder_GetMissingDepotChunks_Response\"/\
    \x82\xb5\x18+Get\x20list\x20of\x20missing\x20chunks\x20for\x20depot\x20u\
    pload\x12\xb1\x01\n\x11FinishDepotUpload\x12*.CContentBuilder_FinishDepo\
    tUpload_Request\x1a+.CContentBuilder_FinishDepotUpload_Response\"C\x82\
    \xb5\x18?Commit\x20a\x20depot\x20build\x20after\x20manifest\x20and\x20al\
    l\x20chunks\x20are\x20uploaded\x12\xa7\x01\n\x0eCommitAppBuild\x12'.CCon\
    tentBuilder_CommitAppBuild_Request\x1a(.CContentBuilder_CommitAppBuild_R\
    esponse\"B\x82\xb5\x18>Combine\x20previous\x20depot\x20uploads\x20into\
    \x20an\x20app\x20build\x20and\x20commit\x20it\x12\x88\x01\n\x11SignInsta\
    llScript\x12*.CContentBuilder_SignInstallScript_Request\x1a+.CContentBui\
    lder_SignInstallScript_Response\"\x1a\x82\xb5\x18\x16Sign\x20an\x20insta\
    ll\x20script\x1a/\x82\xb5\x18+Interface\x20to\x20build\x20and\x20upload\
    \x20depot\x20contentB\x03\x80\x01\x01J\xb8\x1f\n\x06\x12\x04\0\0t\x01\n\
    \t\n\x02\x03\0\x12\x03\0\06\n\x08\n\x01\x08\x12\x03\x02\0\"\n\t\n\x02\
    \x08\x10\x12\x03\x02\0\"\n\n\n\x02\x04\0\x12\x04\x04\0\n\x01\n\n\n\x03\
    \x04\0\x01\x12\x03\x04\x08.\n\x0b\n\x04\x04\0\x02\0\x12\x03\x05\x08\"\n\
    \x0c\n\x05\x04\0\x02\0\x04\x12\x03\x05\x08\x10\n\x0c\n\x05\x04\0\x02\0\
    \x05\x12\x03\x05\x11\x17\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x05\x18\x1d\
    \n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x05\x20!\n\x0b\n\x04\x04\0\x02\x01\
    \x12\x03\x06\x08$\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x06\x08\x10\n\
    \x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x06\x11\x17\n\x0c\n\x05\x04\0\x02\
    \x01\x01\x12\x03\x06\x18\x1f\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x06\"\
    #\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x07\x08,\n\x0c\n\x05\x04\0\x02\x02\
    \x04\x12\x03\x07\x08\x10\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x07\x11\
    \x17\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x07\x18'\n\x0c\n\x05\x04\0\
    \x02\x02\x03\x12\x03\x07*+\n\x0b\n\x04\x04\0\x02\x03\x12\x03\x08\x08'\n\
    \x0c\n\x05\x04\0\x02\x03\x04\x12\x03\x08\x08\x10\n\x0c\n\x05\x04\0\x02\
    \x03\x05\x12\x03\x08\x11\x15\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\x08\
    \x16\"\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x08%&\n\x0b\n\x04\x04\0\x02\
    \x04\x12\x03\t\x08*\n\x0c\n\x05\x04\0\x02\x04\x04\x12\x03\t\x08\x10\n\
    \x0c\n\x05\x04\0\x02\x04\x05\x12\x03\t\x11\x17\n\x0c\n\x05\x04\0\x02\x04\
    \x01\x12\x03\t\x18%\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\t()\n\n\n\x02\
    \x04\x01\x12\x04\x0c\0\x18\x01\n\n\n\x03\x04\x01\x01\x12\x03\x0c\x08/\n\
    \x0b\n\x04\x04\x01\x02\0\x12\x03\r\x080\n\x0c\n\x05\x04\x01\x02\0\x04\
    \x12\x03\r\x08\x10\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03\r\x11\x17\n\x0c\
    \n\x05\x04\x01\x02\0\x01\x12\x03\r\x18+\n\x0c\n\x05\x04\x01\x02\0\x03\
    \x12\x03\r./\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x0e\x08'\n\x0c\n\x05\
    \x04\x01\x02\x01\x04\x12\x03\x0e\x08\x10\n\x0c\n\x05\x04\x01\x02\x01\x05\
    \x12\x03\x0e\x11\x17\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x0e\x18\"\n\
    \x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x0e%&\n\x0b\n\x04\x04\x01\x02\x02\
    \x12\x03\x0f\x08#\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03\x0f\x08\x10\n\
    \x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x0f\x11\x16\n\x0c\n\x05\x04\x01\
    \x02\x02\x01\x12\x03\x0f\x17\x1e\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\
    \x0f!\"\n\x0b\n\x04\x04\x01\x02\x03\x12\x03\x10\x08#\n\x0c\n\x05\x04\x01\
    \x02\x03\x04\x12\x03\x10\x08\x10\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\
    \x10\x11\x16\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x10\x17\x1e\n\x0c\n\
    \x05\x04\x01\x02\x03\x03\x12\x03\x10!\"\n\x0b\n\x04\x04\x01\x02\x04\x12\
    \x03\x11\x08%\n\x0c\n\x05\x04\x01\x02\x04\x04\x12\x03\x11\x08\x10\n\x0c\
    \n\x05\x04\x01\x02\x04\x05\x12\x03\x11\x11\x17\n\x0c\n\x05\x04\x01\x02\
    \x04\x01\x12\x03\x11\x18\x20\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\x11\
    #$\n\x0b\n\x04\x04\x01\x02\x05\x12\x03\x12\x083\n\x0c\n\x05\x04\x01\x02\
    \x05\x04\x12\x03\x12\x08\x10\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x03\x12\
    \x11\x15\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03\x12\x16.\n\x0c\n\x05\
    \x04\x01\x02\x05\x03\x12\x03\x1212\n\x0b\n\x04\x04\x01\x02\x06\x12\x03\
    \x13\x08=\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x03\x13\x08\x10\n\x0c\n\
    \x05\x04\x01\x02\x06\x05\x12\x03\x13\x11\x17\n\x0c\n\x05\x04\x01\x02\x06\
    \x01\x12\x03\x13\x188\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03\x13;<\n\
    \x0b\n\x04\x04\x01\x02\x07\x12\x03\x14\x08>\n\x0c\n\x05\x04\x01\x02\x07\
    \x04\x12\x03\x14\x08\x10\n\x0c\n\x05\x04\x01\x02\x07\x05\x12\x03\x14\x11\
    \x17\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x03\x14\x189\n\x0c\n\x05\x04\
    \x01\x02\x07\x03\x12\x03\x14<=\n\x0b\n\x04\x04\x01\x02\x08\x12\x03\x15\
    \x08?\n\x0c\n\x05\x04\x01\x02\x08\x04\x12\x03\x15\x08\x10\n\x0c\n\x05\
    \x04\x01\x02\x08\x05\x12\x03\x15\x11\x17\n\x0c\n\x05\x04\x01\x02\x08\x01\
    \x12\x03\x15\x18:\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x03\x15=>\n\x0b\n\
    \x04\x04\x01\x02\t\x12\x03\x16\x08?\n\x0c\n\x05\x04\x01\x02\t\x04\x12\
    \x03\x16\x08\x10\n\x0c\n\x05\x04\x01\x02\t\x05\x12\x03\x16\x11\x17\n\x0c\
    \n\x05\x04\x01\x02\t\x01\x12\x03\x16\x189\n\x0c\n\x05\x04\x01\x02\t\x03\
    \x12\x03\x16<>\n\x0b\n\x04\x04\x01\x02\n\x12\x03\x17\x08@\n\x0c\n\x05\
    \x04\x01\x02\n\x04\x12\x03\x17\x08\x10\n\x0c\n\x05\x04\x01\x02\n\x05\x12\
    \x03\x17\x11\x17\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x03\x17\x18:\n\x0c\n\
    \x05\x04\x01\x02\n\x03\x12\x03\x17=?\n\n\n\x02\x04\x02\x12\x04\x1a\0!\
    \x01\n\n\n\x03\x04\x02\x01\x12\x03\x1a\x080\n\x0b\n\x04\x04\x02\x02\0\
    \x12\x03\x1b\x08\"\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03\x1b\x08\x10\n\
    \x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x1b\x11\x17\n\x0c\n\x05\x04\x02\x02\
    \0\x01\x12\x03\x1b\x18\x1d\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\x1b\x20\
    !\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x1c\x08$\n\x0c\n\x05\x04\x02\x02\
    \x01\x04\x12\x03\x1c\x08\x10\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x1c\
    \x11\x17\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1c\x18\x1f\n\x0c\n\x05\
    \x04\x02\x02\x01\x03\x12\x03\x1c\"#\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\
    \x1d\x08,\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03\x1d\x08\x10\n\x0c\n\
    \x05\x04\x02\x02\x02\x05\x12\x03\x1d\x11\x17\n\x0c\n\x05\x04\x02\x02\x02\
    \x01\x12\x03\x1d\x18'\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x1d*+\n\
    \x0b\n\x04\x04\x02\x02\x03\x12\x03\x1e\x08'\n\x0c\n\x05\x04\x02\x02\x03\
    \x04\x12\x03\x1e\x08\x10\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03\x1e\x11\
    \x15\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x1e\x16\"\n\x0c\n\x05\x04\
    \x02\x02\x03\x03\x12\x03\x1e%&\n\x0b\n\x04\x04\x02\x02\x04\x12\x03\x1f\
    \x080\n\x0c\n\x05\x04\x02\x02\x04\x04\x12\x03\x1f\x08\x10\n\x0c\n\x05\
    \x04\x02\x02\x04\x05\x12\x03\x1f\x11\x17\n\x0c\n\x05\x04\x02\x02\x04\x01\
    \x12\x03\x1f\x18+\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03\x1f./\n\x0b\n\
    \x04\x04\x02\x02\x05\x12\x03\x20\x08*\n\x0c\n\x05\x04\x02\x02\x05\x04\
    \x12\x03\x20\x08\x10\n\x0c\n\x05\x04\x02\x02\x05\x05\x12\x03\x20\x11\x17\
    \n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03\x20\x18%\n\x0c\n\x05\x04\x02\
    \x02\x05\x03\x12\x03\x20()\n\n\n\x02\x04\x03\x12\x04#\0%\x01\n\n\n\x03\
    \x04\x03\x01\x12\x03#\x081\n\x0b\n\x04\x04\x03\x02\0\x12\x03$\x08/\n\x0c\
    \n\x05\x04\x03\x02\0\x04\x12\x03$\x08\x10\n\x0c\n\x05\x04\x03\x02\0\x05\
    \x12\x03$\x11\x17\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03$\x18*\n\x0c\n\
    \x05\x04\x03\x02\0\x03\x12\x03$-.\n\n\n\x02\x04\x04\x12\x04'\0*\x01\n\n\
    \n\x03\x04\x04\x01\x12\x03'\x085\n\x0b\n\x04\x04\x04\x02\0\x12\x03(\x08\
    \"\n\x0c\n\x05\x04\x04\x02\0\x04\x12\x03(\x08\x10\n\x0c\n\x05\x04\x04\
    \x02\0\x05\x12\x03(\x11\x17\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03(\x18\
    \x1d\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03(\x20!\n\x0b\n\x04\x04\x04\x02\
    \x01\x12\x03)\x08/\n\x0c\n\x05\x04\x04\x02\x01\x04\x12\x03)\x08\x10\n\
    \x0c\n\x05\x04\x04\x02\x01\x05\x12\x03)\x11\x17\n\x0c\n\x05\x04\x04\x02\
    \x01\x01\x12\x03)\x18*\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03)-.\n\n\n\
    \x02\x04\x05\x12\x04,\04\x01\n\n\n\x03\x04\x05\x01\x12\x03,\x086\n\x0c\n\
    \x04\x04\x05\x03\0\x12\x04-\x08/\t\n\x0c\n\x05\x04\x05\x03\0\x01\x12\x03\
    -\x10\x16\n\r\n\x06\x04\x05\x03\0\x02\0\x12\x03.\x10'\n\x0e\n\x07\x04\
    \x05\x03\0\x02\0\x04\x12\x03.\x10\x18\n\x0e\n\x07\x04\x05\x03\0\x02\0\
    \x05\x12\x03.\x19\x1e\n\x0e\n\x07\x04\x05\x03\0\x02\0\x01\x12\x03.\x1f\"\
    \n\x0e\n\x07\x04\x05\x03\0\x02\0\x03\x12\x03.%&\n\x0b\n\x04\x04\x05\x02\
    \0\x12\x031\x08[\n\x0c\n\x05\x04\x05\x02\0\x04\x12\x031\x08\x10\n\x0c\n\
    \x05\x04\x05\x02\0\x06\x12\x031\x11G\n\x0c\n\x05\x04\x05\x02\0\x01\x12\
    \x031HV\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x031YZ\n\x0b\n\x04\x04\x05\x02\
    \x01\x12\x032\x081\n\x0c\n\x05\x04\x05\x02\x01\x04\x12\x032\x08\x10\n\
    \x0c\n\x05\x04\x05\x02\x01\x05\x12\x032\x11\x17\n\x0c\n\x05\x04\x05\x02\
    \x01\x01\x12\x032\x18,\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x032/0\n\x0b\
    \n\x04\x04\x05\x02\x02\x12\x033\x080\n\x0c\n\x05\x04\x05\x02\x02\x04\x12\
    \x033\x08\x10\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x033\x11\x17\n\x0c\n\
    \x05\x04\x05\x02\x02\x01\x12\x033\x18+\n\x0c\n\x05\x04\x05\x02\x02\x03\
    \x12\x033./\n\n\n\x02\x04\x06\x12\x046\09\x01\n\n\n\x03\x04\x06\x01\x12\
    \x036\x081\n\x0b\n\x04\x04\x06\x02\0\x12\x037\x08\"\n\x0c\n\x05\x04\x06\
    \x02\0\x04\x12\x037\x08\x10\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x037\x11\
    \x17\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x037\x18\x1d\n\x0c\n\x05\x04\x06\
    \x02\0\x03\x12\x037\x20!\n\x0b\n\x04\x04\x06\x02\x01\x12\x038\x08/\n\x0c\
    \n\x05\x04\x06\x02\x01\x04\x12\x038\x08\x10\n\x0c\n\x05\x04\x06\x02\x01\
    \x05\x12\x038\x11\x17\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x038\x18*\n\
    \x0c\n\x05\x04\x06\x02\x01\x03\x12\x038-.\n\n\n\x02\x04\x07\x12\x04;\0>\
    \x01\n\n\n\x03\x04\x07\x01\x12\x03;\x082\n\x0b\n\x04\x04\x07\x02\0\x12\
    \x03<\x08'\n\x0c\n\x05\x04\x07\x02\0\x04\x12\x03<\x08\x10\n\x0c\n\x05\
    \x04\x07\x02\0\x05\x12\x03<\x11\x17\n\x0c\n\x05\x04\x07\x02\0\x01\x12\
    \x03<\x18\"\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03<%&\n\x0b\n\x04\x04\x07\
    \x02\x01\x12\x03=\x08&\n\x0c\n\x05\x04\x07\x02\x01\x04\x12\x03=\x08\x10\
    \n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03=\x11\x15\n\x0c\n\x05\x04\x07\
    \x02\x01\x01\x12\x03=\x16!\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03=$%\n\
    \n\n\x02\x04\x08\x12\x04@\0J\x01\n\n\n\x03\x04\x08\x01\x12\x03@\x08.\n\
    \x0c\n\x04\x04\x08\x03\0\x12\x04A\x08D\t\n\x0c\n\x05\x04\x08\x03\0\x01\
    \x12\x03A\x10\x16\n\r\n\x06\x04\x08\x03\0\x02\0\x12\x03B\x10,\n\x0e\n\
    \x07\x04\x08\x03\0\x02\0\x04\x12\x03B\x10\x18\n\x0e\n\x07\x04\x08\x03\0\
    \x02\0\x05\x12\x03B\x19\x1f\n\x0e\n\x07\x04\x08\x03\0\x02\0\x01\x12\x03B\
    \x20'\n\x0e\n\x07\x04\x08\x03\0\x02\0\x03\x12\x03B*+\n\r\n\x06\x04\x08\
    \x03\0\x02\x01\x12\x03C\x10/\n\x0e\n\x07\x04\x08\x03\0\x02\x01\x04\x12\
    \x03C\x10\x18\n\x0e\n\x07\x04\x08\x03\0\x02\x01\x05\x12\x03C\x19\x1f\n\
    \x0e\n\x07\x04\x08\x03\0\x02\x01\x01\x12\x03C\x20*\n\x0e\n\x07\x04\x08\
    \x03\0\x02\x01\x03\x12\x03C-.\n\x0b\n\x04\x04\x08\x02\0\x12\x03F\x08\"\n\
    \x0c\n\x05\x04\x08\x02\0\x04\x12\x03F\x08\x10\n\x0c\n\x05\x04\x08\x02\0\
    \x05\x12\x03F\x11\x17\n\x0c\n\x05\x04\x08\x02\0\x01\x12\x03F\x18\x1d\n\
    \x0c\n\x05\x04\x08\x02\0\x03\x12\x03F\x20!\n\x0b\n\x04\x04\x08\x02\x01\
    \x12\x03G\x08T\n\x0c\n\x05\x04\x08\x02\x01\x04\x12\x03G\x08\x10\n\x0c\n\
    \x05\x04\x08\x02\x01\x06\x12\x03G\x11?\n\x0c\n\x05\x04\x08\x02\x01\x01\
    \x12\x03G@O\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03GRS\n\x0b\n\x04\x04\
    \x08\x02\x02\x12\x03H\x08(\n\x0c\n\x05\x04\x08\x02\x02\x04\x12\x03H\x08\
    \x10\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03H\x11\x17\n\x0c\n\x05\x04\
    \x08\x02\x02\x01\x12\x03H\x18#\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03H&\
    '\n\x0b\n\x04\x04\x08\x02\x03\x12\x03I\x08(\n\x0c\n\x05\x04\x08\x02\x03\
    \x04\x12\x03I\x08\x10\n\x0c\n\x05\x04\x08\x02\x03\x05\x12\x03I\x11\x17\n\
    \x0c\n\x05\x04\x08\x02\x03\x01\x12\x03I\x18#\n\x0c\n\x05\x04\x08\x02\x03\
    \x03\x12\x03I&'\n\n\n\x02\x04\t\x12\x04L\0N\x01\n\n\n\x03\x04\t\x01\x12\
    \x03L\x08/\n\x0b\n\x04\x04\t\x02\0\x12\x03M\x08$\n\x0c\n\x05\x04\t\x02\0\
    \x04\x12\x03M\x08\x10\n\x0c\n\x05\x04\t\x02\0\x05\x12\x03M\x11\x17\n\x0c\
    \n\x05\x04\t\x02\0\x01\x12\x03M\x18\x1f\n\x0c\n\x05\x04\t\x02\0\x03\x12\
    \x03M\"#\n\n\n\x02\x04\n\x12\x04P\0T\x01\n\n\n\x03\x04\n\x01\x12\x03P\
    \x081\n\x0b\n\x04\x04\n\x02\0\x12\x03Q\x08\"\n\x0c\n\x05\x04\n\x02\0\x04\
    \x12\x03Q\x08\x10\n\x0c\n\x05\x04\n\x02\0\x05\x12\x03Q\x11\x17\n\x0c\n\
    \x05\x04\n\x02\0\x01\x12\x03Q\x18\x1d\n\x0c\n\x05\x04\n\x02\0\x03\x12\
    \x03Q\x20!\n\x0b\n\x04\x04\n\x02\x01\x12\x03R\x08$\n\x0c\n\x05\x04\n\x02\
    \x01\x04\x12\x03R\x08\x10\n\x0c\n\x05\x04\n\x02\x01\x05\x12\x03R\x11\x17\
    \n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03R\x18\x1f\n\x0c\n\x05\x04\n\x02\
    \x01\x03\x12\x03R\"#\n\x0b\n\x04\x04\n\x02\x02\x12\x03S\x08+\n\x0c\n\x05\
    \x04\n\x02\x02\x04\x12\x03S\x08\x10\n\x0c\n\x05\x04\n\x02\x02\x05\x12\
    \x03S\x11\x17\n\x0c\n\x05\x04\n\x02\x02\x01\x12\x03S\x18&\n\x0c\n\x05\
    \x04\n\x02\x02\x03\x12\x03S)*\n\n\n\x02\x04\x0b\x12\x04V\0X\x01\n\n\n\
    \x03\x04\x0b\x01\x12\x03V\x082\n\x0b\n\x04\x04\x0b\x02\0\x12\x03W\x082\n\
    \x0c\n\x05\x04\x0b\x02\0\x04\x12\x03W\x08\x10\n\x0c\n\x05\x04\x0b\x02\0\
    \x05\x12\x03W\x11\x17\n\x0c\n\x05\x04\x0b\x02\0\x01\x12\x03W\x18-\n\x0c\
    \n\x05\x04\x0b\x02\0\x03\x12\x03W01\n\n\n\x02\x06\0\x12\x04Z\0t\x01\n\n\
    \n\x03\x06\0\x01\x12\x03Z\x08\x16\n\n\n\x03\x06\0\x03\x12\x03[\x08U\n\r\
    \n\x06\x06\0\x03\xd0\x86\x03\x12\x03[\x08U\n\x0c\n\x04\x06\0\x02\0\x12\
    \x04]\x08_\t\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03]\x0c\x1a\n\x0c\n\x05\
    \x06\0\x02\0\x02\x12\x03]\x1cC\n\x0c\n\x05\x06\0\x02\0\x03\x12\x03]Nv\n\
    \x0c\n\x05\x06\0\x02\0\x04\x12\x03^\x10`\n\x0f\n\x08\x06\0\x02\0\x04\xd0\
    \x86\x03\x12\x03^\x10`\n\x0c\n\x04\x06\0\x02\x01\x12\x04a\x08c\t\n\x0c\n\
    \x05\x06\0\x02\x01\x01\x12\x03a\x0c\x1c\n\x0c\n\x05\x06\0\x02\x01\x02\
    \x12\x03a\x1eG\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03aR|\n\x0c\n\x05\x06\
    \0\x02\x01\x04\x12\x03b\x10`\n\x0f\n\x08\x06\0\x02\x01\x04\xd0\x86\x03\
    \x12\x03b\x10`\n\x0c\n\x04\x06\0\x02\x02\x12\x04e\x08g\t\n\x0c\n\x05\x06\
    \0\x02\x02\x01\x12\x03e\x0c!\n\x0c\n\x05\x06\0\x02\x02\x02\x12\x03e#Q\n\
    \r\n\x05\x06\0\x02\x02\x03\x12\x04e\\\x8b\x01\n\x0c\n\x05\x06\0\x02\x02\
    \x04\x12\x03f\x10\\\n\x0f\n\x08\x06\0\x02\x02\x04\xd0\x86\x03\x12\x03f\
    \x10\\\n\x0c\n\x04\x06\0\x02\x03\x12\x04i\x08k\t\n\x0c\n\x05\x06\0\x02\
    \x03\x01\x12\x03i\x0c\x1d\n\x0c\n\x05\x06\0\x02\x03\x02\x12\x03i\x1fI\n\
    \x0c\n\x05\x06\0\x02\x03\x03\x12\x03iT\x7f\n\x0c\n\x05\x06\0\x02\x03\x04\
    \x12\x03j\x10p\n\x0f\n\x08\x06\0\x02\x03\x04\xd0\x86\x03\x12\x03j\x10p\n\
    \x0c\n\x04\x06\0\x02\x04\x12\x04m\x08o\t\n\x0c\n\x05\x06\0\x02\x04\x01\
    \x12\x03m\x0c\x1a\n\x0c\n\x05\x06\0\x02\x04\x02\x12\x03m\x1cC\n\x0c\n\
    \x05\x06\0\x02\x04\x03\x12\x03mNv\n\x0c\n\x05\x06\0\x02\x04\x04\x12\x03n\
    \x10o\n\x0f\n\x08\x06\0\x02\x04\x04\xd0\x86\x03\x12\x03n\x10o\n\x0c\n\
    \x04\x06\0\x02\x05\x12\x04q\x08s\t\n\x0c\n\x05\x06\0\x02\x05\x01\x12\x03\
    q\x0c\x1d\n\x0c\n\x05\x06\0\x02\x05\x02\x12\x03q\x1fI\n\x0c\n\x05\x06\0\
    \x02\x05\x03\x12\x03qT\x7f\n\x0c\n\x05\x06\0\x02\x05\x04\x12\x03r\x10G\n\
    \x0f\n\x08\x06\0\x02\x05\x04\xd0\x86\x03\x12\x03r\x10G\
";

static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
}

pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
    file_descriptor_proto_lazy.get(|| {
        parse_descriptor_proto()
    })
}