// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: descriptor.proto
// </auto-generated>

#region Designer generated code
#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
namespace google.protobuf
{

    [global::ProtoBuf.ProtoContract()]
    public partial class FileDescriptorSet : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<FileDescriptorProto> file { get; } = new global::System.Collections.Generic.List<FileDescriptorProto>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class FileDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string package
        {
            get => __pbn__package ?? "";
            set => __pbn__package = value;
        }
        public bool ShouldSerializepackage() => __pbn__package != null;
        public void Resetpackage() => __pbn__package = null;
        private string __pbn__package;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<string> dependency { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<int> public_dependency { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(11)]
        public global::System.Collections.Generic.List<int> weak_dependency { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<DescriptorProto> message_type { get; } = new global::System.Collections.Generic.List<DescriptorProto>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<EnumDescriptorProto> enum_type { get; } = new global::System.Collections.Generic.List<EnumDescriptorProto>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<ServiceDescriptorProto> service { get; } = new global::System.Collections.Generic.List<ServiceDescriptorProto>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<FieldDescriptorProto> extension { get; } = new global::System.Collections.Generic.List<FieldDescriptorProto>();

        [global::ProtoBuf.ProtoMember(8)]
        public FileOptions options { get; set; }

        [global::ProtoBuf.ProtoMember(9)]
        public SourceCodeInfo source_code_info { get; set; }

        [global::ProtoBuf.ProtoMember(12)]
        [global::System.ComponentModel.DefaultValue("")]
        public string syntax
        {
            get => __pbn__syntax ?? "";
            set => __pbn__syntax = value;
        }
        public bool ShouldSerializesyntax() => __pbn__syntax != null;
        public void Resetsyntax() => __pbn__syntax = null;
        private string __pbn__syntax;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class DescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<FieldDescriptorProto> field { get; } = new global::System.Collections.Generic.List<FieldDescriptorProto>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<FieldDescriptorProto> extension { get; } = new global::System.Collections.Generic.List<FieldDescriptorProto>();

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<DescriptorProto> nested_type { get; } = new global::System.Collections.Generic.List<DescriptorProto>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<EnumDescriptorProto> enum_type { get; } = new global::System.Collections.Generic.List<EnumDescriptorProto>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<ExtensionRange> extension_range { get; } = new global::System.Collections.Generic.List<ExtensionRange>();

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<OneofDescriptorProto> oneof_decl { get; } = new global::System.Collections.Generic.List<OneofDescriptorProto>();

        [global::ProtoBuf.ProtoMember(7)]
        public MessageOptions options { get; set; }

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<ReservedRange> reserved_range { get; } = new global::System.Collections.Generic.List<ReservedRange>();

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<string> reserved_name { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ExtensionRange : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int start
            {
                get => __pbn__start.GetValueOrDefault();
                set => __pbn__start = value;
            }
            public bool ShouldSerializestart() => __pbn__start != null;
            public void Resetstart() => __pbn__start = null;
            private int? __pbn__start;

            [global::ProtoBuf.ProtoMember(2)]
            public int end
            {
                get => __pbn__end.GetValueOrDefault();
                set => __pbn__end = value;
            }
            public bool ShouldSerializeend() => __pbn__end != null;
            public void Resetend() => __pbn__end = null;
            private int? __pbn__end;

            [global::ProtoBuf.ProtoMember(3)]
            public ExtensionRangeOptions options { get; set; }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class ReservedRange : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int start
            {
                get => __pbn__start.GetValueOrDefault();
                set => __pbn__start = value;
            }
            public bool ShouldSerializestart() => __pbn__start != null;
            public void Resetstart() => __pbn__start = null;
            private int? __pbn__start;

            [global::ProtoBuf.ProtoMember(2)]
            public int end
            {
                get => __pbn__end.GetValueOrDefault();
                set => __pbn__end = value;
            }
            public bool ShouldSerializeend() => __pbn__end != null;
            public void Resetend() => __pbn__end = null;
            private int? __pbn__end;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class ExtensionRangeOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class FieldDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(3)]
        public int number
        {
            get => __pbn__number.GetValueOrDefault();
            set => __pbn__number = value;
        }
        public bool ShouldSerializenumber() => __pbn__number != null;
        public void Resetnumber() => __pbn__number = null;
        private int? __pbn__number;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(Label.LABEL_OPTIONAL)]
        public Label label
        {
            get => __pbn__label ?? Label.LABEL_OPTIONAL;
            set => __pbn__label = value;
        }
        public bool ShouldSerializelabel() => __pbn__label != null;
        public void Resetlabel() => __pbn__label = null;
        private Label? __pbn__label;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(Type.TYPE_DOUBLE)]
        public Type type
        {
            get => __pbn__type ?? Type.TYPE_DOUBLE;
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private Type? __pbn__type;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue("")]
        public string type_name
        {
            get => __pbn__type_name ?? "";
            set => __pbn__type_name = value;
        }
        public bool ShouldSerializetype_name() => __pbn__type_name != null;
        public void Resettype_name() => __pbn__type_name = null;
        private string __pbn__type_name;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string extendee
        {
            get => __pbn__extendee ?? "";
            set => __pbn__extendee = value;
        }
        public bool ShouldSerializeextendee() => __pbn__extendee != null;
        public void Resetextendee() => __pbn__extendee = null;
        private string __pbn__extendee;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue("")]
        public string default_value
        {
            get => __pbn__default_value ?? "";
            set => __pbn__default_value = value;
        }
        public bool ShouldSerializedefault_value() => __pbn__default_value != null;
        public void Resetdefault_value() => __pbn__default_value = null;
        private string __pbn__default_value;

        [global::ProtoBuf.ProtoMember(9)]
        public int oneof_index
        {
            get => __pbn__oneof_index.GetValueOrDefault();
            set => __pbn__oneof_index = value;
        }
        public bool ShouldSerializeoneof_index() => __pbn__oneof_index != null;
        public void Resetoneof_index() => __pbn__oneof_index = null;
        private int? __pbn__oneof_index;

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue("")]
        public string json_name
        {
            get => __pbn__json_name ?? "";
            set => __pbn__json_name = value;
        }
        public bool ShouldSerializejson_name() => __pbn__json_name != null;
        public void Resetjson_name() => __pbn__json_name = null;
        private string __pbn__json_name;

        [global::ProtoBuf.ProtoMember(8)]
        public FieldOptions options { get; set; }

        [global::ProtoBuf.ProtoMember(17)]
        public bool proto3_optional
        {
            get => __pbn__proto3_optional.GetValueOrDefault();
            set => __pbn__proto3_optional = value;
        }
        public bool ShouldSerializeproto3_optional() => __pbn__proto3_optional != null;
        public void Resetproto3_optional() => __pbn__proto3_optional = null;
        private bool? __pbn__proto3_optional;

        [global::ProtoBuf.ProtoContract()]
        public enum Type
        {
            TYPE_DOUBLE = 1,
            TYPE_FLOAT = 2,
            TYPE_INT64 = 3,
            TYPE_UINT64 = 4,
            TYPE_INT32 = 5,
            TYPE_FIXED64 = 6,
            TYPE_FIXED32 = 7,
            TYPE_BOOL = 8,
            TYPE_STRING = 9,
            TYPE_GROUP = 10,
            TYPE_MESSAGE = 11,
            TYPE_BYTES = 12,
            TYPE_UINT32 = 13,
            TYPE_ENUM = 14,
            TYPE_SFIXED32 = 15,
            TYPE_SFIXED64 = 16,
            TYPE_SINT32 = 17,
            TYPE_SINT64 = 18,
        }

        [global::ProtoBuf.ProtoContract()]
        public enum Label
        {
            LABEL_OPTIONAL = 1,
            LABEL_REQUIRED = 2,
            LABEL_REPEATED = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class OneofDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public OneofOptions options { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class EnumDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<EnumValueDescriptorProto> value { get; } = new global::System.Collections.Generic.List<EnumValueDescriptorProto>();

        [global::ProtoBuf.ProtoMember(3)]
        public EnumOptions options { get; set; }

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<EnumReservedRange> reserved_range { get; } = new global::System.Collections.Generic.List<EnumReservedRange>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<string> reserved_name { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoContract()]
        public partial class EnumReservedRange : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int start
            {
                get => __pbn__start.GetValueOrDefault();
                set => __pbn__start = value;
            }
            public bool ShouldSerializestart() => __pbn__start != null;
            public void Resetstart() => __pbn__start = null;
            private int? __pbn__start;

            [global::ProtoBuf.ProtoMember(2)]
            public int end
            {
                get => __pbn__end.GetValueOrDefault();
                set => __pbn__end = value;
            }
            public bool ShouldSerializeend() => __pbn__end != null;
            public void Resetend() => __pbn__end = null;
            private int? __pbn__end;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class EnumValueDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public int number
        {
            get => __pbn__number.GetValueOrDefault();
            set => __pbn__number = value;
        }
        public bool ShouldSerializenumber() => __pbn__number != null;
        public void Resetnumber() => __pbn__number = null;
        private int? __pbn__number;

        [global::ProtoBuf.ProtoMember(3)]
        public EnumValueOptions options { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class ServiceDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<MethodDescriptorProto> method { get; } = new global::System.Collections.Generic.List<MethodDescriptorProto>();

        [global::ProtoBuf.ProtoMember(3)]
        public ServiceOptions options { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class MethodDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string input_type
        {
            get => __pbn__input_type ?? "";
            set => __pbn__input_type = value;
        }
        public bool ShouldSerializeinput_type() => __pbn__input_type != null;
        public void Resetinput_type() => __pbn__input_type = null;
        private string __pbn__input_type;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string output_type
        {
            get => __pbn__output_type ?? "";
            set => __pbn__output_type = value;
        }
        public bool ShouldSerializeoutput_type() => __pbn__output_type != null;
        public void Resetoutput_type() => __pbn__output_type = null;
        private string __pbn__output_type;

        [global::ProtoBuf.ProtoMember(4)]
        public MethodOptions options { get; set; }

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool client_streaming
        {
            get => __pbn__client_streaming ?? false;
            set => __pbn__client_streaming = value;
        }
        public bool ShouldSerializeclient_streaming() => __pbn__client_streaming != null;
        public void Resetclient_streaming() => __pbn__client_streaming = null;
        private bool? __pbn__client_streaming;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool server_streaming
        {
            get => __pbn__server_streaming ?? false;
            set => __pbn__server_streaming = value;
        }
        public bool ShouldSerializeserver_streaming() => __pbn__server_streaming != null;
        public void Resetserver_streaming() => __pbn__server_streaming = null;
        private bool? __pbn__server_streaming;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class FileOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string java_package
        {
            get => __pbn__java_package ?? "";
            set => __pbn__java_package = value;
        }
        public bool ShouldSerializejava_package() => __pbn__java_package != null;
        public void Resetjava_package() => __pbn__java_package = null;
        private string __pbn__java_package;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue("")]
        public string java_outer_classname
        {
            get => __pbn__java_outer_classname ?? "";
            set => __pbn__java_outer_classname = value;
        }
        public bool ShouldSerializejava_outer_classname() => __pbn__java_outer_classname != null;
        public void Resetjava_outer_classname() => __pbn__java_outer_classname = null;
        private string __pbn__java_outer_classname;

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool java_multiple_files
        {
            get => __pbn__java_multiple_files ?? false;
            set => __pbn__java_multiple_files = value;
        }
        public bool ShouldSerializejava_multiple_files() => __pbn__java_multiple_files != null;
        public void Resetjava_multiple_files() => __pbn__java_multiple_files = null;
        private bool? __pbn__java_multiple_files;

        [global::ProtoBuf.ProtoMember(20)]
        public bool java_generate_equals_and_hash
        {
            get => __pbn__java_generate_equals_and_hash.GetValueOrDefault();
            set => __pbn__java_generate_equals_and_hash = value;
        }
        public bool ShouldSerializejava_generate_equals_and_hash() => __pbn__java_generate_equals_and_hash != null;
        public void Resetjava_generate_equals_and_hash() => __pbn__java_generate_equals_and_hash = null;
        private bool? __pbn__java_generate_equals_and_hash;

        [global::ProtoBuf.ProtoMember(27)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool java_string_check_utf8
        {
            get => __pbn__java_string_check_utf8 ?? false;
            set => __pbn__java_string_check_utf8 = value;
        }
        public bool ShouldSerializejava_string_check_utf8() => __pbn__java_string_check_utf8 != null;
        public void Resetjava_string_check_utf8() => __pbn__java_string_check_utf8 = null;
        private bool? __pbn__java_string_check_utf8;

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue(OptimizeMode.SPEED)]
        public OptimizeMode optimize_for
        {
            get => __pbn__optimize_for ?? OptimizeMode.SPEED;
            set => __pbn__optimize_for = value;
        }
        public bool ShouldSerializeoptimize_for() => __pbn__optimize_for != null;
        public void Resetoptimize_for() => __pbn__optimize_for = null;
        private OptimizeMode? __pbn__optimize_for;

        [global::ProtoBuf.ProtoMember(11)]
        [global::System.ComponentModel.DefaultValue("")]
        public string go_package
        {
            get => __pbn__go_package ?? "";
            set => __pbn__go_package = value;
        }
        public bool ShouldSerializego_package() => __pbn__go_package != null;
        public void Resetgo_package() => __pbn__go_package = null;
        private string __pbn__go_package;

        [global::ProtoBuf.ProtoMember(16)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool cc_generic_services
        {
            get => __pbn__cc_generic_services ?? false;
            set => __pbn__cc_generic_services = value;
        }
        public bool ShouldSerializecc_generic_services() => __pbn__cc_generic_services != null;
        public void Resetcc_generic_services() => __pbn__cc_generic_services = null;
        private bool? __pbn__cc_generic_services;

        [global::ProtoBuf.ProtoMember(17)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool java_generic_services
        {
            get => __pbn__java_generic_services ?? false;
            set => __pbn__java_generic_services = value;
        }
        public bool ShouldSerializejava_generic_services() => __pbn__java_generic_services != null;
        public void Resetjava_generic_services() => __pbn__java_generic_services = null;
        private bool? __pbn__java_generic_services;

        [global::ProtoBuf.ProtoMember(18)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool py_generic_services
        {
            get => __pbn__py_generic_services ?? false;
            set => __pbn__py_generic_services = value;
        }
        public bool ShouldSerializepy_generic_services() => __pbn__py_generic_services != null;
        public void Resetpy_generic_services() => __pbn__py_generic_services = null;
        private bool? __pbn__py_generic_services;

        [global::ProtoBuf.ProtoMember(42)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool php_generic_services
        {
            get => __pbn__php_generic_services ?? false;
            set => __pbn__php_generic_services = value;
        }
        public bool ShouldSerializephp_generic_services() => __pbn__php_generic_services != null;
        public void Resetphp_generic_services() => __pbn__php_generic_services = null;
        private bool? __pbn__php_generic_services;

        [global::ProtoBuf.ProtoMember(23)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(31)]
        [global::System.ComponentModel.DefaultValue(true)]
        public bool cc_enable_arenas
        {
            get => __pbn__cc_enable_arenas ?? true;
            set => __pbn__cc_enable_arenas = value;
        }
        public bool ShouldSerializecc_enable_arenas() => __pbn__cc_enable_arenas != null;
        public void Resetcc_enable_arenas() => __pbn__cc_enable_arenas = null;
        private bool? __pbn__cc_enable_arenas;

        [global::ProtoBuf.ProtoMember(36)]
        [global::System.ComponentModel.DefaultValue("")]
        public string objc_class_prefix
        {
            get => __pbn__objc_class_prefix ?? "";
            set => __pbn__objc_class_prefix = value;
        }
        public bool ShouldSerializeobjc_class_prefix() => __pbn__objc_class_prefix != null;
        public void Resetobjc_class_prefix() => __pbn__objc_class_prefix = null;
        private string __pbn__objc_class_prefix;

        [global::ProtoBuf.ProtoMember(37)]
        [global::System.ComponentModel.DefaultValue("")]
        public string csharp_namespace
        {
            get => __pbn__csharp_namespace ?? "";
            set => __pbn__csharp_namespace = value;
        }
        public bool ShouldSerializecsharp_namespace() => __pbn__csharp_namespace != null;
        public void Resetcsharp_namespace() => __pbn__csharp_namespace = null;
        private string __pbn__csharp_namespace;

        [global::ProtoBuf.ProtoMember(39)]
        [global::System.ComponentModel.DefaultValue("")]
        public string swift_prefix
        {
            get => __pbn__swift_prefix ?? "";
            set => __pbn__swift_prefix = value;
        }
        public bool ShouldSerializeswift_prefix() => __pbn__swift_prefix != null;
        public void Resetswift_prefix() => __pbn__swift_prefix = null;
        private string __pbn__swift_prefix;

        [global::ProtoBuf.ProtoMember(40)]
        [global::System.ComponentModel.DefaultValue("")]
        public string php_class_prefix
        {
            get => __pbn__php_class_prefix ?? "";
            set => __pbn__php_class_prefix = value;
        }
        public bool ShouldSerializephp_class_prefix() => __pbn__php_class_prefix != null;
        public void Resetphp_class_prefix() => __pbn__php_class_prefix = null;
        private string __pbn__php_class_prefix;

        [global::ProtoBuf.ProtoMember(41)]
        [global::System.ComponentModel.DefaultValue("")]
        public string php_namespace
        {
            get => __pbn__php_namespace ?? "";
            set => __pbn__php_namespace = value;
        }
        public bool ShouldSerializephp_namespace() => __pbn__php_namespace != null;
        public void Resetphp_namespace() => __pbn__php_namespace = null;
        private string __pbn__php_namespace;

        [global::ProtoBuf.ProtoMember(44)]
        [global::System.ComponentModel.DefaultValue("")]
        public string php_metadata_namespace
        {
            get => __pbn__php_metadata_namespace ?? "";
            set => __pbn__php_metadata_namespace = value;
        }
        public bool ShouldSerializephp_metadata_namespace() => __pbn__php_metadata_namespace != null;
        public void Resetphp_metadata_namespace() => __pbn__php_metadata_namespace = null;
        private string __pbn__php_metadata_namespace;

        [global::ProtoBuf.ProtoMember(45)]
        [global::System.ComponentModel.DefaultValue("")]
        public string ruby_package
        {
            get => __pbn__ruby_package ?? "";
            set => __pbn__ruby_package = value;
        }
        public bool ShouldSerializeruby_package() => __pbn__ruby_package != null;
        public void Resetruby_package() => __pbn__ruby_package = null;
        private string __pbn__ruby_package;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

        [global::ProtoBuf.ProtoContract()]
        public enum OptimizeMode
        {
            SPEED = 1,
            CODE_SIZE = 2,
            LITE_RUNTIME = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class MessageOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool message_set_wire_format
        {
            get => __pbn__message_set_wire_format ?? false;
            set => __pbn__message_set_wire_format = value;
        }
        public bool ShouldSerializemessage_set_wire_format() => __pbn__message_set_wire_format != null;
        public void Resetmessage_set_wire_format() => __pbn__message_set_wire_format = null;
        private bool? __pbn__message_set_wire_format;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool no_standard_descriptor_accessor
        {
            get => __pbn__no_standard_descriptor_accessor ?? false;
            set => __pbn__no_standard_descriptor_accessor = value;
        }
        public bool ShouldSerializeno_standard_descriptor_accessor() => __pbn__no_standard_descriptor_accessor != null;
        public void Resetno_standard_descriptor_accessor() => __pbn__no_standard_descriptor_accessor = null;
        private bool? __pbn__no_standard_descriptor_accessor;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(7)]
        public bool map_entry
        {
            get => __pbn__map_entry.GetValueOrDefault();
            set => __pbn__map_entry = value;
        }
        public bool ShouldSerializemap_entry() => __pbn__map_entry != null;
        public void Resetmap_entry() => __pbn__map_entry = null;
        private bool? __pbn__map_entry;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class FieldOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(CType.STRING)]
        public CType ctype
        {
            get => __pbn__ctype ?? CType.STRING;
            set => __pbn__ctype = value;
        }
        public bool ShouldSerializectype() => __pbn__ctype != null;
        public void Resetctype() => __pbn__ctype = null;
        private CType? __pbn__ctype;

        [global::ProtoBuf.ProtoMember(2)]
        public bool packed
        {
            get => __pbn__packed.GetValueOrDefault();
            set => __pbn__packed = value;
        }
        public bool ShouldSerializepacked() => __pbn__packed != null;
        public void Resetpacked() => __pbn__packed = null;
        private bool? __pbn__packed;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue(JSType.JS_NORMAL)]
        public JSType jstype
        {
            get => __pbn__jstype ?? JSType.JS_NORMAL;
            set => __pbn__jstype = value;
        }
        public bool ShouldSerializejstype() => __pbn__jstype != null;
        public void Resetjstype() => __pbn__jstype = null;
        private JSType? __pbn__jstype;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool lazy
        {
            get => __pbn__lazy ?? false;
            set => __pbn__lazy = value;
        }
        public bool ShouldSerializelazy() => __pbn__lazy != null;
        public void Resetlazy() => __pbn__lazy = null;
        private bool? __pbn__lazy;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool weak
        {
            get => __pbn__weak ?? false;
            set => __pbn__weak = value;
        }
        public bool ShouldSerializeweak() => __pbn__weak != null;
        public void Resetweak() => __pbn__weak = null;
        private bool? __pbn__weak;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

        [global::ProtoBuf.ProtoContract()]
        public enum CType
        {
            STRING = 0,
            CORD = 1,
            STRING_PIECE = 2,
        }

        [global::ProtoBuf.ProtoContract()]
        public enum JSType
        {
            JS_NORMAL = 0,
            JS_STRING = 1,
            JS_NUMBER = 2,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class OneofOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class EnumOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public bool allow_alias
        {
            get => __pbn__allow_alias.GetValueOrDefault();
            set => __pbn__allow_alias = value;
        }
        public bool ShouldSerializeallow_alias() => __pbn__allow_alias != null;
        public void Resetallow_alias() => __pbn__allow_alias = null;
        private bool? __pbn__allow_alias;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class EnumValueOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class ServiceOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(33)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class MethodOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(33)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(34)]
        [global::System.ComponentModel.DefaultValue(IdempotencyLevel.IDEMPOTENCY_UNKNOWN)]
        public IdempotencyLevel idempotency_level
        {
            get => __pbn__idempotency_level ?? IdempotencyLevel.IDEMPOTENCY_UNKNOWN;
            set => __pbn__idempotency_level = value;
        }
        public bool ShouldSerializeidempotency_level() => __pbn__idempotency_level != null;
        public void Resetidempotency_level() => __pbn__idempotency_level = null;
        private IdempotencyLevel? __pbn__idempotency_level;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

        [global::ProtoBuf.ProtoContract()]
        public enum IdempotencyLevel
        {
            IDEMPOTENCY_UNKNOWN = 0,
            NO_SIDE_EFFECTS = 1,
            IDEMPOTENT = 2,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class UninterpretedOption : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<NamePart> name { get; } = new global::System.Collections.Generic.List<NamePart>();

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string identifier_value
        {
            get => __pbn__identifier_value ?? "";
            set => __pbn__identifier_value = value;
        }
        public bool ShouldSerializeidentifier_value() => __pbn__identifier_value != null;
        public void Resetidentifier_value() => __pbn__identifier_value = null;
        private string __pbn__identifier_value;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong positive_int_value
        {
            get => __pbn__positive_int_value.GetValueOrDefault();
            set => __pbn__positive_int_value = value;
        }
        public bool ShouldSerializepositive_int_value() => __pbn__positive_int_value != null;
        public void Resetpositive_int_value() => __pbn__positive_int_value = null;
        private ulong? __pbn__positive_int_value;

        [global::ProtoBuf.ProtoMember(5)]
        public long negative_int_value
        {
            get => __pbn__negative_int_value.GetValueOrDefault();
            set => __pbn__negative_int_value = value;
        }
        public bool ShouldSerializenegative_int_value() => __pbn__negative_int_value != null;
        public void Resetnegative_int_value() => __pbn__negative_int_value = null;
        private long? __pbn__negative_int_value;

        [global::ProtoBuf.ProtoMember(6)]
        public double double_value
        {
            get => __pbn__double_value.GetValueOrDefault();
            set => __pbn__double_value = value;
        }
        public bool ShouldSerializedouble_value() => __pbn__double_value != null;
        public void Resetdouble_value() => __pbn__double_value = null;
        private double? __pbn__double_value;

        [global::ProtoBuf.ProtoMember(7)]
        public byte[] string_value
        {
            get => __pbn__string_value;
            set => __pbn__string_value = value;
        }
        public bool ShouldSerializestring_value() => __pbn__string_value != null;
        public void Resetstring_value() => __pbn__string_value = null;
        private byte[] __pbn__string_value;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue("")]
        public string aggregate_value
        {
            get => __pbn__aggregate_value ?? "";
            set => __pbn__aggregate_value = value;
        }
        public bool ShouldSerializeaggregate_value() => __pbn__aggregate_value != null;
        public void Resetaggregate_value() => __pbn__aggregate_value = null;
        private string __pbn__aggregate_value;

        [global::ProtoBuf.ProtoContract()]
        public partial class NamePart : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
            public string name_part { get; set; }

            [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
            public bool is_extension { get; set; }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class SourceCodeInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Location> location { get; } = new global::System.Collections.Generic.List<Location>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Location : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, IsPacked = true)]
            public global::System.Collections.Generic.List<int> path { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(2, IsPacked = true)]
            public global::System.Collections.Generic.List<int> span { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string leading_comments
            {
                get => __pbn__leading_comments ?? "";
                set => __pbn__leading_comments = value;
            }
            public bool ShouldSerializeleading_comments() => __pbn__leading_comments != null;
            public void Resetleading_comments() => __pbn__leading_comments = null;
            private string __pbn__leading_comments;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue("")]
            public string trailing_comments
            {
                get => __pbn__trailing_comments ?? "";
                set => __pbn__trailing_comments = value;
            }
            public bool ShouldSerializetrailing_comments() => __pbn__trailing_comments != null;
            public void Resettrailing_comments() => __pbn__trailing_comments = null;
            private string __pbn__trailing_comments;

            [global::ProtoBuf.ProtoMember(6)]
            public global::System.Collections.Generic.List<string> leading_detached_comments { get; } = new global::System.Collections.Generic.List<string>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class GeneratedCodeInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Annotation> annotation { get; } = new global::System.Collections.Generic.List<Annotation>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Annotation : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, IsPacked = true)]
            public global::System.Collections.Generic.List<int> path { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string source_file
            {
                get => __pbn__source_file ?? "";
                set => __pbn__source_file = value;
            }
            public bool ShouldSerializesource_file() => __pbn__source_file != null;
            public void Resetsource_file() => __pbn__source_file = null;
            private string __pbn__source_file;

            [global::ProtoBuf.ProtoMember(3)]
            public int begin
            {
                get => __pbn__begin.GetValueOrDefault();
                set => __pbn__begin = value;
            }
            public bool ShouldSerializebegin() => __pbn__begin != null;
            public void Resetbegin() => __pbn__begin = null;
            private int? __pbn__begin;

            [global::ProtoBuf.ProtoMember(4)]
            public int end
            {
                get => __pbn__end.GetValueOrDefault();
                set => __pbn__end = value;
            }
            public bool ShouldSerializeend() => __pbn__end != null;
            public void Resetend() => __pbn__end = null;
            private int? __pbn__end;

        }

    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
