All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.protobuf.DescriptorProtos Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/protobuf/descriptor.proto

package com.google.protobuf;

public final class DescriptorProtos {
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_FileDescriptorSet_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_FileDescriptorSet_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_FileDescriptorProto_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_FileDescriptorProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_DescriptorProto_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_DescriptorProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_DescriptorProto_ExtensionRange_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_DescriptorProto_ExtensionRange_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_FieldDescriptorProto_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_FieldDescriptorProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_EnumDescriptorProto_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_EnumDescriptorProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_EnumValueDescriptorProto_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_EnumValueDescriptorProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_ServiceDescriptorProto_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_ServiceDescriptorProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_MethodDescriptorProto_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_MethodDescriptorProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_FileOptions_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_FileOptions_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_MessageOptions_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_MessageOptions_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_FieldOptions_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_FieldOptions_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_EnumOptions_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_EnumOptions_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_EnumValueOptions_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_EnumValueOptions_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_ServiceOptions_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_ServiceOptions_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_MethodOptions_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_MethodOptions_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_UninterpretedOption_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_UninterpretedOption_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
            internal_static_google_protobuf_UninterpretedOption_NamePart_descriptor;
    private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internal_static_google_protobuf_UninterpretedOption_NamePart_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.FileDescriptor
            descriptor;

    static {
        java.lang.String[] descriptorData = {
                "\n google/protobuf/descriptor.proto\022\017goog" +
                        "le.protobuf\"G\n\021FileDescriptorSet\0222\n\004file" +
                        "\030\001 \003(\0132$.google.protobuf.FileDescriptorP" +
                        "roto\"\334\002\n\023FileDescriptorProto\022\014\n\004name\030\001 \001" +
                        "(\t\022\017\n\007package\030\002 \001(\t\022\022\n\ndependency\030\003 \003(\t\022" +
                        "6\n\014message_type\030\004 \003(\0132 .google.protobuf." +
                        "DescriptorProto\0227\n\tenum_type\030\005 \003(\0132$.goo" +
                        "gle.protobuf.EnumDescriptorProto\0228\n\007serv" +
                        "ice\030\006 \003(\0132\'.google.protobuf.ServiceDescr" +
                        "iptorProto\0228\n\textension\030\007 \003(\0132%.google.p",
                "rotobuf.FieldDescriptorProto\022-\n\007options\030" +
                        "\010 \001(\0132\034.google.protobuf.FileOptions\"\251\003\n\017" +
                        "DescriptorProto\022\014\n\004name\030\001 \001(\t\0224\n\005field\030\002" +
                        " \003(\0132%.google.protobuf.FieldDescriptorPr" +
                        "oto\0228\n\textension\030\006 \003(\0132%.google.protobuf" +
                        ".FieldDescriptorProto\0225\n\013nested_type\030\003 \003" +
                        "(\0132 .google.protobuf.DescriptorProto\0227\n\t" +
                        "enum_type\030\004 \003(\0132$.google.protobuf.EnumDe" +
                        "scriptorProto\022H\n\017extension_range\030\005 \003(\0132/" +
                        ".google.protobuf.DescriptorProto.Extensi",
                "onRange\0220\n\007options\030\007 \001(\0132\037.google.protob" +
                        "uf.MessageOptions\032,\n\016ExtensionRange\022\r\n\005s" +
                        "tart\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\"\224\005\n\024FieldDescrip" +
                        "torProto\022\014\n\004name\030\001 \001(\t\022\016\n\006number\030\003 \001(\005\022:" +
                        "\n\005label\030\004 \001(\0162+.google.protobuf.FieldDes" +
                        "criptorProto.Label\0228\n\004type\030\005 \001(\0162*.googl" +
                        "e.protobuf.FieldDescriptorProto.Type\022\021\n\t" +
                        "type_name\030\006 \001(\t\022\020\n\010extendee\030\002 \001(\t\022\025\n\rdef" +
                        "ault_value\030\007 \001(\t\022.\n\007options\030\010 \001(\0132\035.goog" +
                        "le.protobuf.FieldOptions\"\266\002\n\004Type\022\017\n\013TYP",
                "E_DOUBLE\020\001\022\016\n\nTYPE_FLOAT\020\002\022\016\n\nTYPE_INT64" +
                        "\020\003\022\017\n\013TYPE_UINT64\020\004\022\016\n\nTYPE_INT32\020\005\022\020\n\014T" +
                        "YPE_FIXED64\020\006\022\020\n\014TYPE_FIXED32\020\007\022\r\n\tTYPE_" +
                        "BOOL\020\010\022\017\n\013TYPE_STRING\020\t\022\016\n\nTYPE_GROUP\020\n\022" +
                        "\020\n\014TYPE_MESSAGE\020\013\022\016\n\nTYPE_BYTES\020\014\022\017\n\013TYP" +
                        "E_UINT32\020\r\022\r\n\tTYPE_ENUM\020\016\022\021\n\rTYPE_SFIXED" +
                        "32\020\017\022\021\n\rTYPE_SFIXED64\020\020\022\017\n\013TYPE_SINT32\020\021" +
                        "\022\017\n\013TYPE_SINT64\020\022\"C\n\005Label\022\022\n\016LABEL_OPTI" +
                        "ONAL\020\001\022\022\n\016LABEL_REQUIRED\020\002\022\022\n\016LABEL_REPE" +
                        "ATED\020\003\"\214\001\n\023EnumDescriptorProto\022\014\n\004name\030\001",
                " \001(\t\0228\n\005value\030\002 \003(\0132).google.protobuf.En" +
                        "umValueDescriptorProto\022-\n\007options\030\003 \001(\0132" +
                        "\034.google.protobuf.EnumOptions\"l\n\030EnumVal" +
                        "ueDescriptorProto\022\014\n\004name\030\001 \001(\t\022\016\n\006numbe" +
                        "r\030\002 \001(\005\0222\n\007options\030\003 \001(\0132!.google.protob" +
                        "uf.EnumValueOptions\"\220\001\n\026ServiceDescripto" +
                        "rProto\022\014\n\004name\030\001 \001(\t\0226\n\006method\030\002 \003(\0132&.g" +
                        "oogle.protobuf.MethodDescriptorProto\0220\n\007" +
                        "options\030\003 \001(\0132\037.google.protobuf.ServiceO" +
                        "ptions\"\177\n\025MethodDescriptorProto\022\014\n\004name\030",
                "\001 \001(\t\022\022\n\ninput_type\030\002 \001(\t\022\023\n\013output_type" +
                        "\030\003 \001(\t\022/\n\007options\030\004 \001(\0132\036.google.protobu" +
                        "f.MethodOptions\"\244\003\n\013FileOptions\022\024\n\014java_" +
                        "package\030\001 \001(\t\022\034\n\024java_outer_classname\030\010 " +
                        "\001(\t\022\"\n\023java_multiple_files\030\n \001(\010:\005false\022" +
                        "F\n\014optimize_for\030\t \001(\0162).google.protobuf." +
                        "FileOptions.OptimizeMode:\005SPEED\022!\n\023cc_ge" +
                        "neric_services\030\020 \001(\010:\004true\022#\n\025java_gener" +
                        "ic_services\030\021 \001(\010:\004true\022!\n\023py_generic_se" +
                        "rvices\030\022 \001(\010:\004true\022C\n\024uninterpreted_opti",
                "on\030\347\007 \003(\0132$.google.protobuf.Uninterprete" +
                        "dOption\":\n\014OptimizeMode\022\t\n\005SPEED\020\001\022\r\n\tCO" +
                        "DE_SIZE\020\002\022\020\n\014LITE_RUNTIME\020\003*\t\010\350\007\020\200\200\200\200\002\"\270" +
                        "\001\n\016MessageOptions\022&\n\027message_set_wire_fo" +
                        "rmat\030\001 \001(\010:\005false\022.\n\037no_standard_descrip" +
                        "tor_accessor\030\002 \001(\010:\005false\022C\n\024uninterpret" +
                        "ed_option\030\347\007 \003(\0132$.google.protobuf.Unint" +
                        "erpretedOption*\t\010\350\007\020\200\200\200\200\002\"\224\002\n\014FieldOptio" +
                        "ns\022:\n\005ctype\030\001 \001(\0162#.google.protobuf.Fiel" +
                        "dOptions.CType:\006STRING\022\016\n\006packed\030\002 \001(\010\022\031",
                "\n\ndeprecated\030\003 \001(\010:\005false\022\034\n\024experimenta" +
                        "l_map_key\030\t \001(\t\022C\n\024uninterpreted_option\030" +
                        "\347\007 \003(\0132$.google.protobuf.UninterpretedOp" +
                        "tion\"/\n\005CType\022\n\n\006STRING\020\000\022\010\n\004CORD\020\001\022\020\n\014S" +
                        "TRING_PIECE\020\002*\t\010\350\007\020\200\200\200\200\002\"]\n\013EnumOptions\022" +
                        "C\n\024uninterpreted_option\030\347\007 \003(\0132$.google." +
                        "protobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\"" +
                        "b\n\020EnumValueOptions\022C\n\024uninterpreted_opt" +
                        "ion\030\347\007 \003(\0132$.google.protobuf.Uninterpret" +
                        "edOption*\t\010\350\007\020\200\200\200\200\002\"`\n\016ServiceOptions\022C\n",
                "\024uninterpreted_option\030\347\007 \003(\0132$.google.pr" +
                        "otobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\"_\n" +
                        "\rMethodOptions\022C\n\024uninterpreted_option\030\347" +
                        "\007 \003(\0132$.google.protobuf.UninterpretedOpt" +
                        "ion*\t\010\350\007\020\200\200\200\200\002\"\205\002\n\023UninterpretedOption\022;" +
                        "\n\004name\030\002 \003(\0132-.google.protobuf.Uninterpr" +
                        "etedOption.NamePart\022\030\n\020identifier_value\030" +
                        "\003 \001(\t\022\032\n\022positive_int_value\030\004 \001(\004\022\032\n\022neg" +
                        "ative_int_value\030\005 \001(\003\022\024\n\014double_value\030\006 " +
                        "\001(\001\022\024\n\014string_value\030\007 \001(\014\0323\n\010NamePart\022\021\n",
                "\tname_part\030\001 \002(\t\022\024\n\014is_extension\030\002 \002(\010B)" +
                        "\n\023com.google.protobufB\020DescriptorProtosH" +
                        "\001"
        };
        com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
                new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
                    public com.google.protobuf.ExtensionRegistry assignDescriptors(
                            com.google.protobuf.Descriptors.FileDescriptor root) {
                        descriptor = root;
                        internal_static_google_protobuf_FileDescriptorSet_descriptor =
                                getDescriptor().getMessageTypes().get(0);
                        internal_static_google_protobuf_FileDescriptorSet_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_FileDescriptorSet_descriptor,
                                new java.lang.String[]{"File",},
                                com.google.protobuf.DescriptorProtos.FileDescriptorSet.class,
                                com.google.protobuf.DescriptorProtos.FileDescriptorSet.Builder.class);
                        internal_static_google_protobuf_FileDescriptorProto_descriptor =
                                getDescriptor().getMessageTypes().get(1);
                        internal_static_google_protobuf_FileDescriptorProto_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_FileDescriptorProto_descriptor,
                                new java.lang.String[]{"Name", "Package", "Dependency", "MessageType", "EnumType", "Service", "Extension", "Options",},
                                com.google.protobuf.DescriptorProtos.FileDescriptorProto.class,
                                com.google.protobuf.DescriptorProtos.FileDescriptorProto.Builder.class);
                        internal_static_google_protobuf_DescriptorProto_descriptor =
                                getDescriptor().getMessageTypes().get(2);
                        internal_static_google_protobuf_DescriptorProto_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_DescriptorProto_descriptor,
                                new java.lang.String[]{"Name", "Field", "Extension", "NestedType", "EnumType", "ExtensionRange", "Options",},
                                com.google.protobuf.DescriptorProtos.DescriptorProto.class,
                                com.google.protobuf.DescriptorProtos.DescriptorProto.Builder.class);
                        internal_static_google_protobuf_DescriptorProto_ExtensionRange_descriptor =
                                internal_static_google_protobuf_DescriptorProto_descriptor.getNestedTypes().get(0);
                        internal_static_google_protobuf_DescriptorProto_ExtensionRange_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_DescriptorProto_ExtensionRange_descriptor,
                                new java.lang.String[]{"Start", "End",},
                                com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.class,
                                com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.Builder.class);
                        internal_static_google_protobuf_FieldDescriptorProto_descriptor =
                                getDescriptor().getMessageTypes().get(3);
                        internal_static_google_protobuf_FieldDescriptorProto_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_FieldDescriptorProto_descriptor,
                                new java.lang.String[]{"Name", "Number", "Label", "Type", "TypeName", "Extendee", "DefaultValue", "Options",},
                                com.google.protobuf.DescriptorProtos.FieldDescriptorProto.class,
                                com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder.class);
                        internal_static_google_protobuf_EnumDescriptorProto_descriptor =
                                getDescriptor().getMessageTypes().get(4);
                        internal_static_google_protobuf_EnumDescriptorProto_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_EnumDescriptorProto_descriptor,
                                new java.lang.String[]{"Name", "Value", "Options",},
                                com.google.protobuf.DescriptorProtos.EnumDescriptorProto.class,
                                com.google.protobuf.DescriptorProtos.EnumDescriptorProto.Builder.class);
                        internal_static_google_protobuf_EnumValueDescriptorProto_descriptor =
                                getDescriptor().getMessageTypes().get(5);
                        internal_static_google_protobuf_EnumValueDescriptorProto_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_EnumValueDescriptorProto_descriptor,
                                new java.lang.String[]{"Name", "Number", "Options",},
                                com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto.class,
                                com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto.Builder.class);
                        internal_static_google_protobuf_ServiceDescriptorProto_descriptor =
                                getDescriptor().getMessageTypes().get(6);
                        internal_static_google_protobuf_ServiceDescriptorProto_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_ServiceDescriptorProto_descriptor,
                                new java.lang.String[]{"Name", "Method", "Options",},
                                com.google.protobuf.DescriptorProtos.ServiceDescriptorProto.class,
                                com.google.protobuf.DescriptorProtos.ServiceDescriptorProto.Builder.class);
                        internal_static_google_protobuf_MethodDescriptorProto_descriptor =
                                getDescriptor().getMessageTypes().get(7);
                        internal_static_google_protobuf_MethodDescriptorProto_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_MethodDescriptorProto_descriptor,
                                new java.lang.String[]{"Name", "InputType", "OutputType", "Options",},
                                com.google.protobuf.DescriptorProtos.MethodDescriptorProto.class,
                                com.google.protobuf.DescriptorProtos.MethodDescriptorProto.Builder.class);
                        internal_static_google_protobuf_FileOptions_descriptor =
                                getDescriptor().getMessageTypes().get(8);
                        internal_static_google_protobuf_FileOptions_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_FileOptions_descriptor,
                                new java.lang.String[]{"JavaPackage", "JavaOuterClassname", "JavaMultipleFiles", "OptimizeFor", "CcGenericServices", "JavaGenericServices", "PyGenericServices", "UninterpretedOption",},
                                com.google.protobuf.DescriptorProtos.FileOptions.class,
                                com.google.protobuf.DescriptorProtos.FileOptions.Builder.class);
                        internal_static_google_protobuf_MessageOptions_descriptor =
                                getDescriptor().getMessageTypes().get(9);
                        internal_static_google_protobuf_MessageOptions_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_MessageOptions_descriptor,
                                new java.lang.String[]{"MessageSetWireFormat", "NoStandardDescriptorAccessor", "UninterpretedOption",},
                                com.google.protobuf.DescriptorProtos.MessageOptions.class,
                                com.google.protobuf.DescriptorProtos.MessageOptions.Builder.class);
                        internal_static_google_protobuf_FieldOptions_descriptor =
                                getDescriptor().getMessageTypes().get(10);
                        internal_static_google_protobuf_FieldOptions_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_FieldOptions_descriptor,
                                new java.lang.String[]{"Ctype", "Packed", "Deprecated", "ExperimentalMapKey", "UninterpretedOption",},
                                com.google.protobuf.DescriptorProtos.FieldOptions.class,
                                com.google.protobuf.DescriptorProtos.FieldOptions.Builder.class);
                        internal_static_google_protobuf_EnumOptions_descriptor =
                                getDescriptor().getMessageTypes().get(11);
                        internal_static_google_protobuf_EnumOptions_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_EnumOptions_descriptor,
                                new java.lang.String[]{"UninterpretedOption",},
                                com.google.protobuf.DescriptorProtos.EnumOptions.class,
                                com.google.protobuf.DescriptorProtos.EnumOptions.Builder.class);
                        internal_static_google_protobuf_EnumValueOptions_descriptor =
                                getDescriptor().getMessageTypes().get(12);
                        internal_static_google_protobuf_EnumValueOptions_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_EnumValueOptions_descriptor,
                                new java.lang.String[]{"UninterpretedOption",},
                                com.google.protobuf.DescriptorProtos.EnumValueOptions.class,
                                com.google.protobuf.DescriptorProtos.EnumValueOptions.Builder.class);
                        internal_static_google_protobuf_ServiceOptions_descriptor =
                                getDescriptor().getMessageTypes().get(13);
                        internal_static_google_protobuf_ServiceOptions_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_ServiceOptions_descriptor,
                                new java.lang.String[]{"UninterpretedOption",},
                                com.google.protobuf.DescriptorProtos.ServiceOptions.class,
                                com.google.protobuf.DescriptorProtos.ServiceOptions.Builder.class);
                        internal_static_google_protobuf_MethodOptions_descriptor =
                                getDescriptor().getMessageTypes().get(14);
                        internal_static_google_protobuf_MethodOptions_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_MethodOptions_descriptor,
                                new java.lang.String[]{"UninterpretedOption",},
                                com.google.protobuf.DescriptorProtos.MethodOptions.class,
                                com.google.protobuf.DescriptorProtos.MethodOptions.Builder.class);
                        internal_static_google_protobuf_UninterpretedOption_descriptor =
                                getDescriptor().getMessageTypes().get(15);
                        internal_static_google_protobuf_UninterpretedOption_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_UninterpretedOption_descriptor,
                                new java.lang.String[]{"Name", "IdentifierValue", "PositiveIntValue", "NegativeIntValue", "DoubleValue", "StringValue",},
                                com.google.protobuf.DescriptorProtos.UninterpretedOption.class,
                                com.google.protobuf.DescriptorProtos.UninterpretedOption.Builder.class);
                        internal_static_google_protobuf_UninterpretedOption_NamePart_descriptor =
                                internal_static_google_protobuf_UninterpretedOption_descriptor.getNestedTypes().get(0);
                        internal_static_google_protobuf_UninterpretedOption_NamePart_fieldAccessorTable = new
                                com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                                internal_static_google_protobuf_UninterpretedOption_NamePart_descriptor,
                                new java.lang.String[]{"NamePart", "IsExtension",},
                                com.google.protobuf.DescriptorProtos.UninterpretedOption.NamePart.class,
                                com.google.protobuf.DescriptorProtos.UninterpretedOption.NamePart.Builder.class);
                        return null;
                    }
                };
        com.google.protobuf.Descriptors.FileDescriptor
                .internalBuildGeneratedFileFrom(descriptorData,
                        new com.google.protobuf.Descriptors.FileDescriptor[]{
                        }, assigner);
    }
    private DescriptorProtos() {
    }

    public static void registerAllExtensions(
            com.google.protobuf.ExtensionRegistry registry) {
    }

    public static com.google.protobuf.Descriptors.FileDescriptor
    getDescriptor() {
        return descriptor;
    }

    public static void internalForceInit() {
    }

    public static final class FileDescriptorSet extends
            com.google.protobuf.GeneratedMessage {
        // repeated .google.protobuf.FileDescriptorProto file = 1;
        public static final int FILE_FIELD_NUMBER = 1;
        private static final FileDescriptorSet defaultInstance;

        static {
            defaultInstance = new FileDescriptorSet(true);
            com.google.protobuf.DescriptorProtos.internalForceInit();
            defaultInstance.initFields();
        }

        private java.util.List file_ =
                java.util.Collections.emptyList();
        private int memoizedSerializedSize = -1;

        // Use FileDescriptorSet.newBuilder() to construct.
        private FileDescriptorSet() {
            initFields();
        }

        private FileDescriptorSet(boolean noInit) {
        }

        public static FileDescriptorSet getDefaultInstance() {
            return defaultInstance;
        }

        public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
            return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_FileDescriptorSet_descriptor;
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseFrom(
                com.google.protobuf.ByteString data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseFrom(
                com.google.protobuf.ByteString data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseFrom(byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseFrom(
                byte[] data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseFrom(java.io.InputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseDelimitedFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseFrom(
                com.google.protobuf.CodedInputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorSet parseFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

        public static Builder newBuilder(com.google.protobuf.DescriptorProtos.FileDescriptorSet prototype) {
            return newBuilder().mergeFrom(prototype);
        }

        public FileDescriptorSet getDefaultInstanceForType() {
            return defaultInstance;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
            return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_FileDescriptorSet_fieldAccessorTable;
        }

        public java.util.List getFileList() {
            return file_;
        }

        public int getFileCount() {
            return file_.size();
        }

        public com.google.protobuf.DescriptorProtos.FileDescriptorProto getFile(int index) {
            return file_.get(index);
        }

        private void initFields() {
        }

        public final boolean isInitialized() {
            for (com.google.protobuf.DescriptorProtos.FileDescriptorProto element : getFileList()) {
                if (!element.isInitialized()) return false;
            }
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                throws java.io.IOException {
            getSerializedSize();
            for (com.google.protobuf.DescriptorProtos.FileDescriptorProto element : getFileList()) {
                output.writeMessage(1, element);
            }
            getUnknownFields().writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSerializedSize;
            if (size != -1) return size;

            size = 0;
            for (com.google.protobuf.DescriptorProtos.FileDescriptorProto element : getFileList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(1, element);
            }
            size += getUnknownFields().getSerializedSize();
            memoizedSerializedSize = size;
            return size;
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends
                com.google.protobuf.GeneratedMessage.Builder {
            private com.google.protobuf.DescriptorProtos.FileDescriptorSet result;

            // Construct using com.google.protobuf.DescriptorProtos.FileDescriptorSet.newBuilder()
            private Builder() {
            }

            private static Builder create() {
                Builder builder = new Builder();
                builder.result = new com.google.protobuf.DescriptorProtos.FileDescriptorSet();
                return builder;
            }

            protected com.google.protobuf.DescriptorProtos.FileDescriptorSet internalGetResult() {
                return result;
            }

            public Builder clear() {
                if (result == null) {
                    throw new IllegalStateException(
                            "Cannot call clear() after build().");
                }
                result = new com.google.protobuf.DescriptorProtos.FileDescriptorSet();
                return this;
            }

            public Builder clone() {
                return create().mergeFrom(result);
            }

            public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
                return com.google.protobuf.DescriptorProtos.FileDescriptorSet.getDescriptor();
            }

            public com.google.protobuf.DescriptorProtos.FileDescriptorSet getDefaultInstanceForType() {
                return com.google.protobuf.DescriptorProtos.FileDescriptorSet.getDefaultInstance();
            }

            public boolean isInitialized() {
                return result.isInitialized();
            }

            public com.google.protobuf.DescriptorProtos.FileDescriptorSet build() {
                if (result != null && !isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return buildPartial();
            }

            private com.google.protobuf.DescriptorProtos.FileDescriptorSet buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!isInitialized()) {
                    throw newUninitializedMessageException(
                            result).asInvalidProtocolBufferException();
                }
                return buildPartial();
            }

            public com.google.protobuf.DescriptorProtos.FileDescriptorSet buildPartial() {
                if (result == null) {
                    throw new IllegalStateException(
                            "build() has already been called on this Builder.");
                }
                if (result.file_ != java.util.Collections.EMPTY_LIST) {
                    result.file_ =
                            java.util.Collections.unmodifiableList(result.file_);
                }
                com.google.protobuf.DescriptorProtos.FileDescriptorSet returnMe = result;
                result = null;
                return returnMe;
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.google.protobuf.DescriptorProtos.FileDescriptorSet) {
                    return mergeFrom((com.google.protobuf.DescriptorProtos.FileDescriptorSet) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.google.protobuf.DescriptorProtos.FileDescriptorSet other) {
                if (other == com.google.protobuf.DescriptorProtos.FileDescriptorSet.getDefaultInstance()) return this;
                if (!other.file_.isEmpty()) {
                    if (result.file_.isEmpty()) {
                        result.file_ = new java.util.ArrayList();
                    }
                    result.file_.addAll(other.file_);
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }

            public Builder mergeFrom(
                    com.google.protobuf.CodedInputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(
                                this.getUnknownFields());
                while (true) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        default: {
                            if (!parseUnknownField(input, unknownFields,
                                    extensionRegistry, tag)) {
                                this.setUnknownFields(unknownFields.build());
                                return this;
                            }
                            break;
                        }
                        case 10: {
                            com.google.protobuf.DescriptorProtos.FileDescriptorProto.Builder subBuilder = com.google.protobuf.DescriptorProtos.FileDescriptorProto.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addFile(subBuilder.buildPartial());
                            break;
                        }
                    }
                }
            }


            // repeated .google.protobuf.FileDescriptorProto file = 1;
            public java.util.List getFileList() {
                return java.util.Collections.unmodifiableList(result.file_);
            }

            public int getFileCount() {
                return result.getFileCount();
            }

            public com.google.protobuf.DescriptorProtos.FileDescriptorProto getFile(int index) {
                return result.getFile(index);
            }

            public Builder setFile(int index, com.google.protobuf.DescriptorProtos.FileDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.file_.set(index, value);
                return this;
            }

            public Builder setFile(int index, com.google.protobuf.DescriptorProtos.FileDescriptorProto.Builder builderForValue) {
                result.file_.set(index, builderForValue.build());
                return this;
            }

            public Builder addFile(com.google.protobuf.DescriptorProtos.FileDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.file_.isEmpty()) {
                    result.file_ = new java.util.ArrayList();
                }
                result.file_.add(value);
                return this;
            }

            public Builder addFile(com.google.protobuf.DescriptorProtos.FileDescriptorProto.Builder builderForValue) {
                if (result.file_.isEmpty()) {
                    result.file_ = new java.util.ArrayList();
                }
                result.file_.add(builderForValue.build());
                return this;
            }

            public Builder addAllFile(
                    java.lang.Iterable values) {
                if (result.file_.isEmpty()) {
                    result.file_ = new java.util.ArrayList();
                }
                super.addAll(values, result.file_);
                return this;
            }

            public Builder clearFile() {
                result.file_ = java.util.Collections.emptyList();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:google.protobuf.FileDescriptorSet)
        }

        // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorSet)
    }

    public static final class FileDescriptorProto extends
            com.google.protobuf.GeneratedMessage {
        // optional string name = 1;
        public static final int NAME_FIELD_NUMBER = 1;
        // optional string package = 2;
        public static final int PACKAGE_FIELD_NUMBER = 2;
        // repeated string dependency = 3;
        public static final int DEPENDENCY_FIELD_NUMBER = 3;
        // repeated .google.protobuf.DescriptorProto message_type = 4;
        public static final int MESSAGE_TYPE_FIELD_NUMBER = 4;
        // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
        public static final int ENUM_TYPE_FIELD_NUMBER = 5;
        // repeated .google.protobuf.ServiceDescriptorProto service = 6;
        public static final int SERVICE_FIELD_NUMBER = 6;
        // repeated .google.protobuf.FieldDescriptorProto extension = 7;
        public static final int EXTENSION_FIELD_NUMBER = 7;
        // optional .google.protobuf.FileOptions options = 8;
        public static final int OPTIONS_FIELD_NUMBER = 8;
        private static final FileDescriptorProto defaultInstance;

        static {
            defaultInstance = new FileDescriptorProto(true);
            com.google.protobuf.DescriptorProtos.internalForceInit();
            defaultInstance.initFields();
        }

        private boolean hasName;
        private java.lang.String name_ = "";
        private boolean hasPackage;
        private java.lang.String package_ = "";
        private java.util.List dependency_ =
                java.util.Collections.emptyList();
        private java.util.List messageType_ =
                java.util.Collections.emptyList();
        private java.util.List enumType_ =
                java.util.Collections.emptyList();
        private java.util.List service_ =
                java.util.Collections.emptyList();
        private java.util.List extension_ =
                java.util.Collections.emptyList();
        private boolean hasOptions;
        private com.google.protobuf.DescriptorProtos.FileOptions options_;
        private int memoizedSerializedSize = -1;

        // Use FileDescriptorProto.newBuilder() to construct.
        private FileDescriptorProto() {
            initFields();
        }
        private FileDescriptorProto(boolean noInit) {
        }

        public static FileDescriptorProto getDefaultInstance() {
            return defaultInstance;
        }

        public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
            return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_FileDescriptorProto_descriptor;
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseFrom(
                com.google.protobuf.ByteString data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseFrom(
                com.google.protobuf.ByteString data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseFrom(byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseFrom(
                byte[] data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseFrom(java.io.InputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseDelimitedFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseFrom(
                com.google.protobuf.CodedInputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FileDescriptorProto parseFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

        public static Builder newBuilder(com.google.protobuf.DescriptorProtos.FileDescriptorProto prototype) {
            return newBuilder().mergeFrom(prototype);
        }

        public FileDescriptorProto getDefaultInstanceForType() {
            return defaultInstance;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
            return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_FileDescriptorProto_fieldAccessorTable;
        }

        public boolean hasName() {
            return hasName;
        }

        public java.lang.String getName() {
            return name_;
        }

        public boolean hasPackage() {
            return hasPackage;
        }

        public java.lang.String getPackage() {
            return package_;
        }

        public java.util.List getDependencyList() {
            return dependency_;
        }

        public int getDependencyCount() {
            return dependency_.size();
        }

        public java.lang.String getDependency(int index) {
            return dependency_.get(index);
        }

        public java.util.List getMessageTypeList() {
            return messageType_;
        }

        public int getMessageTypeCount() {
            return messageType_.size();
        }

        public com.google.protobuf.DescriptorProtos.DescriptorProto getMessageType(int index) {
            return messageType_.get(index);
        }

        public java.util.List getEnumTypeList() {
            return enumType_;
        }

        public int getEnumTypeCount() {
            return enumType_.size();
        }

        public com.google.protobuf.DescriptorProtos.EnumDescriptorProto getEnumType(int index) {
            return enumType_.get(index);
        }

        public java.util.List getServiceList() {
            return service_;
        }

        public int getServiceCount() {
            return service_.size();
        }

        public com.google.protobuf.DescriptorProtos.ServiceDescriptorProto getService(int index) {
            return service_.get(index);
        }

        public java.util.List getExtensionList() {
            return extension_;
        }

        public int getExtensionCount() {
            return extension_.size();
        }

        public com.google.protobuf.DescriptorProtos.FieldDescriptorProto getExtension(int index) {
            return extension_.get(index);
        }

        public boolean hasOptions() {
            return hasOptions;
        }

        public com.google.protobuf.DescriptorProtos.FileOptions getOptions() {
            return options_;
        }

        private void initFields() {
            options_ = com.google.protobuf.DescriptorProtos.FileOptions.getDefaultInstance();
        }

        public final boolean isInitialized() {
            for (com.google.protobuf.DescriptorProtos.DescriptorProto element : getMessageTypeList()) {
                if (!element.isInitialized()) return false;
            }
            for (com.google.protobuf.DescriptorProtos.EnumDescriptorProto element : getEnumTypeList()) {
                if (!element.isInitialized()) return false;
            }
            for (com.google.protobuf.DescriptorProtos.ServiceDescriptorProto element : getServiceList()) {
                if (!element.isInitialized()) return false;
            }
            for (com.google.protobuf.DescriptorProtos.FieldDescriptorProto element : getExtensionList()) {
                if (!element.isInitialized()) return false;
            }
            if (hasOptions()) {
                if (!getOptions().isInitialized()) return false;
            }
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                throws java.io.IOException {
            getSerializedSize();
            if (hasName()) {
                output.writeString(1, getName());
            }
            if (hasPackage()) {
                output.writeString(2, getPackage());
            }
            for (java.lang.String element : getDependencyList()) {
                output.writeString(3, element);
            }
            for (com.google.protobuf.DescriptorProtos.DescriptorProto element : getMessageTypeList()) {
                output.writeMessage(4, element);
            }
            for (com.google.protobuf.DescriptorProtos.EnumDescriptorProto element : getEnumTypeList()) {
                output.writeMessage(5, element);
            }
            for (com.google.protobuf.DescriptorProtos.ServiceDescriptorProto element : getServiceList()) {
                output.writeMessage(6, element);
            }
            for (com.google.protobuf.DescriptorProtos.FieldDescriptorProto element : getExtensionList()) {
                output.writeMessage(7, element);
            }
            if (hasOptions()) {
                output.writeMessage(8, getOptions());
            }
            getUnknownFields().writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSerializedSize;
            if (size != -1) return size;

            size = 0;
            if (hasName()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(1, getName());
            }
            if (hasPackage()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(2, getPackage());
            }
            {
                int dataSize = 0;
                for (java.lang.String element : getDependencyList()) {
                    dataSize += com.google.protobuf.CodedOutputStream
                            .computeStringSizeNoTag(element);
                }
                size += dataSize;
                size += 1 * getDependencyList().size();
            }
            for (com.google.protobuf.DescriptorProtos.DescriptorProto element : getMessageTypeList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(4, element);
            }
            for (com.google.protobuf.DescriptorProtos.EnumDescriptorProto element : getEnumTypeList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(5, element);
            }
            for (com.google.protobuf.DescriptorProtos.ServiceDescriptorProto element : getServiceList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(6, element);
            }
            for (com.google.protobuf.DescriptorProtos.FieldDescriptorProto element : getExtensionList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(7, element);
            }
            if (hasOptions()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(8, getOptions());
            }
            size += getUnknownFields().getSerializedSize();
            memoizedSerializedSize = size;
            return size;
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class Builder extends
                com.google.protobuf.GeneratedMessage.Builder {
            private com.google.protobuf.DescriptorProtos.FileDescriptorProto result;

            // Construct using com.google.protobuf.DescriptorProtos.FileDescriptorProto.newBuilder()
            private Builder() {
            }

            private static Builder create() {
                Builder builder = new Builder();
                builder.result = new com.google.protobuf.DescriptorProtos.FileDescriptorProto();
                return builder;
            }

            protected com.google.protobuf.DescriptorProtos.FileDescriptorProto internalGetResult() {
                return result;
            }

            public Builder clear() {
                if (result == null) {
                    throw new IllegalStateException(
                            "Cannot call clear() after build().");
                }
                result = new com.google.protobuf.DescriptorProtos.FileDescriptorProto();
                return this;
            }

            public Builder clone() {
                return create().mergeFrom(result);
            }

            public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
                return com.google.protobuf.DescriptorProtos.FileDescriptorProto.getDescriptor();
            }

            public com.google.protobuf.DescriptorProtos.FileDescriptorProto getDefaultInstanceForType() {
                return com.google.protobuf.DescriptorProtos.FileDescriptorProto.getDefaultInstance();
            }

            public boolean isInitialized() {
                return result.isInitialized();
            }

            public com.google.protobuf.DescriptorProtos.FileDescriptorProto build() {
                if (result != null && !isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return buildPartial();
            }

            private com.google.protobuf.DescriptorProtos.FileDescriptorProto buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!isInitialized()) {
                    throw newUninitializedMessageException(
                            result).asInvalidProtocolBufferException();
                }
                return buildPartial();
            }

            public com.google.protobuf.DescriptorProtos.FileDescriptorProto buildPartial() {
                if (result == null) {
                    throw new IllegalStateException(
                            "build() has already been called on this Builder.");
                }
                if (result.dependency_ != java.util.Collections.EMPTY_LIST) {
                    result.dependency_ =
                            java.util.Collections.unmodifiableList(result.dependency_);
                }
                if (result.messageType_ != java.util.Collections.EMPTY_LIST) {
                    result.messageType_ =
                            java.util.Collections.unmodifiableList(result.messageType_);
                }
                if (result.enumType_ != java.util.Collections.EMPTY_LIST) {
                    result.enumType_ =
                            java.util.Collections.unmodifiableList(result.enumType_);
                }
                if (result.service_ != java.util.Collections.EMPTY_LIST) {
                    result.service_ =
                            java.util.Collections.unmodifiableList(result.service_);
                }
                if (result.extension_ != java.util.Collections.EMPTY_LIST) {
                    result.extension_ =
                            java.util.Collections.unmodifiableList(result.extension_);
                }
                com.google.protobuf.DescriptorProtos.FileDescriptorProto returnMe = result;
                result = null;
                return returnMe;
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.google.protobuf.DescriptorProtos.FileDescriptorProto) {
                    return mergeFrom((com.google.protobuf.DescriptorProtos.FileDescriptorProto) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.google.protobuf.DescriptorProtos.FileDescriptorProto other) {
                if (other == com.google.protobuf.DescriptorProtos.FileDescriptorProto.getDefaultInstance()) return this;
                if (other.hasName()) {
                    setName(other.getName());
                }
                if (other.hasPackage()) {
                    setPackage(other.getPackage());
                }
                if (!other.dependency_.isEmpty()) {
                    if (result.dependency_.isEmpty()) {
                        result.dependency_ = new java.util.ArrayList();
                    }
                    result.dependency_.addAll(other.dependency_);
                }
                if (!other.messageType_.isEmpty()) {
                    if (result.messageType_.isEmpty()) {
                        result.messageType_ = new java.util.ArrayList();
                    }
                    result.messageType_.addAll(other.messageType_);
                }
                if (!other.enumType_.isEmpty()) {
                    if (result.enumType_.isEmpty()) {
                        result.enumType_ = new java.util.ArrayList();
                    }
                    result.enumType_.addAll(other.enumType_);
                }
                if (!other.service_.isEmpty()) {
                    if (result.service_.isEmpty()) {
                        result.service_ = new java.util.ArrayList();
                    }
                    result.service_.addAll(other.service_);
                }
                if (!other.extension_.isEmpty()) {
                    if (result.extension_.isEmpty()) {
                        result.extension_ = new java.util.ArrayList();
                    }
                    result.extension_.addAll(other.extension_);
                }
                if (other.hasOptions()) {
                    mergeOptions(other.getOptions());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }

            public Builder mergeFrom(
                    com.google.protobuf.CodedInputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(
                                this.getUnknownFields());
                while (true) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        default: {
                            if (!parseUnknownField(input, unknownFields,
                                    extensionRegistry, tag)) {
                                this.setUnknownFields(unknownFields.build());
                                return this;
                            }
                            break;
                        }
                        case 10: {
                            setName(input.readString());
                            break;
                        }
                        case 18: {
                            setPackage(input.readString());
                            break;
                        }
                        case 26: {
                            addDependency(input.readString());
                            break;
                        }
                        case 34: {
                            com.google.protobuf.DescriptorProtos.DescriptorProto.Builder subBuilder = com.google.protobuf.DescriptorProtos.DescriptorProto.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addMessageType(subBuilder.buildPartial());
                            break;
                        }
                        case 42: {
                            com.google.protobuf.DescriptorProtos.EnumDescriptorProto.Builder subBuilder = com.google.protobuf.DescriptorProtos.EnumDescriptorProto.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addEnumType(subBuilder.buildPartial());
                            break;
                        }
                        case 50: {
                            com.google.protobuf.DescriptorProtos.ServiceDescriptorProto.Builder subBuilder = com.google.protobuf.DescriptorProtos.ServiceDescriptorProto.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addService(subBuilder.buildPartial());
                            break;
                        }
                        case 58: {
                            com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder subBuilder = com.google.protobuf.DescriptorProtos.FieldDescriptorProto.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addExtension(subBuilder.buildPartial());
                            break;
                        }
                        case 66: {
                            com.google.protobuf.DescriptorProtos.FileOptions.Builder subBuilder = com.google.protobuf.DescriptorProtos.FileOptions.newBuilder();
                            if (hasOptions()) {
                                subBuilder.mergeFrom(getOptions());
                            }
                            input.readMessage(subBuilder, extensionRegistry);
                            setOptions(subBuilder.buildPartial());
                            break;
                        }
                    }
                }
            }


            // optional string name = 1;
            public boolean hasName() {
                return result.hasName();
            }

            public java.lang.String getName() {
                return result.getName();
            }

            public Builder setName(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.hasName = true;
                result.name_ = value;
                return this;
            }

            public Builder clearName() {
                result.hasName = false;
                result.name_ = getDefaultInstance().getName();
                return this;
            }

            // optional string package = 2;
            public boolean hasPackage() {
                return result.hasPackage();
            }

            public java.lang.String getPackage() {
                return result.getPackage();
            }

            public Builder setPackage(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.hasPackage = true;
                result.package_ = value;
                return this;
            }

            public Builder clearPackage() {
                result.hasPackage = false;
                result.package_ = getDefaultInstance().getPackage();
                return this;
            }

            // repeated string dependency = 3;
            public java.util.List getDependencyList() {
                return java.util.Collections.unmodifiableList(result.dependency_);
            }

            public int getDependencyCount() {
                return result.getDependencyCount();
            }

            public java.lang.String getDependency(int index) {
                return result.getDependency(index);
            }

            public Builder setDependency(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.dependency_.set(index, value);
                return this;
            }

            public Builder addDependency(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.dependency_.isEmpty()) {
                    result.dependency_ = new java.util.ArrayList();
                }
                result.dependency_.add(value);
                return this;
            }

            public Builder addAllDependency(
                    java.lang.Iterable values) {
                if (result.dependency_.isEmpty()) {
                    result.dependency_ = new java.util.ArrayList();
                }
                super.addAll(values, result.dependency_);
                return this;
            }

            public Builder clearDependency() {
                result.dependency_ = java.util.Collections.emptyList();
                return this;
            }

            // repeated .google.protobuf.DescriptorProto message_type = 4;
            public java.util.List getMessageTypeList() {
                return java.util.Collections.unmodifiableList(result.messageType_);
            }

            public int getMessageTypeCount() {
                return result.getMessageTypeCount();
            }

            public com.google.protobuf.DescriptorProtos.DescriptorProto getMessageType(int index) {
                return result.getMessageType(index);
            }

            public Builder setMessageType(int index, com.google.protobuf.DescriptorProtos.DescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.messageType_.set(index, value);
                return this;
            }

            public Builder setMessageType(int index, com.google.protobuf.DescriptorProtos.DescriptorProto.Builder builderForValue) {
                result.messageType_.set(index, builderForValue.build());
                return this;
            }

            public Builder addMessageType(com.google.protobuf.DescriptorProtos.DescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.messageType_.isEmpty()) {
                    result.messageType_ = new java.util.ArrayList();
                }
                result.messageType_.add(value);
                return this;
            }

            public Builder addMessageType(com.google.protobuf.DescriptorProtos.DescriptorProto.Builder builderForValue) {
                if (result.messageType_.isEmpty()) {
                    result.messageType_ = new java.util.ArrayList();
                }
                result.messageType_.add(builderForValue.build());
                return this;
            }

            public Builder addAllMessageType(
                    java.lang.Iterable values) {
                if (result.messageType_.isEmpty()) {
                    result.messageType_ = new java.util.ArrayList();
                }
                super.addAll(values, result.messageType_);
                return this;
            }

            public Builder clearMessageType() {
                result.messageType_ = java.util.Collections.emptyList();
                return this;
            }

            // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
            public java.util.List getEnumTypeList() {
                return java.util.Collections.unmodifiableList(result.enumType_);
            }

            public int getEnumTypeCount() {
                return result.getEnumTypeCount();
            }

            public com.google.protobuf.DescriptorProtos.EnumDescriptorProto getEnumType(int index) {
                return result.getEnumType(index);
            }

            public Builder setEnumType(int index, com.google.protobuf.DescriptorProtos.EnumDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.enumType_.set(index, value);
                return this;
            }

            public Builder setEnumType(int index, com.google.protobuf.DescriptorProtos.EnumDescriptorProto.Builder builderForValue) {
                result.enumType_.set(index, builderForValue.build());
                return this;
            }

            public Builder addEnumType(com.google.protobuf.DescriptorProtos.EnumDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.enumType_.isEmpty()) {
                    result.enumType_ = new java.util.ArrayList();
                }
                result.enumType_.add(value);
                return this;
            }

            public Builder addEnumType(com.google.protobuf.DescriptorProtos.EnumDescriptorProto.Builder builderForValue) {
                if (result.enumType_.isEmpty()) {
                    result.enumType_ = new java.util.ArrayList();
                }
                result.enumType_.add(builderForValue.build());
                return this;
            }

            public Builder addAllEnumType(
                    java.lang.Iterable values) {
                if (result.enumType_.isEmpty()) {
                    result.enumType_ = new java.util.ArrayList();
                }
                super.addAll(values, result.enumType_);
                return this;
            }

            public Builder clearEnumType() {
                result.enumType_ = java.util.Collections.emptyList();
                return this;
            }

            // repeated .google.protobuf.ServiceDescriptorProto service = 6;
            public java.util.List getServiceList() {
                return java.util.Collections.unmodifiableList(result.service_);
            }

            public int getServiceCount() {
                return result.getServiceCount();
            }

            public com.google.protobuf.DescriptorProtos.ServiceDescriptorProto getService(int index) {
                return result.getService(index);
            }

            public Builder setService(int index, com.google.protobuf.DescriptorProtos.ServiceDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.service_.set(index, value);
                return this;
            }

            public Builder setService(int index, com.google.protobuf.DescriptorProtos.ServiceDescriptorProto.Builder builderForValue) {
                result.service_.set(index, builderForValue.build());
                return this;
            }

            public Builder addService(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.service_.isEmpty()) {
                    result.service_ = new java.util.ArrayList();
                }
                result.service_.add(value);
                return this;
            }

            public Builder addService(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto.Builder builderForValue) {
                if (result.service_.isEmpty()) {
                    result.service_ = new java.util.ArrayList();
                }
                result.service_.add(builderForValue.build());
                return this;
            }

            public Builder addAllService(
                    java.lang.Iterable values) {
                if (result.service_.isEmpty()) {
                    result.service_ = new java.util.ArrayList();
                }
                super.addAll(values, result.service_);
                return this;
            }

            public Builder clearService() {
                result.service_ = java.util.Collections.emptyList();
                return this;
            }

            // repeated .google.protobuf.FieldDescriptorProto extension = 7;
            public java.util.List getExtensionList() {
                return java.util.Collections.unmodifiableList(result.extension_);
            }

            public int getExtensionCount() {
                return result.getExtensionCount();
            }

            public com.google.protobuf.DescriptorProtos.FieldDescriptorProto getExtension(int index) {
                return result.getExtension(index);
            }

            public Builder setExtension(int index, com.google.protobuf.DescriptorProtos.FieldDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.extension_.set(index, value);
                return this;
            }

            public Builder setExtension(int index, com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder builderForValue) {
                result.extension_.set(index, builderForValue.build());
                return this;
            }

            public Builder addExtension(com.google.protobuf.DescriptorProtos.FieldDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.extension_.isEmpty()) {
                    result.extension_ = new java.util.ArrayList();
                }
                result.extension_.add(value);
                return this;
            }

            public Builder addExtension(com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder builderForValue) {
                if (result.extension_.isEmpty()) {
                    result.extension_ = new java.util.ArrayList();
                }
                result.extension_.add(builderForValue.build());
                return this;
            }

            public Builder addAllExtension(
                    java.lang.Iterable values) {
                if (result.extension_.isEmpty()) {
                    result.extension_ = new java.util.ArrayList();
                }
                super.addAll(values, result.extension_);
                return this;
            }

            public Builder clearExtension() {
                result.extension_ = java.util.Collections.emptyList();
                return this;
            }

            // optional .google.protobuf.FileOptions options = 8;
            public boolean hasOptions() {
                return result.hasOptions();
            }

            public com.google.protobuf.DescriptorProtos.FileOptions getOptions() {
                return result.getOptions();
            }

            public Builder setOptions(com.google.protobuf.DescriptorProtos.FileOptions value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.hasOptions = true;
                result.options_ = value;
                return this;
            }

            public Builder setOptions(com.google.protobuf.DescriptorProtos.FileOptions.Builder builderForValue) {
                result.hasOptions = true;
                result.options_ = builderForValue.build();
                return this;
            }

            public Builder mergeOptions(com.google.protobuf.DescriptorProtos.FileOptions value) {
                if (result.hasOptions() &&
                        result.options_ != com.google.protobuf.DescriptorProtos.FileOptions.getDefaultInstance()) {
                    result.options_ =
                            com.google.protobuf.DescriptorProtos.FileOptions.newBuilder(result.options_).mergeFrom(value).buildPartial();
                } else {
                    result.options_ = value;
                }
                result.hasOptions = true;
                return this;
            }

            public Builder clearOptions() {
                result.hasOptions = false;
                result.options_ = com.google.protobuf.DescriptorProtos.FileOptions.getDefaultInstance();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:google.protobuf.FileDescriptorProto)
        }

        // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorProto)
    }

    public static final class DescriptorProto extends
            com.google.protobuf.GeneratedMessage {
        // optional string name = 1;
        public static final int NAME_FIELD_NUMBER = 1;
        // repeated .google.protobuf.FieldDescriptorProto field = 2;
        public static final int FIELD_FIELD_NUMBER = 2;
        // repeated .google.protobuf.FieldDescriptorProto extension = 6;
        public static final int EXTENSION_FIELD_NUMBER = 6;
        // repeated .google.protobuf.DescriptorProto nested_type = 3;
        public static final int NESTED_TYPE_FIELD_NUMBER = 3;
        // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
        public static final int ENUM_TYPE_FIELD_NUMBER = 4;
        // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
        public static final int EXTENSION_RANGE_FIELD_NUMBER = 5;
        // optional .google.protobuf.MessageOptions options = 7;
        public static final int OPTIONS_FIELD_NUMBER = 7;
        private static final DescriptorProto defaultInstance;

        static {
            defaultInstance = new DescriptorProto(true);
            com.google.protobuf.DescriptorProtos.internalForceInit();
            defaultInstance.initFields();
        }

        private boolean hasName;
        private java.lang.String name_ = "";
        private java.util.List field_ =
                java.util.Collections.emptyList();
        private java.util.List extension_ =
                java.util.Collections.emptyList();
        private java.util.List nestedType_ =
                java.util.Collections.emptyList();
        private java.util.List enumType_ =
                java.util.Collections.emptyList();
        private java.util.List extensionRange_ =
                java.util.Collections.emptyList();
        private boolean hasOptions;
        private com.google.protobuf.DescriptorProtos.MessageOptions options_;
        private int memoizedSerializedSize = -1;
        // Use DescriptorProto.newBuilder() to construct.
        private DescriptorProto() {
            initFields();
        }

        private DescriptorProto(boolean noInit) {
        }

        public static DescriptorProto getDefaultInstance() {
            return defaultInstance;
        }

        public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
            return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_DescriptorProto_descriptor;
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseFrom(
                com.google.protobuf.ByteString data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseFrom(
                com.google.protobuf.ByteString data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseFrom(byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseFrom(
                byte[] data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseFrom(java.io.InputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseDelimitedFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseFrom(
                com.google.protobuf.CodedInputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.DescriptorProto parseFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

        public static Builder newBuilder(com.google.protobuf.DescriptorProtos.DescriptorProto prototype) {
            return newBuilder().mergeFrom(prototype);
        }

        public DescriptorProto getDefaultInstanceForType() {
            return defaultInstance;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
            return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_DescriptorProto_fieldAccessorTable;
        }

        public boolean hasName() {
            return hasName;
        }

        public java.lang.String getName() {
            return name_;
        }

        public java.util.List getFieldList() {
            return field_;
        }

        public int getFieldCount() {
            return field_.size();
        }

        public com.google.protobuf.DescriptorProtos.FieldDescriptorProto getField(int index) {
            return field_.get(index);
        }

        public java.util.List getExtensionList() {
            return extension_;
        }

        public int getExtensionCount() {
            return extension_.size();
        }

        public com.google.protobuf.DescriptorProtos.FieldDescriptorProto getExtension(int index) {
            return extension_.get(index);
        }

        public java.util.List getNestedTypeList() {
            return nestedType_;
        }

        public int getNestedTypeCount() {
            return nestedType_.size();
        }

        public com.google.protobuf.DescriptorProtos.DescriptorProto getNestedType(int index) {
            return nestedType_.get(index);
        }

        public java.util.List getEnumTypeList() {
            return enumType_;
        }

        public int getEnumTypeCount() {
            return enumType_.size();
        }

        public com.google.protobuf.DescriptorProtos.EnumDescriptorProto getEnumType(int index) {
            return enumType_.get(index);
        }

        public java.util.List getExtensionRangeList() {
            return extensionRange_;
        }

        public int getExtensionRangeCount() {
            return extensionRange_.size();
        }

        public com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange getExtensionRange(int index) {
            return extensionRange_.get(index);
        }

        public boolean hasOptions() {
            return hasOptions;
        }

        public com.google.protobuf.DescriptorProtos.MessageOptions getOptions() {
            return options_;
        }

        private void initFields() {
            options_ = com.google.protobuf.DescriptorProtos.MessageOptions.getDefaultInstance();
        }

        public final boolean isInitialized() {
            for (com.google.protobuf.DescriptorProtos.FieldDescriptorProto element : getFieldList()) {
                if (!element.isInitialized()) return false;
            }
            for (com.google.protobuf.DescriptorProtos.FieldDescriptorProto element : getExtensionList()) {
                if (!element.isInitialized()) return false;
            }
            for (com.google.protobuf.DescriptorProtos.DescriptorProto element : getNestedTypeList()) {
                if (!element.isInitialized()) return false;
            }
            for (com.google.protobuf.DescriptorProtos.EnumDescriptorProto element : getEnumTypeList()) {
                if (!element.isInitialized()) return false;
            }
            if (hasOptions()) {
                if (!getOptions().isInitialized()) return false;
            }
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                throws java.io.IOException {
            getSerializedSize();
            if (hasName()) {
                output.writeString(1, getName());
            }
            for (com.google.protobuf.DescriptorProtos.FieldDescriptorProto element : getFieldList()) {
                output.writeMessage(2, element);
            }
            for (com.google.protobuf.DescriptorProtos.DescriptorProto element : getNestedTypeList()) {
                output.writeMessage(3, element);
            }
            for (com.google.protobuf.DescriptorProtos.EnumDescriptorProto element : getEnumTypeList()) {
                output.writeMessage(4, element);
            }
            for (com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange element : getExtensionRangeList()) {
                output.writeMessage(5, element);
            }
            for (com.google.protobuf.DescriptorProtos.FieldDescriptorProto element : getExtensionList()) {
                output.writeMessage(6, element);
            }
            if (hasOptions()) {
                output.writeMessage(7, getOptions());
            }
            getUnknownFields().writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSerializedSize;
            if (size != -1) return size;

            size = 0;
            if (hasName()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(1, getName());
            }
            for (com.google.protobuf.DescriptorProtos.FieldDescriptorProto element : getFieldList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(2, element);
            }
            for (com.google.protobuf.DescriptorProtos.DescriptorProto element : getNestedTypeList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(3, element);
            }
            for (com.google.protobuf.DescriptorProtos.EnumDescriptorProto element : getEnumTypeList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(4, element);
            }
            for (com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange element : getExtensionRangeList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(5, element);
            }
            for (com.google.protobuf.DescriptorProtos.FieldDescriptorProto element : getExtensionList()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(6, element);
            }
            if (hasOptions()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(7, getOptions());
            }
            size += getUnknownFields().getSerializedSize();
            memoizedSerializedSize = size;
            return size;
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public Builder toBuilder() {
            return newBuilder(this);
        }

        public static final class ExtensionRange extends
                com.google.protobuf.GeneratedMessage {
            // optional int32 start = 1;
            public static final int START_FIELD_NUMBER = 1;
            // optional int32 end = 2;
            public static final int END_FIELD_NUMBER = 2;
            private static final ExtensionRange defaultInstance;

            static {
                defaultInstance = new ExtensionRange(true);
                com.google.protobuf.DescriptorProtos.internalForceInit();
                defaultInstance.initFields();
            }

            private boolean hasStart;
            private int start_ = 0;
            private boolean hasEnd;
            private int end_ = 0;
            private int memoizedSerializedSize = -1;
            // Use ExtensionRange.newBuilder() to construct.
            private ExtensionRange() {
                initFields();
            }

            private ExtensionRange(boolean noInit) {
            }

            public static ExtensionRange getDefaultInstance() {
                return defaultInstance;
            }

            public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
                return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_DescriptorProto_ExtensionRange_descriptor;
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseFrom(
                    com.google.protobuf.ByteString data)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data).buildParsed();
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseFrom(
                    com.google.protobuf.ByteString data,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data, extensionRegistry)
                        .buildParsed();
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseFrom(byte[] data)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data).buildParsed();
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseFrom(
                    byte[] data,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws com.google.protobuf.InvalidProtocolBufferException {
                return newBuilder().mergeFrom(data, extensionRegistry)
                        .buildParsed();
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseFrom(java.io.InputStream input)
                    throws java.io.IOException {
                return newBuilder().mergeFrom(input).buildParsed();
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseFrom(
                    java.io.InputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                return newBuilder().mergeFrom(input, extensionRegistry)
                        .buildParsed();
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseDelimitedFrom(java.io.InputStream input)
                    throws java.io.IOException {
                Builder builder = newBuilder();
                if (builder.mergeDelimitedFrom(input)) {
                    return builder.buildParsed();
                } else {
                    return null;
                }
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseDelimitedFrom(
                    java.io.InputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                Builder builder = newBuilder();
                if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                    return builder.buildParsed();
                } else {
                    return null;
                }
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseFrom(
                    com.google.protobuf.CodedInputStream input)
                    throws java.io.IOException {
                return newBuilder().mergeFrom(input).buildParsed();
            }

            public static com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange parseFrom(
                    com.google.protobuf.CodedInputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                return newBuilder().mergeFrom(input, extensionRegistry)
                        .buildParsed();
            }

            public static Builder newBuilder() {
                return Builder.create();
            }

            public static Builder newBuilder(com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange prototype) {
                return newBuilder().mergeFrom(prototype);
            }

            public ExtensionRange getDefaultInstanceForType() {
                return defaultInstance;
            }

            protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
                return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_DescriptorProto_ExtensionRange_fieldAccessorTable;
            }

            public boolean hasStart() {
                return hasStart;
            }

            public int getStart() {
                return start_;
            }

            public boolean hasEnd() {
                return hasEnd;
            }

            public int getEnd() {
                return end_;
            }

            private void initFields() {
            }

            public final boolean isInitialized() {
                return true;
            }

            public void writeTo(com.google.protobuf.CodedOutputStream output)
                    throws java.io.IOException {
                getSerializedSize();
                if (hasStart()) {
                    output.writeInt32(1, getStart());
                }
                if (hasEnd()) {
                    output.writeInt32(2, getEnd());
                }
                getUnknownFields().writeTo(output);
            }

            public int getSerializedSize() {
                int size = memoizedSerializedSize;
                if (size != -1) return size;

                size = 0;
                if (hasStart()) {
                    size += com.google.protobuf.CodedOutputStream
                            .computeInt32Size(1, getStart());
                }
                if (hasEnd()) {
                    size += com.google.protobuf.CodedOutputStream
                            .computeInt32Size(2, getEnd());
                }
                size += getUnknownFields().getSerializedSize();
                memoizedSerializedSize = size;
                return size;
            }

            public Builder newBuilderForType() {
                return newBuilder();
            }

            public Builder toBuilder() {
                return newBuilder(this);
            }

            public static final class Builder extends
                    com.google.protobuf.GeneratedMessage.Builder {
                private com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange result;

                // Construct using com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.newBuilder()
                private Builder() {
                }

                private static Builder create() {
                    Builder builder = new Builder();
                    builder.result = new com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange();
                    return builder;
                }

                protected com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange internalGetResult() {
                    return result;
                }

                public Builder clear() {
                    if (result == null) {
                        throw new IllegalStateException(
                                "Cannot call clear() after build().");
                    }
                    result = new com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange();
                    return this;
                }

                public Builder clone() {
                    return create().mergeFrom(result);
                }

                public com.google.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
                    return com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.getDescriptor();
                }

                public com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange getDefaultInstanceForType() {
                    return com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.getDefaultInstance();
                }

                public boolean isInitialized() {
                    return result.isInitialized();
                }

                public com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange build() {
                    if (result != null && !isInitialized()) {
                        throw newUninitializedMessageException(result);
                    }
                    return buildPartial();
                }

                private com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange buildParsed()
                        throws com.google.protobuf.InvalidProtocolBufferException {
                    if (!isInitialized()) {
                        throw newUninitializedMessageException(
                                result).asInvalidProtocolBufferException();
                    }
                    return buildPartial();
                }

                public com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange buildPartial() {
                    if (result == null) {
                        throw new IllegalStateException(
                                "build() has already been called on this Builder.");
                    }
                    com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange returnMe = result;
                    result = null;
                    return returnMe;
                }

                public Builder mergeFrom(com.google.protobuf.Message other) {
                    if (other instanceof com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange) {
                        return mergeFrom((com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange) other);
                    } else {
                        super.mergeFrom(other);
                        return this;
                    }
                }

                public Builder mergeFrom(com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange other) {
                    if (other == com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.getDefaultInstance())
                        return this;
                    if (other.hasStart()) {
                        setStart(other.getStart());
                    }
                    if (other.hasEnd()) {
                        setEnd(other.getEnd());
                    }
                    this.mergeUnknownFields(other.getUnknownFields());
                    return this;
                }

                public Builder mergeFrom(
                        com.google.protobuf.CodedInputStream input,
                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                        throws java.io.IOException {
                    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                            com.google.protobuf.UnknownFieldSet.newBuilder(
                                    this.getUnknownFields());
                    while (true) {
                        int tag = input.readTag();
                        switch (tag) {
                            case 0:
                                this.setUnknownFields(unknownFields.build());
                                return this;
                            default: {
                                if (!parseUnknownField(input, unknownFields,
                                        extensionRegistry, tag)) {
                                    this.setUnknownFields(unknownFields.build());
                                    return this;
                                }
                                break;
                            }
                            case 8: {
                                setStart(input.readInt32());
                                break;
                            }
                            case 16: {
                                setEnd(input.readInt32());
                                break;
                            }
                        }
                    }
                }


                // optional int32 start = 1;
                public boolean hasStart() {
                    return result.hasStart();
                }

                public int getStart() {
                    return result.getStart();
                }

                public Builder setStart(int value) {
                    result.hasStart = true;
                    result.start_ = value;
                    return this;
                }

                public Builder clearStart() {
                    result.hasStart = false;
                    result.start_ = 0;
                    return this;
                }

                // optional int32 end = 2;
                public boolean hasEnd() {
                    return result.hasEnd();
                }

                public int getEnd() {
                    return result.getEnd();
                }

                public Builder setEnd(int value) {
                    result.hasEnd = true;
                    result.end_ = value;
                    return this;
                }

                public Builder clearEnd() {
                    result.hasEnd = false;
                    result.end_ = 0;
                    return this;
                }

                // @@protoc_insertion_point(builder_scope:google.protobuf.DescriptorProto.ExtensionRange)
            }

            // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ExtensionRange)
        }

        public static final class Builder extends
                com.google.protobuf.GeneratedMessage.Builder {
            private com.google.protobuf.DescriptorProtos.DescriptorProto result;

            // Construct using com.google.protobuf.DescriptorProtos.DescriptorProto.newBuilder()
            private Builder() {
            }

            private static Builder create() {
                Builder builder = new Builder();
                builder.result = new com.google.protobuf.DescriptorProtos.DescriptorProto();
                return builder;
            }

            protected com.google.protobuf.DescriptorProtos.DescriptorProto internalGetResult() {
                return result;
            }

            public Builder clear() {
                if (result == null) {
                    throw new IllegalStateException(
                            "Cannot call clear() after build().");
                }
                result = new com.google.protobuf.DescriptorProtos.DescriptorProto();
                return this;
            }

            public Builder clone() {
                return create().mergeFrom(result);
            }

            public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
                return com.google.protobuf.DescriptorProtos.DescriptorProto.getDescriptor();
            }

            public com.google.protobuf.DescriptorProtos.DescriptorProto getDefaultInstanceForType() {
                return com.google.protobuf.DescriptorProtos.DescriptorProto.getDefaultInstance();
            }

            public boolean isInitialized() {
                return result.isInitialized();
            }

            public com.google.protobuf.DescriptorProtos.DescriptorProto build() {
                if (result != null && !isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return buildPartial();
            }

            private com.google.protobuf.DescriptorProtos.DescriptorProto buildParsed()
                    throws com.google.protobuf.InvalidProtocolBufferException {
                if (!isInitialized()) {
                    throw newUninitializedMessageException(
                            result).asInvalidProtocolBufferException();
                }
                return buildPartial();
            }

            public com.google.protobuf.DescriptorProtos.DescriptorProto buildPartial() {
                if (result == null) {
                    throw new IllegalStateException(
                            "build() has already been called on this Builder.");
                }
                if (result.field_ != java.util.Collections.EMPTY_LIST) {
                    result.field_ =
                            java.util.Collections.unmodifiableList(result.field_);
                }
                if (result.extension_ != java.util.Collections.EMPTY_LIST) {
                    result.extension_ =
                            java.util.Collections.unmodifiableList(result.extension_);
                }
                if (result.nestedType_ != java.util.Collections.EMPTY_LIST) {
                    result.nestedType_ =
                            java.util.Collections.unmodifiableList(result.nestedType_);
                }
                if (result.enumType_ != java.util.Collections.EMPTY_LIST) {
                    result.enumType_ =
                            java.util.Collections.unmodifiableList(result.enumType_);
                }
                if (result.extensionRange_ != java.util.Collections.EMPTY_LIST) {
                    result.extensionRange_ =
                            java.util.Collections.unmodifiableList(result.extensionRange_);
                }
                com.google.protobuf.DescriptorProtos.DescriptorProto returnMe = result;
                result = null;
                return returnMe;
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.google.protobuf.DescriptorProtos.DescriptorProto) {
                    return mergeFrom((com.google.protobuf.DescriptorProtos.DescriptorProto) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.google.protobuf.DescriptorProtos.DescriptorProto other) {
                if (other == com.google.protobuf.DescriptorProtos.DescriptorProto.getDefaultInstance()) return this;
                if (other.hasName()) {
                    setName(other.getName());
                }
                if (!other.field_.isEmpty()) {
                    if (result.field_.isEmpty()) {
                        result.field_ = new java.util.ArrayList();
                    }
                    result.field_.addAll(other.field_);
                }
                if (!other.extension_.isEmpty()) {
                    if (result.extension_.isEmpty()) {
                        result.extension_ = new java.util.ArrayList();
                    }
                    result.extension_.addAll(other.extension_);
                }
                if (!other.nestedType_.isEmpty()) {
                    if (result.nestedType_.isEmpty()) {
                        result.nestedType_ = new java.util.ArrayList();
                    }
                    result.nestedType_.addAll(other.nestedType_);
                }
                if (!other.enumType_.isEmpty()) {
                    if (result.enumType_.isEmpty()) {
                        result.enumType_ = new java.util.ArrayList();
                    }
                    result.enumType_.addAll(other.enumType_);
                }
                if (!other.extensionRange_.isEmpty()) {
                    if (result.extensionRange_.isEmpty()) {
                        result.extensionRange_ = new java.util.ArrayList();
                    }
                    result.extensionRange_.addAll(other.extensionRange_);
                }
                if (other.hasOptions()) {
                    mergeOptions(other.getOptions());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
            }

            public Builder mergeFrom(
                    com.google.protobuf.CodedInputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                        com.google.protobuf.UnknownFieldSet.newBuilder(
                                this.getUnknownFields());
                while (true) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            this.setUnknownFields(unknownFields.build());
                            return this;
                        default: {
                            if (!parseUnknownField(input, unknownFields,
                                    extensionRegistry, tag)) {
                                this.setUnknownFields(unknownFields.build());
                                return this;
                            }
                            break;
                        }
                        case 10: {
                            setName(input.readString());
                            break;
                        }
                        case 18: {
                            com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder subBuilder = com.google.protobuf.DescriptorProtos.FieldDescriptorProto.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addField(subBuilder.buildPartial());
                            break;
                        }
                        case 26: {
                            com.google.protobuf.DescriptorProtos.DescriptorProto.Builder subBuilder = com.google.protobuf.DescriptorProtos.DescriptorProto.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addNestedType(subBuilder.buildPartial());
                            break;
                        }
                        case 34: {
                            com.google.protobuf.DescriptorProtos.EnumDescriptorProto.Builder subBuilder = com.google.protobuf.DescriptorProtos.EnumDescriptorProto.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addEnumType(subBuilder.buildPartial());
                            break;
                        }
                        case 42: {
                            com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.Builder subBuilder = com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addExtensionRange(subBuilder.buildPartial());
                            break;
                        }
                        case 50: {
                            com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder subBuilder = com.google.protobuf.DescriptorProtos.FieldDescriptorProto.newBuilder();
                            input.readMessage(subBuilder, extensionRegistry);
                            addExtension(subBuilder.buildPartial());
                            break;
                        }
                        case 58: {
                            com.google.protobuf.DescriptorProtos.MessageOptions.Builder subBuilder = com.google.protobuf.DescriptorProtos.MessageOptions.newBuilder();
                            if (hasOptions()) {
                                subBuilder.mergeFrom(getOptions());
                            }
                            input.readMessage(subBuilder, extensionRegistry);
                            setOptions(subBuilder.buildPartial());
                            break;
                        }
                    }
                }
            }


            // optional string name = 1;
            public boolean hasName() {
                return result.hasName();
            }

            public java.lang.String getName() {
                return result.getName();
            }

            public Builder setName(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.hasName = true;
                result.name_ = value;
                return this;
            }

            public Builder clearName() {
                result.hasName = false;
                result.name_ = getDefaultInstance().getName();
                return this;
            }

            // repeated .google.protobuf.FieldDescriptorProto field = 2;
            public java.util.List getFieldList() {
                return java.util.Collections.unmodifiableList(result.field_);
            }

            public int getFieldCount() {
                return result.getFieldCount();
            }

            public com.google.protobuf.DescriptorProtos.FieldDescriptorProto getField(int index) {
                return result.getField(index);
            }

            public Builder setField(int index, com.google.protobuf.DescriptorProtos.FieldDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.field_.set(index, value);
                return this;
            }

            public Builder setField(int index, com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder builderForValue) {
                result.field_.set(index, builderForValue.build());
                return this;
            }

            public Builder addField(com.google.protobuf.DescriptorProtos.FieldDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.field_.isEmpty()) {
                    result.field_ = new java.util.ArrayList();
                }
                result.field_.add(value);
                return this;
            }

            public Builder addField(com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder builderForValue) {
                if (result.field_.isEmpty()) {
                    result.field_ = new java.util.ArrayList();
                }
                result.field_.add(builderForValue.build());
                return this;
            }

            public Builder addAllField(
                    java.lang.Iterable values) {
                if (result.field_.isEmpty()) {
                    result.field_ = new java.util.ArrayList();
                }
                super.addAll(values, result.field_);
                return this;
            }

            public Builder clearField() {
                result.field_ = java.util.Collections.emptyList();
                return this;
            }

            // repeated .google.protobuf.FieldDescriptorProto extension = 6;
            public java.util.List getExtensionList() {
                return java.util.Collections.unmodifiableList(result.extension_);
            }

            public int getExtensionCount() {
                return result.getExtensionCount();
            }

            public com.google.protobuf.DescriptorProtos.FieldDescriptorProto getExtension(int index) {
                return result.getExtension(index);
            }

            public Builder setExtension(int index, com.google.protobuf.DescriptorProtos.FieldDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.extension_.set(index, value);
                return this;
            }

            public Builder setExtension(int index, com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder builderForValue) {
                result.extension_.set(index, builderForValue.build());
                return this;
            }

            public Builder addExtension(com.google.protobuf.DescriptorProtos.FieldDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.extension_.isEmpty()) {
                    result.extension_ = new java.util.ArrayList();
                }
                result.extension_.add(value);
                return this;
            }

            public Builder addExtension(com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Builder builderForValue) {
                if (result.extension_.isEmpty()) {
                    result.extension_ = new java.util.ArrayList();
                }
                result.extension_.add(builderForValue.build());
                return this;
            }

            public Builder addAllExtension(
                    java.lang.Iterable values) {
                if (result.extension_.isEmpty()) {
                    result.extension_ = new java.util.ArrayList();
                }
                super.addAll(values, result.extension_);
                return this;
            }

            public Builder clearExtension() {
                result.extension_ = java.util.Collections.emptyList();
                return this;
            }

            // repeated .google.protobuf.DescriptorProto nested_type = 3;
            public java.util.List getNestedTypeList() {
                return java.util.Collections.unmodifiableList(result.nestedType_);
            }

            public int getNestedTypeCount() {
                return result.getNestedTypeCount();
            }

            public com.google.protobuf.DescriptorProtos.DescriptorProto getNestedType(int index) {
                return result.getNestedType(index);
            }

            public Builder setNestedType(int index, com.google.protobuf.DescriptorProtos.DescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.nestedType_.set(index, value);
                return this;
            }

            public Builder setNestedType(int index, com.google.protobuf.DescriptorProtos.DescriptorProto.Builder builderForValue) {
                result.nestedType_.set(index, builderForValue.build());
                return this;
            }

            public Builder addNestedType(com.google.protobuf.DescriptorProtos.DescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.nestedType_.isEmpty()) {
                    result.nestedType_ = new java.util.ArrayList();
                }
                result.nestedType_.add(value);
                return this;
            }

            public Builder addNestedType(com.google.protobuf.DescriptorProtos.DescriptorProto.Builder builderForValue) {
                if (result.nestedType_.isEmpty()) {
                    result.nestedType_ = new java.util.ArrayList();
                }
                result.nestedType_.add(builderForValue.build());
                return this;
            }

            public Builder addAllNestedType(
                    java.lang.Iterable values) {
                if (result.nestedType_.isEmpty()) {
                    result.nestedType_ = new java.util.ArrayList();
                }
                super.addAll(values, result.nestedType_);
                return this;
            }

            public Builder clearNestedType() {
                result.nestedType_ = java.util.Collections.emptyList();
                return this;
            }

            // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
            public java.util.List getEnumTypeList() {
                return java.util.Collections.unmodifiableList(result.enumType_);
            }

            public int getEnumTypeCount() {
                return result.getEnumTypeCount();
            }

            public com.google.protobuf.DescriptorProtos.EnumDescriptorProto getEnumType(int index) {
                return result.getEnumType(index);
            }

            public Builder setEnumType(int index, com.google.protobuf.DescriptorProtos.EnumDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.enumType_.set(index, value);
                return this;
            }

            public Builder setEnumType(int index, com.google.protobuf.DescriptorProtos.EnumDescriptorProto.Builder builderForValue) {
                result.enumType_.set(index, builderForValue.build());
                return this;
            }

            public Builder addEnumType(com.google.protobuf.DescriptorProtos.EnumDescriptorProto value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.enumType_.isEmpty()) {
                    result.enumType_ = new java.util.ArrayList();
                }
                result.enumType_.add(value);
                return this;
            }

            public Builder addEnumType(com.google.protobuf.DescriptorProtos.EnumDescriptorProto.Builder builderForValue) {
                if (result.enumType_.isEmpty()) {
                    result.enumType_ = new java.util.ArrayList();
                }
                result.enumType_.add(builderForValue.build());
                return this;
            }

            public Builder addAllEnumType(
                    java.lang.Iterable values) {
                if (result.enumType_.isEmpty()) {
                    result.enumType_ = new java.util.ArrayList();
                }
                super.addAll(values, result.enumType_);
                return this;
            }

            public Builder clearEnumType() {
                result.enumType_ = java.util.Collections.emptyList();
                return this;
            }

            // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
            public java.util.List getExtensionRangeList() {
                return java.util.Collections.unmodifiableList(result.extensionRange_);
            }

            public int getExtensionRangeCount() {
                return result.getExtensionRangeCount();
            }

            public com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange getExtensionRange(int index) {
                return result.getExtensionRange(index);
            }

            public Builder setExtensionRange(int index, com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.extensionRange_.set(index, value);
                return this;
            }

            public Builder setExtensionRange(int index, com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.Builder builderForValue) {
                result.extensionRange_.set(index, builderForValue.build());
                return this;
            }

            public Builder addExtensionRange(com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                if (result.extensionRange_.isEmpty()) {
                    result.extensionRange_ = new java.util.ArrayList();
                }
                result.extensionRange_.add(value);
                return this;
            }

            public Builder addExtensionRange(com.google.protobuf.DescriptorProtos.DescriptorProto.ExtensionRange.Builder builderForValue) {
                if (result.extensionRange_.isEmpty()) {
                    result.extensionRange_ = new java.util.ArrayList();
                }
                result.extensionRange_.add(builderForValue.build());
                return this;
            }

            public Builder addAllExtensionRange(
                    java.lang.Iterable values) {
                if (result.extensionRange_.isEmpty()) {
                    result.extensionRange_ = new java.util.ArrayList();
                }
                super.addAll(values, result.extensionRange_);
                return this;
            }

            public Builder clearExtensionRange() {
                result.extensionRange_ = java.util.Collections.emptyList();
                return this;
            }

            // optional .google.protobuf.MessageOptions options = 7;
            public boolean hasOptions() {
                return result.hasOptions();
            }

            public com.google.protobuf.DescriptorProtos.MessageOptions getOptions() {
                return result.getOptions();
            }

            public Builder setOptions(com.google.protobuf.DescriptorProtos.MessageOptions value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                result.hasOptions = true;
                result.options_ = value;
                return this;
            }

            public Builder setOptions(com.google.protobuf.DescriptorProtos.MessageOptions.Builder builderForValue) {
                result.hasOptions = true;
                result.options_ = builderForValue.build();
                return this;
            }

            public Builder mergeOptions(com.google.protobuf.DescriptorProtos.MessageOptions value) {
                if (result.hasOptions() &&
                        result.options_ != com.google.protobuf.DescriptorProtos.MessageOptions.getDefaultInstance()) {
                    result.options_ =
                            com.google.protobuf.DescriptorProtos.MessageOptions.newBuilder(result.options_).mergeFrom(value).buildPartial();
                } else {
                    result.options_ = value;
                }
                result.hasOptions = true;
                return this;
            }

            public Builder clearOptions() {
                result.hasOptions = false;
                result.options_ = com.google.protobuf.DescriptorProtos.MessageOptions.getDefaultInstance();
                return this;
            }

            // @@protoc_insertion_point(builder_scope:google.protobuf.DescriptorProto)
        }

        // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto)
    }

    public static final class FieldDescriptorProto extends
            com.google.protobuf.GeneratedMessage {
        // optional string name = 1;
        public static final int NAME_FIELD_NUMBER = 1;
        // optional int32 number = 3;
        public static final int NUMBER_FIELD_NUMBER = 3;
        // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
        public static final int LABEL_FIELD_NUMBER = 4;
        // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
        public static final int TYPE_FIELD_NUMBER = 5;
        // optional string type_name = 6;
        public static final int TYPE_NAME_FIELD_NUMBER = 6;
        // optional string extendee = 2;
        public static final int EXTENDEE_FIELD_NUMBER = 2;
        // optional string default_value = 7;
        public static final int DEFAULT_VALUE_FIELD_NUMBER = 7;
        // optional .google.protobuf.FieldOptions options = 8;
        public static final int OPTIONS_FIELD_NUMBER = 8;
        private static final FieldDescriptorProto defaultInstance;

        static {
            defaultInstance = new FieldDescriptorProto(true);
            com.google.protobuf.DescriptorProtos.internalForceInit();
            defaultInstance.initFields();
        }

        private boolean hasName;
        private java.lang.String name_ = "";
        private boolean hasNumber;
        private int number_ = 0;
        private boolean hasLabel;
        private com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Label label_;
        private boolean hasType;
        private com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Type type_;
        private boolean hasTypeName;
        private java.lang.String typeName_ = "";
        private boolean hasExtendee;
        private java.lang.String extendee_ = "";
        private boolean hasDefaultValue;
        private java.lang.String defaultValue_ = "";
        private boolean hasOptions;
        private com.google.protobuf.DescriptorProtos.FieldOptions options_;
        private int memoizedSerializedSize = -1;

        // Use FieldDescriptorProto.newBuilder() to construct.
        private FieldDescriptorProto() {
            initFields();
        }

        private FieldDescriptorProto(boolean noInit) {
        }

        public static FieldDescriptorProto getDefaultInstance() {
            return defaultInstance;
        }

        public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
            return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_FieldDescriptorProto_descriptor;
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseFrom(
                com.google.protobuf.ByteString data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseFrom(
                com.google.protobuf.ByteString data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseFrom(byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseFrom(
                byte[] data,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseFrom(java.io.InputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseDelimitedFrom(
                java.io.InputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
                return builder.buildParsed();
            } else {
                return null;
            }
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseFrom(
                com.google.protobuf.CodedInputStream input)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
        }

        public static com.google.protobuf.DescriptorProtos.FieldDescriptorProto parseFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                    .buildParsed();
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

        public static Builder newBuilder(com.google.protobuf.DescriptorProtos.FieldDescriptorProto prototype) {
            return newBuilder().mergeFrom(prototype);
        }

        public FieldDescriptorProto getDefaultInstanceForType() {
            return defaultInstance;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
            return com.google.protobuf.DescriptorProtos.internal_static_google_protobuf_FieldDescriptorProto_fieldAccessorTable;
        }

        public boolean hasName() {
            return hasName;
        }

        public java.lang.String getName() {
            return name_;
        }

        public boolean hasNumber() {
            return hasNumber;
        }

        public int getNumber() {
            return number_;
        }

        public boolean hasLabel() {
            return hasLabel;
        }

        public com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Label getLabel() {
            return label_;
        }

        public boolean hasType() {
            return hasType;
        }

        public com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Type getType() {
            return type_;
        }

        public boolean hasTypeName() {
            return hasTypeName;
        }

        public java.lang.String getTypeName() {
            return typeName_;
        }

        public boolean hasExtendee() {
            return hasExtendee;
        }

        public java.lang.String getExtendee() {
            return extendee_;
        }

        public boolean hasDefaultValue() {
            return hasDefaultValue;
        }

        public java.lang.String getDefaultValue() {
            return defaultValue_;
        }

        public boolean hasOptions() {
            return hasOptions;
        }

        public com.google.protobuf.DescriptorProtos.FieldOptions getOptions() {
            return options_;
        }

        private void initFields() {
            label_ = com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Label.LABEL_OPTIONAL;
            type_ = com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Type.TYPE_DOUBLE;
            options_ = com.google.protobuf.DescriptorProtos.FieldOptions.getDefaultInstance();
        }

        public final boolean isInitialized() {
            if (hasOptions()) {
                if (!getOptions().isInitialized()) return false;
            }
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                throws java.io.IOException {
            getSerializedSize();
            if (hasName()) {
                output.writeString(1, getName());
            }
            if (hasExtendee()) {
                output.writeString(2, getExtendee());
            }
            if (hasNumber()) {
                output.writeInt32(3, getNumber());
            }
            if (hasLabel()) {
                output.writeEnum(4, getLabel().getNumber());
            }
            if (hasType()) {
                output.writeEnum(5, getType().getNumber());
            }
            if (hasTypeName()) {
                output.writeString(6, getTypeName());
            }
            if (hasDefaultValue()) {
                output.writeString(7, getDefaultValue());
            }
            if (hasOptions()) {
                output.writeMessage(8, getOptions());
            }
            getUnknownFields().writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSerializedSize;
            if (size != -1) return size;

            size = 0;
            if (hasName()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(1, getName());
            }
            if (hasExtendee()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(2, getExtendee());
            }
            if (hasNumber()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeInt32Size(3, getNumber());
            }
            if (hasLabel()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeEnumSize(4, getLabel().getNumber());
            }
            if (hasType()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeEnumSize(5, getType().getNumber());
            }
            if (hasTypeName()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(6, getTypeName());
            }
            if (hasDefaultValue()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeStringSize(7, getDefaultValue());
            }
            if (hasOptions()) {
                size += com.google.protobuf.CodedOutputStream
                        .computeMessageSize(8, getOptions());
            }
            size += getUnknownFields().getSerializedSize();
            memoizedSerializedSize = size;
            return size;
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public Builder toBuilder() {
            return newBuilder(this);
        }

        public enum Type
                implements com.google.protobuf.ProtocolMessageEnum {
            TYPE_DOUBLE(0, 1),
            TYPE_FLOAT(1, 2),
            TYPE_INT64(2, 3),
            TYPE_UINT64(3, 4),
            TYPE_INT32(4, 5),
            TYPE_FIXED64(5, 6),
            TYPE_FIXED32(6, 7),
            TYPE_BOOL(7, 8),
            TYPE_STRING(8, 9),
            TYPE_GROUP(9, 10),
            TYPE_MESSAGE(10, 11),
            TYPE_BYTES(11, 12),
            TYPE_UINT32(12, 13),
            TYPE_ENUM(13, 14),
            TYPE_SFIXED32(14, 15),
            TYPE_SFIXED64(15, 16),
            TYPE_SINT32(16, 17),
            TYPE_SINT64(17, 18),
            ;


            private static final Type[] VALUES = {
                    TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT64, TYPE_UINT64, TYPE_INT32, TYPE_FIXED64, TYPE_FIXED32, TYPE_BOOL, TYPE_STRING, TYPE_GROUP, TYPE_MESSAGE, TYPE_BYTES, TYPE_UINT32, TYPE_ENUM, TYPE_SFIXED32, TYPE_SFIXED64, TYPE_SINT32, TYPE_SINT64,
            };
            private static com.google.protobuf.Internal.EnumLiteMap
                    internalValueMap =
                    new com.google.protobuf.Internal.EnumLiteMap() {
                        public Type findValueByNumber(int number) {
                            return Type.valueOf(number)
                                    ;
                        }
                    };

            static {
                com.google.protobuf.DescriptorProtos.getDescriptor();
            }

            private final int index;
            private final int value;

            private Type(int index, int value) {
                this.index = index;
                this.value = value;
            }

            public static Type valueOf(int value) {
                switch (value) {
                    case 1:
                        return TYPE_DOUBLE;
                    case 2:
                        return TYPE_FLOAT;
                    case 3:
                        return TYPE_INT64;
                    case 4:
                        return TYPE_UINT64;
                    case 5:
                        return TYPE_INT32;
                    case 6:
                        return TYPE_FIXED64;
                    case 7:
                        return TYPE_FIXED32;
                    case 8:
                        return TYPE_BOOL;
                    case 9:
                        return TYPE_STRING;
                    case 10:
                        return TYPE_GROUP;
                    case 11:
                        return TYPE_MESSAGE;
                    case 12:
                        return TYPE_BYTES;
                    case 13:
                        return TYPE_UINT32;
                    case 14:
                        return TYPE_ENUM;
                    case 15:
                        return TYPE_SFIXED32;
                    case 16:
                        return TYPE_SFIXED64;
                    case 17:
                        return TYPE_SINT32;
                    case 18:
                        return TYPE_SINT64;
                    default:
                        return null;
                }
            }

            public static com.google.protobuf.Internal.EnumLiteMap
            internalGetValueMap() {
                return internalValueMap;
            }

            public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
                return com.google.protobuf.DescriptorProtos.FieldDescriptorProto.getDescriptor().getEnumTypes().get(0);
            }

            public static Type valueOf(
                    com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
                if (desc.getType() != getDescriptor()) {
                    throw new java.lang.IllegalArgumentException(
                            "EnumValueDescriptor is not for this type.");
                }
                return VALUES[desc.getIndex()];
            }

            public final int getNumber() {
                return value;
            }

            public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
                return getDescriptor().getValues().get(index);
            }

            public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
                return getDescriptor();
            }

            // @@protoc_insertion_point(enum_scope:google.protobuf.FieldDescriptorProto.Type)
        }

        public enum Label
                implements com.google.protobuf.ProtocolMessageEnum {
            LABEL_OPTIONAL(0, 1),
            LABEL_REQUIRED(1, 2),
            LABEL_REPEATED(2, 3),
            ;


            private static final Label[] VALUES = {
                    LABEL_OPTIONAL, LABEL_REQUIRED, LABEL_REPEATED,
            };
            private static com.google.protobuf.Internal.EnumLiteMap




© 2015 - 2025 Weber Informatics LLC | Privacy Policy